A complete robotics project featuring an autonomous grid-navigating robot powered by ESP32 with Bluetooth Low Energy (BLE) control and a modern React-based web interface.
KART-E is a sophisticated mobile robotics platform that combines embedded systems programming with a user-friendly web control interface. The robot autonomously navigates grid-based environments using encoder feedback and PID control, while communicating with a web application via Bluetooth Low Energy.
- ESP32-based Robot Controller: Dual motor control with encoder feedback and PID tuning
- Grid Navigation: Autonomous pathfinding and position tracking on grid layouts
- BLE Communication: Real-time wireless control and telemetry
- Modern Web Dashboard: React + Vite + Tailwind CSS interface for monitoring and control
- Calibration Tools: HTML-based calibration page for motor tuning
- Emergency Controls: Safety systems and manual override capabilities
- 3D Models: Complete 3D design files for 3D printing and fabrication
KART-E/
โโโ kart-e webapp/ # React web control interface
โ โโโ kart-e/
โ โโโ src/ # React components and styling
โ โโโ package.json # Node dependencies
โ โโโ vite.config.js # Vite build configuration
โ โโโ tailwind.config.js # Tailwind CSS config
โ โโโ postcss.config.js # PostCSS configuration
โ
โโโ esp32 code.ino # Main ESP32 firmware
โโโ calibration page with remote tuning.html # Motor calibration interface
โ
โโโ 3D Models/
โ โโโ main body with basket holder.stl
โ โโโ sc07 grpE site model.obj
โ
โโโ Documentation/
โ โโโ A0 Poster.pdf
โ โโโ Design process and iteration testing.pdf
โ โโโ SC07 Group E all in one.pdf
โ โโโ FinalEx_SC07_TeamE_AIReflection.pdf
โ โโโ critical images.pdf
โ
โโโ Media/
โโโ sc07 grpE Kart-E video.mp4
- Microcontroller: ESP32-WROOM
- Motor Driver: Cytron MDD20A
- Motors: 2x DC Motors with rotary encoders
- Sensors:
- HC-SR04 Ultrasonic Distance Sensor
- Rotary encoders (motor feedback)
- Communication: Bluetooth Low Energy (BLE) capable device
- Power: Battery supply for motors and ESP32
- Install Arduino IDE or PlatformIO
- Install ESP32 board support
- Install required libraries:
- BLEDevice
- BLEServer
- BLEUtils
- BLE2902
- Upload
esp32 code.inoto your ESP32 board
-
Navigate to the webapp directory:
cd "kart-e webapp/kart-e"
-
Install dependencies:
npm install
-
Start the development server:
npm run dev
-
Build for production:
npm run build
- Open
calibration page with remote tuning.htmlin a web browser - Connect to the robot via BLE
- Adjust PID parameters in real-time
- Monitor encoder feedback and motor response
- Monitor robot position and status
- Send navigation commands (X, Y coordinates)
- Adjust motor speeds and PID parameters
- Emergency stop functionality
- Real-time telemetry display
- Fine-tune motor speeds for precise grid navigation
- Test motor responses individually
- Calibrate encoder readings
- Adjust acceleration profiles
- Language: Arduino C/C++
- Protocol: BLE (Bluetooth Low Energy)
- Control: PID control loop for motor regulation
- Feedback: Rotary encoders for position tracking
- Framework: React 19
- Build Tool: Vite
- Styling: Tailwind CSS
- Testing: Jest + React Testing Library
- UI Components: Lucide React Icons
The robot uses a dual-loop control system:
- Motor Level: PID control for individual motor speed
- Navigation Level: Autonomous grid-based pathfinding
- Communication: BLE wireless link for command/telemetry
- Project Poster: A0 format poster with project overview
- Design Process: Detailed iteration testing and refinement documentation
- Complete Overview: Comprehensive project summary document
- AI Reflection: Insights on AI usage in the project development
- Critical Images: Key design and implementation visuals
See sc07 grpE Kart-E video.mp4 for a demonstration of the robot in action.
4fafc201-1fb5-459e-8fcc-c5c9c331914b
beb5483e-36e1-4688-b7f5-ea07361b26a8
- Navigation: Send target coordinates (X, Y)
- Motor Control: Individual motor speed commands
- Calibration: Real-time PID parameter adjustments
- Emergency Stop: Immediate motor halt
- Motor speeds and directions
- Encoder position feedback
- Distance sensor readings
- Battery voltage
- System status
Contributions are welcome! Please see CONTRIBUTING.md for guidelines.
- Enhanced autonomous navigation algorithms
- Obstacle avoidance and SLAM implementation
- Machine learning for path optimization
- Mobile app for iOS/Android
- Advanced sensor integration (IMU, LiDAR)
This project is open source and available under the MIT License.
Developed as part of SC07 Group E project.
- Review the design documentation for implementation details
- Check calibration page for motor tuning guidance
- Consult Arduino IDE documentation for firmware modifications
- See React documentation for web interface customization
- Autonomous mapping and navigation
- Multiple robot coordination
- Advanced sensor suite (IMU, compass)
- Cloud-based monitoring and logging
- Machine learning path optimization
- Mobile app interface
- Real-time video stream integration
Status: Active Development | Last Updated: March 2026