đ¤ Sheldon Rover (ESP32)
"Bazinga!" - A personality-driven, web-controlled rover powered by ESP32.
The Sheldon Rover is an interactive robot platform that combines autonomous exploration with manual web control. It features "Soft Start" motor logic for battery safety, a dual-mode control system (Auto/Manual), and a personality engine that triggers audio events.
đ Features
- đšī¸ Dual Control Modes:
- Drive: Switch between Smart Auto (Camera Tracking) and Safe Manual (Joystick Only).
- Voice: Switch between Auto-Banter (Reacts to people) and Manual Triggers.
- đ Audio Core:
- Plays "Bazinga" and other clips stored in Flash Memory (LittleFS).
- Smart Debouncing (No looping audio).
- đ Soft-Start Physics:
- Motors ramp up gently to prevent brownouts.
- Coast delays protect the H-Bridge and battery.
- đģ Clean Web UI:
- A modern, dark-themed control panel hosted directly on the robot.
đ Project Structure
âââ đ data/ # Web UI (HTML) & Audio Files (.mp3) âââ đ docs/ # Documentation & Guides â âââ API_REFERENCE.md # API for App Developers â âââ WIRING.md # Wiring Digram â âââ WALKTHROUGH.md # Features Overview âââ đ examples/ # Hardware Diagnostic Scripts âââ đ src/ # Main Firmware (C++) âââ platformio.ini # Build Configuration đ ī¸ Quick Start
1. Hardware Setup
Connect your ESP32 + L298N Driver using the verified pin map:
- Left Motor: Pins 4 & 5
- Right Motor: Pins 6 & 7
- (See docs/WIRING.md for full guide)
2. Flash Firmware
Using PlatformIO:
# 1. Upload the File System (Web UI + Audio) pio run --target uploadfs # 2. Upload the Firmware pio run --target upload 3. Connect
- Connect to Wi-Fi:
SheldonRover(Password:bazinga123) - Open Browser:
http://192.168.4.1
đĄ API Endpoints
| Method | Endpoint | Description |
|---|---|---|
POST | /move | Drive Manually (x, y) |
POST | /event | Trigger Audio ({"event": "bazinga"}) |
POST | /mode | Set Modes ({"drive": "AUTO"}) |
GET | /status | Check Mode & Health |
(See docs/API_REFERENCE.md for full details)
đ Hardware Notice
If you experience brownouts (ESP32 restarting when motors move):
- Ensure you are NOT using a standard 9V battery (too weak).
- Use a 2S LiPo (7.4V) or high-current AA pack.
- Check the "Soft Start" logic in
src/main.cpp.
Verified Stable Build: Jan 2026
Log in or sign up for Devpost to join the conversation.