Skip to content

openpawrobot/openpaw-ballbot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

52 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

OpenPaw BallBot Header

MIT License Status ESP32 PRs Welcome Made with love

FreeRTOS Control Connectivity Mobile


๐Ÿค– A low-cost, modular, and extensible open-source spherical robotics platform
combining modern control systems, wireless connectivity, sensor fusion, and future AI capabilities.


Vision โ€ข Features โ€ข Architecture โ€ข Structure โ€ข Docs โ€ข Status โ€ข Contributing


๐Ÿš€ Project Vision

OpenPaw BallBot is an open-source, ESP32-powered, self-balancing spherical robot designed as a complete, extensible research and learning platform.

The goal is to create an accessible robotics platform that allows developers, students, and researchers to explore:

Domain Focus Areas
๐Ÿค– Robotics Self-balancing, motion control, sensor fusion
๐Ÿ’ป Embedded ESP32 architecture, real-time systems, RTOS
๐Ÿ“ก Connectivity WiFi, Bluetooth, OTA, remote monitoring
๐Ÿ—บ๏ธ Navigation Autonomous movement, localization, SLAM
๐Ÿง  AI Neural networks, reinforcement learning, vision

โœจ Planned Features

๐ŸŽฏ Core Robotics
โœ… Self-balancing control system (PID)
โœ… ESP32 dual-core 240MHz architecture
โœ… Real-time sensor processing (FreeRTOS)
โœ… Motor control and stabilization
โœ… Wireless communication stack
๐Ÿ“ก Connectivity
โœ… WiFi control interface
โœ… Bluetooth setup and pairing
โœ… OTA (Over-the-Air) firmware updates
โœ… Remote monitoring dashboard
๐Ÿ“ฑ Mobile Experience
โœ… Cross-platform mobile application
โœ… Live telemetry dashboard
โœ… Robot configuration tools
๐Ÿ”œ Future mapping interface
๐Ÿ”ฌ Research & Development
๐Ÿ”œ Localization systems (SLAM)
๐Ÿ”œ Autonomous navigation
๐Ÿ”œ Sensor fusion algorithms (Kalman)
๐Ÿ”œ Computer vision experiments
๐Ÿ”œ AI-assisted autonomous behavior

๐Ÿ“‚ Repository Structure

openpaw-ballbot/
โ”‚
โ”œโ”€โ”€ ๐Ÿ“ฑ app/           โ†’ Mobile application (React Native / Flutter)
โ”œโ”€โ”€ ๐Ÿ’ป firmware/      โ†’ ESP32 firmware (C++ / FreeRTOS)
โ”œโ”€โ”€ โš™๏ธ  hardware/      โ†’ Hardware documentation & BOM
โ”œโ”€โ”€ ๐Ÿ”Œ pcba/          โ†’ PCB schematic & layout files (KiCad)
โ”œโ”€โ”€ ๐Ÿ”ฉ cad/           โ†’ Mechanical CAD models (STEP / STL)
โ”œโ”€โ”€ ๐ŸŽฅ media/         โ†’ Images, renders, demo videos
โ”œโ”€โ”€ ๐Ÿ”ฌ research/      โ†’ Research notes, papers, references
โ””โ”€โ”€ ๐Ÿ“š docs/          โ†’ Full project documentation

๐Ÿ—๏ธ High-Level Architecture

                     OpenPaw BallBot
                            โ”‚
       โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
       โ”‚                    โ”‚                     โ”‚
       โ–ผ                    โ–ผ                     โ–ผ
   Firmware            Mobile App           Documentation
  (ESP32)               (Client)             & Research
       โ”‚
       โ–ผ
  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
  โ”‚            Sensor Layer             โ”‚
  โ”‚  โ”œโ”€ IMU / Gyroscope (MPU6050)       โ”‚
  โ”‚  โ”œโ”€ Wheel Encoders                  โ”‚
  โ”‚  โ”œโ”€ Distance Sensors (ToF)          โ”‚
  โ”‚  โ””โ”€ Power Monitor (INA219)          โ”‚
  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                   โ”‚
  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
  โ”‚           Control Layer             โ”‚
  โ”‚  โ”œโ”€ PID Controller                  โ”‚
  โ”‚  โ”œโ”€ State Manager (FreeRTOS)        โ”‚
  โ”‚  โ”œโ”€ Motion Planner                  โ”‚
  โ”‚  โ””โ”€ Safety & Watchdog Systems       โ”‚
  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                   โ”‚
  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
  โ”‚        Communication Layer          โ”‚
  โ”‚  โ”œโ”€ WiFi (802.11 b/g/n)            โ”‚
  โ”‚  โ”œโ”€ Bluetooth LE (BLE 5.0)         โ”‚
  โ”‚  โ”œโ”€ REST / WebSocket APIs           โ”‚
  โ”‚  โ””โ”€ OTA Firmware Updates            โ”‚
  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿ“š Documentation

