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
-
Provides a block programing interface
-
Provides an Android app for remote control & detailed instructions
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
- Android app and Arduino for computer vision & AI
- https://www.openbot.org
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
- BMI270 6DOF Micropthon Arduino
- IMU - LSM6DSOX Micropthon Arduino
- LSM6DSV16X 6DOF no Micropthon Arduino
- ISM330DHCX 6DOF A ISM330DHCX 6DOF B Micropthon Arduino
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.