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.
If you’d like one please sign up for Tindie waitlist
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 -recomended, UK US, AUS official or Closed Waveshare ESP32s3 very cheap alternatives may require soldering | 1 |
~$5 Hex Spacers | 15mm height M3 standoff or 200pc M3 pack | 1 |
~$9 1x 2A powerbank | OSHW powerbank or TNTOR Powerbank or Aliexpress Powerbank* | 1 |
~$4 USB>Pin adaptor | Type 3 DIP-4P* | 1 |
*buy batteries locally if your postage service has restrictions on Lithium.
~$50 US for 2wd, ~$80 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.
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 |
---|---|---|---|
ESP32-S3 camera (closed hardware) | Likely | Untested | Untested |
USBC power adaptor (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
Schematic
Can be found here
Microblocks; Best if you’re just starting
1) Download ESP32-S3 bin
3) Visit ESP web tool in a Chrome browser
5) Connect ESP32-S3 and flash device (you may need to hold the ‘boot’ button)
7) Use the Pilot version in Chrome
8) In Microblocks; Cog icon > Install ESP firmware from URL > Paste https://microblocks.fun/downloads/pilot/vm/vm_esp32-s3.bin
9) Download this raw UBP file and open it in the Microblocks app.
-
Provides a block programing interface
-
Provides an Android app for remote control & detailed instructions
Current status: Working but encoders not yet configured.
Linorobot2 Software; Best if you want to learn ROS2
Status: Wheels spinning, but not fully tested yet.
- Linorobot2
- Install Docker desktop
- Download Docker image and run in Docker desktop
- Open browser to http://127.0.0.1:6080/ fullscreen the Linux desktop tab
- Open a terminal
- git clone https://github.com/johnny555/rosmo
- cd /rosmo/firmware/include
- nano config.h (put in your wifi credentials at line 195, set the agent IP at line 207 to the address of your computer, get this from your router or AngryIP.) <ctrl +O> to save <ctrl + X> to exit
- cd ..
- pio run -e esp32s3_wifi
- Open a file browser & search for .bin
- Send the .bin file to yourself via email or Google drive
- In your normal Windows/Mac desktop environment visit ESP web tool
- Connect ESP32-S3 and flash device with the .bin file
- Back in the terminal on your virtual machine; 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
- Have fun
Openbot (Android) software; 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 on Twitter or Hackaday.io 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
- 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
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.