Skip to content

Awwwwwwman/kart-e

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

2 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

KART-E: ESP32 Grid Navigator Robot

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.

๐Ÿ“‹ Project Overview

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.

Key Features

  • 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

๐Ÿ“ Project Structure

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

๐Ÿ›  Hardware Requirements

  • 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

๐Ÿš€ Getting Started

ESP32 Firmware Setup

  1. Install Arduino IDE or PlatformIO
  2. Install ESP32 board support
  3. Install required libraries:
    • BLEDevice
    • BLEServer
    • BLEUtils
    • BLE2902
  4. Upload esp32 code.ino to your ESP32 board

Web Interface Setup

  1. Navigate to the webapp directory:

    cd "kart-e webapp/kart-e"
  2. Install dependencies:

    npm install
  3. Start the development server:

    npm run dev
  4. Build for production:

    npm run build

Motor Calibration

  1. Open calibration page with remote tuning.html in a web browser
  2. Connect to the robot via BLE
  3. Adjust PID parameters in real-time
  4. Monitor encoder feedback and motor response

๐ŸŽฎ Usage

Web Dashboard

  • Monitor robot position and status
  • Send navigation commands (X, Y coordinates)
  • Adjust motor speeds and PID parameters
  • Emergency stop functionality
  • Real-time telemetry display

Calibration

  • Fine-tune motor speeds for precise grid navigation
  • Test motor responses individually
  • Calibrate encoder readings
  • Adjust acceleration profiles

๐Ÿ”ง Key Technologies

Embedded Systems

  • Language: Arduino C/C++
  • Protocol: BLE (Bluetooth Low Energy)
  • Control: PID control loop for motor regulation
  • Feedback: Rotary encoders for position tracking

Web Application

  • Framework: React 19
  • Build Tool: Vite
  • Styling: Tailwind CSS
  • Testing: Jest + React Testing Library
  • UI Components: Lucide React Icons

๐Ÿ“Š Control System Architecture

The robot uses a dual-loop control system:

  1. Motor Level: PID control for individual motor speed
  2. Navigation Level: Autonomous grid-based pathfinding
  3. Communication: BLE wireless link for command/telemetry

๐Ÿ“ Design Documentation

  • 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

๐ŸŽฅ Media

See sc07 grpE Kart-E video.mp4 for a demonstration of the robot in action.

๐Ÿ”Œ BLE Communication Protocol

Service UUID

4fafc201-1fb5-459e-8fcc-c5c9c331914b

Characteristic UUID

beb5483e-36e1-4688-b7f5-ea07361b26a8

Command Format

  • Navigation: Send target coordinates (X, Y)
  • Motor Control: Individual motor speed commands
  • Calibration: Real-time PID parameter adjustments
  • Emergency Stop: Immediate motor halt

Telemetry

  • Motor speeds and directions
  • Encoder position feedback
  • Distance sensor readings
  • Battery voltage
  • System status

๐Ÿค Contributing

Contributions are welcome! Please see CONTRIBUTING.md for guidelines.

Areas for Improvement

  • Enhanced autonomous navigation algorithms
  • Obstacle avoidance and SLAM implementation
  • Machine learning for path optimization
  • Mobile app for iOS/Android
  • Advanced sensor integration (IMU, LiDAR)

๐Ÿ“œ License

This project is open source and available under the MIT License.

๐Ÿ‘ฅ Team

Developed as part of SC07 Group E project.

๐Ÿ“ž Getting Help

  • 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

๐ŸŽฏ Future Enhancements

  • 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

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors