Skip to content

Latest commit

 

History

10 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Botix

Open‑source educational mobile robot project


Read this in Russian: README.ru.md



Overview

Designed for school robotics clubs, Olympiad preparation (All-Russian Olympiad, Moscow Olympiad, Russian Robotics Olympiad), and fast prototyping at hackathons. All parts are 3D‑printable, electronics are cheap and widely available.

  • Two drive motors with encoders (JGA25 12V, 77-170 RPM).
  • Optional two‑degree‑of‑freedom manipulator (arm + gripper).
  • Chassis prints in ~5 hours on a standard FDM printer; flat parts, tongue‑and‑groove assembly with screws.



Variants

Basic

Advanced

For:

  • Olympiad practice (VSOSH, MOSH, RRO), learning programming, control algorithms

Features:

  • Arduino UNO + any motor shield
  • Classic competition‑ready setup
  • Simple, reliable, well‑documented

For:

  • Complex algorithms, research, hackathons

Features:

  • ESP32 as main controller (works standalone like Basic)
  • Optional botix-esp32 firmware adds:
    • Remote control & telemetry via WiFi or ESP‑NOW
    • Integration with MAVLink (QGC, ROS) or custom raw protocol
    • Persistent configuration & CLI for debugging
    • LIDAR & encoder support

more_photos, assembly_guide

more_photos, assembly_guide, firmware_docs

View printable parts table



Hardware

Electronics

Mechanics

  • All 3D models are in mcad/.
  • Main assembly: mcad/botix.fcstd.
  • Off‑the‑shelf component models are in mcad/models/ (motors, servos, sensors, boards).

docs, bill_of_materials

docs, generate_printable_files

For visual references of different robot configurations and hardware revisions, see the project gallery.



Software

botix-esp32 firmware

pybotix – host Python API (coming soon)

The modular firmware for the Advanced variant is written in C++20 and built with PlatformIO. It provides:

  • Interactive CLI for configuration and debugging
  • MAVLink and RAW protocols
  • ESP‑NOW and WiFi UDP transports
  • Persistent configuration in NVS
  • Units for motors, servos, encoders, and LIDAR

pybotix will be a Python package for the host computer (PC, Raspberry Pi). It will provide:

  • Simple and safe robot control from Python
  • Swarm support
  • High‑level primitives for navigation and behaviors
  • Eventually, block‑based code generation for education

firmware_docs

pybotix runs on the host, not on the robot. It communicates with the robot via MAVLink or RAW protocols over WiFi/ESP‑NOW.



Who Is This For?

  • School students - prepare for practical rounds of robotics Olympiads (VSOSH, MOSH, RRO). The Arduino‑based option fully matches competition regulations.
  • University students - learn mobile robotics, navigation algorithms.
  • Hackathon participants - the ESP32 variant with firmware provides a ready‑made infrastructure so you can focus on high‑level logic.
  • Teachers - quickly set up robotics clubs on a low budget.



Quick Start

  1. Read the assembly guide.
  2. Print parts from mcad/.
  3. Refer to schematics in ecad/ to assemble the electronics.
    • For Basic: write and upload your own Arduino sketch using the motor shield library.
    • For Advanced: go to botix-esp32/ and follow the firmware guide.

Before you start, make sure you have the following software installed:

Purpose Software Version
CAD (mechanics) FreeCAD 1.1.x
CAD (electronics) KiCad 10.x.x
Slicer OrcaSlicer 2.4.x
Firmware build PlatformIO 6.1.19
Scripts runtime Python 3.14.x

All tools are free and open‑source.



Contributing

Found a bug? Have an idea? Open an Issue or submit a Pull Request.

See CONTRIBUTING.md for guidelines.



Repository Structure & Licensing

Path License Description
Any Markdown file CC BY-SA 4.0 Overview, documentation
docs/ CC BY-SA 4.0 Project documentation.
docs/assets/ CC BY-SA 4.0 Images, photos, and renders used in documentation.
ecad/ CERN-OHL-S-2.0 PCB sources in KiCad.
mcad/ CERN-OHL-S-2.0 3D models in FreeCAD.
botix-esp32/ GPL-3.0-or-later Advanced ESP32 firmware source.
tools/ GPL-3.0-or-later Automation scripts.

Full texts of all licenses are provided in the respective directories.




About

Open‑source educational mobile robot with modular design, 3D‑printable parts, and ESP32 firmware

Topics

Resources

Contributing

Stars

4 stars

Watchers

1 watching

Forks

Contributors

Languages