All project documentation lives inside the docs/ directory:

Document Description
roadmap.md Full project roadmap and milestones
architecture.md System architecture overview
hardware-arch.md Hardware architecture & component selection
software-arch.md Software architecture & firmware design
development-plan.md Development timeline & sprint planning
milestones.md Project milestones and deliverables

๐ŸŽฏ Current Status

๐ŸŸก Research & Development Phase

[โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘]  50%  Overall Progress

System Architecture  โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘  80%
Hardware Planning    โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘  70%
Firmware Foundation  โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘  40%
Documentation        โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘  50%
Research & Proto     โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘  40%
PCB Design           โ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘  20%
Mobile App           โ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘  10%

Active work areas:

  • ๐Ÿ” System architecture definition
  • ๐Ÿ”ง Hardware component planning
  • ๐Ÿ’ป Firmware project scaffolding
  • ๐Ÿ“ Documentation writing
  • ๐Ÿงช Research and prototyping

๐Ÿ—บ๏ธ Roadmap

Phase Title Status
Phase 1 Research & Planning ๐ŸŸก Active
Phase 2 Firmware Foundation โณ Upcoming
Phase 3 Self-Balancing MVP ๐Ÿ”ฎ Future
Phase 4 Autonomous Navigation ๐Ÿ”ฎ Future
Phase 5 AI & Computer Vision ๐Ÿ”ฎ Future

๐Ÿค Contributing

Contributions, ideas, discussions, and feedback are genuinely welcome!

Areas to contribute:

๐Ÿ”Œ Embedded Systems    โ†’ ESP32 firmware, HAL, drivers
๐Ÿ“ Control Algorithms  โ†’ PID tuning, Kalman, state machines
โšก Electronics         โ†’ PCB design, schematics, power
๐Ÿ”ฉ Mechanical Design   โ†’ CAD, 3D printing, assembly
๐Ÿ“ฑ Mobile Dev          โ†’ React Native / Flutter app
๐Ÿ“š Documentation       โ†’ Guides, tutorials, API docs
๐Ÿงช Testing             โ†’ Unit tests, HIL, CI/CD
๐Ÿ”ฌ Research            โ†’ Papers, algorithms, experiments

How to contribute:

# 1. Fork the repository
git clone https://github.com/YOUR_USERNAME/openpaw-ballbot.git

# 2. Create a feature branch
git checkout -b feature/your-amazing-feature

# 3. Make your changes and commit
git commit -m "feat: add amazing feature"

# 4. Push and open a Pull Request
git push origin feature/your-amazing-feature

๐Ÿ“œ License

This project is released under the MIT License.

MIT License โ€” Copyright (c) 2024 OpenPaw BallBot Contributors

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction...

See LICENSE for full details.


โญ Support the Project

If you find this project interesting or useful:

Action Impact
โญ Star the repository Increases visibility
๐Ÿ‘๏ธ Watch for updates Stay informed
๐Ÿด Fork and contribute Grow the project
๐Ÿ’ฌ Share feedback Improve direction
๐Ÿ› Report issues Improve quality

Together, we can build an accessible open-source robotics platform for learning, experimentation, and innovation.


Footer

About

Open-source ESP32 Self-Balancing Ball Robot | Firmware, Hardware, PCBA & Research

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors