Looking for hardware files? The STL files for every printed part are in the Releases section of this repository.
RatBot is a small quadruped robot shaped like a rat. It is built on Q8bot by Yufeng (Eric) Wu. It uses the Q8bot main PCB, which the leg servos plug into directly without cables, eight DYNAMIXEL XL330-M077-T servos for the legs, an ESP-NOW link between two Seeed Studio XIAO ESP32C3 boards, and a Python control GUI on the laptop. Biomimetic double parallelogram limbs replace the Q8bot five bar legs, a head sits on a ninth servo, and a passive WIP tail is mounted at the back.
| Size | 335 mm from nose to tail tip (188 mm without the tail), 80 mm wide, 83 mm tall standing |
| Mass | 297 g as modelled, of which 46 g is printed PA12 |
| Servos | 9 × DYNAMIXEL XL330-M077-T: two per leg and one for the head |
| Legs | Double parallelogram limbs with six 692ZZ bearings each |
| Tail | Passive and printed in one piece, designed to clear the floor while standing and to touch down once the robot rears past about 20° |
| Electronics | Q8bot main PCB with a XIAO ESP32C3, two 14500 Li-ion cells |
The RatBot parts list gives the print quantities for all 18 STL files and the off-the-shelf parts, read from the Fusion design the STLs were exported from.
| Folder | Contents |
|---|---|
firmware/ratbot_robot |
Robot firmware: receives joint targets over ESP-NOW and drives the leg servos |
firmware/ratbot_controller |
Firmware for the USB dongle that relays commands from the laptop |
firmware/ratbot_motor_config |
Initial servo setup, and tools for replacing a single servo |
firmware/ratbot_servo_diagnostics |
Read-only servo bus diagnostics and bounded tests of a single servo |
python-tools |
The control GUI: gaits on keyboard or joystick, sitting and rearing poses, pose previews |
docs/instructions |
Sourcing, assembly and software setup guides from Q8bot, plus the RatBot parts list |
- Print the parts from the latest release and get the hardware in the parts list.
- Configure new servos (ID, baud rate, drive mode) with
firmware/ratbot_motor_config, following steps 10 to 13 of Robot Assembly. - Flash
firmware/ratbot_robotto the robot andfirmware/ratbot_controllerto the dongle with PlatformIO. - Start the GUI:
cd python-tools
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
cd ratbot
python operate.pySoftware Setup covers pairing and troubleshooting. The python-tools README describes the sitting (P) and rearing (U) poses, fault recovery (X) and the tests that run without hardware.
The control GUI. Its previews still draw the Q8bot legs, see Status.
RatBot is derived from Q8bot by Yufeng (Eric) Wu. The firmware, python-tools and setup guides started from Q8bot at commit f86fefc. The first commit of this repository holds those files unchanged, so the history after it shows everything RatBot changed. If you build on this work, please also cite the Q8bot papers: design, IROS 2025 and control and data acquisition, UR 2025.
Like Q8bot, this repository is released under the MIT License.

