VeRLab · Universidade Federal de Minas Gerais

A swarm robot you can print, solder, and drive in ROS.

HeRo is a small differential-drive platform for research and teaching. The body is 3D-printed, the board is open, and every robot speaks ROS 1 over Wi‑Fi — so a classroom set behaves like a real multi-robot system, not a toy.

18.72 USDparts, 2023 paper, retail
≤3 h1800 mAh, all systems on
8 IRproximity sensors, 20 cm
ROS 1rosserial over TCP

From empty table to swarm

You do not need a machine shop. Order the PCB, print the chassis, flash the ESP8266, and join the robots on a 2.4 GHz network.

1. Build

Buy the BOM, fabricate the latest board, print the body, and assemble the drivetrain. A printable tutorial walks through wheels, motors, and the e-hat.

Assembly guide →

2. Flash

The firmware runs on an ESP8266. Cover the IR ring at boot to open the web configurator and set the robot id, Wi‑Fi, and ROS master.

Firmware notes →

3. Command

Each robot appears as /hero_N. Drive with cmd_vel, read odom and the IR scan, or spawn a swarm in Gazebo or Genesis first.

ROS interface →

What is on the robot

Sensors and actuators that matter for swarm experiments, without a custom ASIC or a $400 chassis.

Wheel odometryQuadrature encoders, 288 steps/rev, onboard PID speed control.
IR proximity ringEight long-range sensors published as a LaserScan.
Optional IMUMPU6050 on I2C; off by default to save cycles.
Addressable LEDsWS2812 ring for status, IDs, and experiment cues.
Onboard chargingTP4056 path on recent PCB revisions.
Expansion busI2C, serial, and GPIO on the top hat.
Wi‑Fi + TCProsserial to the ROS master; no USB tether.
Gazebo + GenesisSame /hero_N topics. Wizard in Gazebo; GPU swarm viewer in Genesis World.
Open hardwareEAGLE schematics, STL files, and ROS packages in one repo.

Seen in the wild

HeRo 2.0 was written up on Wevolver and used for odometry, flocking, coverage, and cooperative transport experiments.