Skip to content

Hardware

BugBot is three 40 x 40 mm boards stacked on 2 x 5 sockets, on a printed chassis, moving on a silicone mat.

Board Does
Motion battery, USB-C charging, the 3.3 V rail, four DRV8830 motor drivers, two servo outputs, the ToF module connector
Vision ESP32-P4 with its ESP32-C6 for Wi-Fi, OV5647 camera on a 22-pin flex, power switch, boot and reset buttons, RGB LED
Odometry PMW3360 optical-flow sensor looking at the mat and a BNO055 9-axis IMU, on a 10-way cable to Motion

See the boards in 3D Build guide

Open hardware

The schematics, bill of materials and 3D models are published in the bugbot-hardware repository, along with a circuit simulation of the whole stack that anyone can run. The PCB layout files are not published.

Sensors and what they are for

  • Optical flow measures how the mat moves under the robot: ground-truth velocity, which is what forward(distance=...) and position() use.
  • IMU gives heading from its magnetometer and gyro: what turn() and heading() use.
  • Time-of-flight gives an 8 x 8 grid of distances ahead: distance() and tof_grid().
  • Camera feeds AprilTag, blob, edge and face detection on the ESP32-P4.

The drive

Four coreless motors with eccentric weights vibrate the chassis; the pattern of vibration slides the robot across the mat in any direction. It is cheap, silent and has no wheels to jam, and it is imprecise, which is exactly why the sensors are there.