Empowering seamless control for your robotic adventures.
Built with the tools and technologies:
Rover32 is a versatile ESP32-based robotic platform that combines real-time video streaming, remote control capabilities, and a web interface for management and analytics. It's designed for educational and experimental purposes, providing a flexible architecture for building autonomous robots and remote-controlled vehicles.
- Real-time Video Streaming: Live camera feed via WebSocket connection
- Remote Control: Control movement, steering, and special functions wirelessly
- Cross-platform Client: Flutter desktop application for Windows, macOS, and Linux
- Web Administration: Analytics dashboard and vehicle management
- OLED Display: Status information and animations on the rover
- Customizable Lighting: Headlights, taillights, and status indicators
- ESP32 Microcontroller: Core processing unit with Wi-Fi and Bluetooth connectivity
- Camera Module: OV2640 camera for video streaming
- Motors & L298N Driver: Dual H-bridge motor controller for precise movement
- SSD1306 OLED Display: 128x32 monochrome display for status information
- LED Lighting System: Programmable status and navigation lights
The Rover32 system consists of multiple integrated components:
- Written in C++ using PlatformIO/Arduino framework
- Manages camera capture, motor control, and TCP communication
- Handles WebSocket connections for both control and camera streaming
- OLED display management for status information
- Raw TCP sockets for direct communication with minimal overhead
- Camera streaming (port 8000) and control commands (port 8001)
- Binary protocol with JPEG frames for video
- Cross-platform desktop application written in Flutter/Dart
- Provides control interface with keyboard/virtual joystick support
- Displays camera feed in real-time
- Manages connection to the rover
- Built with Next.js, React, and TypeScript
- User authentication and vehicle management
- Statistics gathering and visualization
- API for integration with other services
Scan this QR code to access the complete documentation:
Or visit the online documentation for:
- Setup guides
- API references
- Hardware schematics
- Troubleshooting information
-
Clone the repository:
git clone https://github.com/yourusername/Rover32.git cd Rover32
-
Create an
.env
file from the example:cp .env.example .env
-
Edit the
.env
file with your actual configuration values:- Generate a
NEXTAUTH_SECRET
(you can useopenssl rand -base64 32
) - Add your OAuth provider credentials
- Configure other settings as needed
- Generate a
-
Install the dependencies:
npm install
-
Run the website:
next dev
or you can just use node with:
npm run dev
- Docker and Docker Compose installed on your system
- Git (to clone the repository)
-
Clone the repository:
git clone https://github.com/yourusername/Rover32.git cd Rover32
-
Create an
.env
file from the example:cp .env.example .env
-
Edit the
.env
file with your actual configuration values:- Generate a
NEXTAUTH_SECRET
(you can useopenssl rand -base64 32
) - Add your OAuth provider credentials
- Configure other settings as needed
- Generate a
-
Build and start the containers:
docker-compose up -d
-
Run database migrations:
docker-compose exec app npx prisma migrate deploy
To stop the application:
docker-compose down
To stop and remove all data (including the database):
docker-compose down -v
-
If you encounter database connection issues, ensure the Postgres container is healthy:
docker-compose ps
-
To view logs:
docker-compose logs -f app
For development without Docker, please refer to the development documentation.
- Clone the Repository:
git clone https://github.com/callmenoway/rover32.git cd rover32