Firmware¶
The robot runs C firmware on its ESP32-P4 with a small Python interpreter (pocketpy) on top. Your program is the Python; the firmware owns everything with a deadline: the motor loop, sensor fusion, the camera, the console and the Wi-Fi link.
What the firmware does for you¶
- Keeps the robot safe: the 500 ms motion deadman, the 3.2 V battery cut-off, motor fault handling.
- Fuses the optical-flow sensor and the IMU into
position(),velocity()andheading(). - Runs the camera and the vision helpers (
apriltags(),blobs(),edges(),faces()). - Talks to your computer through the dongle, over Wi-Fi. Nothing plugs into the robot except its charger.
Updating¶
Releases are on the bugbot-firmware repository, one binary for the robot and one for the dongle per version.
Inside¶
The repository has the drivers for every device, the control loop, the bugbot module that the Python layer calls, the dongle firmware, and the notes from the hardware design that the firmware has to honour.