A micro-robot for ROS2 & Microblocks that can be assembled without soldering, or access to a 3D printer. An affordable, adaptable, and open-source robot, for students, makers, universities, R&D.

Parts list

Part Description Quantity
~$12 Rosmo Chassis Custom PCB Chassis for sale soon 1
~$16-$32 Motors with encoder & wheel 6v 150RPM $Bringsmart motors 2 or 4
~$5 80mm motor cables 6Pin reverse direction cables 4
~$6 - $12 ESP32-S3-C1 N16R8 Olimex open hardware, UK US, AUS or generic version 1
~$5 Hex Spacers 45mm height M3 standoff 1
~$9 1x 2A powerbank OSHW powerbank or Aliexpress Powerbank* 1

*buy batteries locally if your postage service has restrictions on Lithium.

~$45 US for 2wd, ~$61 for 4wd

Rosmo is built from modular components on the Open Robotic Platform rules

Some of the links on this page are affiliate links to help offset the costs of this project, no one is getting rich off of these. List of the above items on Aliexpress cost can be reduced, by using existing powerbank.

Schematic

Can be found here

Optional extras

Add on ROS2 Linorobot Microblocks Micropython
MPU6050 IMU Yes Yes To do
BNO055 IMU Yes To do To do
Ultrasonic - ZIO Yes Yes To do
LD19/D300 LiDAR module, Yes Never Never
TOF Adafruit or Sparkfun Yes Yes To do
OLED/Eyes - Zio To do To do To do
Line finder - ZIO To do To do To do
Servo - Zio for mini arm To do To do To do
LED - Zio To do To do To do
Mecanum wheels (48mm) & Adaptor Yes To do To do
10mm Cube standoff Yes Yes Yes
Loader attachment (closed hardware) Grabber attachment To do Yes To do
1300 MikroBUS, other sensors (closed hardware) partial partial partial


Daughter boards

Mikrobus header can break out into a add on board concept here) students or others may want to design their own breakouts.

Add on for breakouts ROS2 Linorobot Microblocks Micropython
USBC power adaptor (closed hardware) Untested Untested Untested
ESP32-S3 camera (closed hardware) Untested Untested Untested
1.3” OLED Untested Untested Untested
Pimoroni SPI or I2C sensors Untested Untested Untested

I also did a breakout in a Wemos D1 format as there are a good number of cheap sensors available in this footprint

Software Microblocks; Best if you’re just starting

Current status: Working but you have to build in Platformio to get ESP32-S3 support

Use the Pilot version from the bottom of the downloads page. Then to quickly get started download this raw UBP file and open it in the Microblocks app.

Software Linorobot; Best if you want to learn ROS2

Status: Wheels spinning, but not fully tested yet.

  • Linorobot2 Zio driver now supported.
  • Virtual machine for download Ubuntu 22.04 with ROS2/Linorobot. For use with Virtualbox
  • On a Linux host; sudo adduser $YOUR-USER vboxusers then follow this guide reboot your computer
  • Set up SSH then SSH in. User: ros2 Pass: ros
  • cd /linorobot2_hardware/config/custom
  • nano esp32s3_wifi_config.h put in your wifi credentials near the bottom of the file, set the agent IP to the address of your computer
  • cd /linorobot2_hardware/firmware
  • pio run -e esp32s3_wifi -t upload
  • ros2 launch linorobot2_bringup bringup.launch.py micro_ros_transport:=udp4 micro_ros_port:=8888
  • In a browser access http://localhost:8888/ to get teleop UI

Software Openbot (Android); Best if you want to explore affordable vision

Status: Needs tweaking for ESP32S3

Micropython software

Status: Doesn’t exist yet,

Interest from author of Otto Mecanum in adapting for Rosmo

Arduino software

Status: Doesn’t exist yet, Might be interesting to do something with Arduino Mecanum and maybe Smartcar Shield at some point

Collaborators

I’d love to work with people on the software, give us a shout if you’re interested some ideas here

License

PCB is CERN-OHL-S This documentation is CC-BY-4.0 unless otherwise noted on the page.

Older photos of iteration process

## Configurations

  • 2WD

  • 4WD/ Mecanum

Alternate IMU

Older iterations

Components for older v0.6 version Description Quantity
~$8 Rosmo Chassis Custom PCB Chassis get fabricated at JLPCB, or solder your own 5
Motor Driver Zio H-bridge Motor Driver 1
Optional IMU MPU6500 or BNO085 2
USB powerbank battery case 1x or 2x 18650 battery or open hardware 18650 battery 1
USB > Motor driver cable JST cable 1
M2 Bolts & nuts 400pc Bolt pack 1
Screw Driver 2 in 1 Flat and Philips Head Screw Driver 1
JST zh 1.5mm, 80mm ) Double headed 6pin cable 1 pack
Qwiic> Qwiic cable For connecting ESP32 1

If you don’t get JLPCB to fabricate the PCB you’ll also need some 2.54mm screw terminals or a breadboard For connecting encoder

Note a previous iteration of this project used the Pi Pico dimensions, if you wanted that the PCB is here

Parts for v0.6 excluding PCB and motor driver are available on this List ensure you get correct quantities, eg 4x wheels and motors.

Top plate removed to expose battery layer Battery layer removed to expose motor controller, microcontroller, exposed motor/encoder connections. Mikrobus click footprint Not shown are screw terminals as I haven’t soldered them yet.