ROSMO
Based on published sources · Not tested by us ·
Overview
Small modular robot with a PCB chassis, ESP32-S3 and two- or four-wheel variants; separate Microblocks, MicroPython and ROS 2 routes have different maturity. [S005] [S006] [S007]
ROSMO is a small mobile robot built around an ESP32-S3 and a two-plate PCB chassis. The official parts guide offers two- and four-wheel configurations using 6 V, 150 RPM geared motors with encoders. It recommends an Olimex ESP32-S3 board but lists alternatives; those alternatives should not be treated as identical electrical or assembly configurations. [S005] [S006]
Specifications
| Detail | Description |
|---|---|
| Type | Two- or four-wheel mobile platform with two PCB chassis plates and a battery between them. Reported by source [S005] [S006] · Checked 2026-10-01 |
| Intended users | Students and experienced hobbyists able to reconcile hardware variants and developing software Editorial assessment [S001] · Checked 2026-10-01 |
| Assembly | Two PCB plates, motor clips, standoffs and press-fit connections; the standard chassis does not require printing. Reported by source [S005] [S006] · Checked 2026-10-01 |
| Calibration | Reconcile drive type, motor and encoder direction, wheel geometry and network settings; the selected companion configuration is not fully integrated. Source-review checklist; not a tested calibration procedure. Editorial assessment [S008] [S009] [S010] · Checked 2026-10-01 |
| Operating system | Not known |
| Computer needed | ROS 2 route uses a host computer and the documented Humble Docker image; firmware uses PlatformIO. Reported by source [S007] [S008] · Checked 2026-10-01 |
3D preview
Preview not available yet. A model has not yet been prepared and approved for display on this page. This does not mean the project lacks CAD files; see Source files and licenses for the reviewed source availability.
Assembly and use
A PCB chassis reduces printing requirements
The assembly guide places the battery between the two plates, mounts motors with their encoder connectors facing inward and upward, and connects components through headers. The standard chassis is intended to avoid a soldering or 3D-printing requirement, while optional attachments can be printed. Board orientation and motor direction still need checking during assembly. No robot was assembled in this review. [S005] [S006]
The website gives rough US-dollar estimates of $50 for two-wheel drive and $80 for four-wheel drive. These are upstream estimates, not current delivered offers; optional sensors, regional sourcing and a complete matched configuration remain unresolved. The page itself reports flaky I2C, so its expansion list is not proof that every listed sensor combination works reliably. [S005]
Software choices are at different stages
The official software page reports working Microblocks control with encoders not yet configured, a MicroPython beta with an encoder-based driving interface, and ROS 2 wheels and encoders working but not fully tested. Its OpenBot option still needs ESP32-S3 changes. These statements describe separate routes; they do not establish a single interchangeable or fully tested software stack. [S007]
The primary firmware archive is a derivative of Linorobot2 hardware code. The website's ROS 2 instructions point to a different repository, rosmo-robot/linorobot2_hardware. This review preserved that companion at commit 33f139ad7e0ba15ce135f8cfa331794a339fc10f and compared its configuration with the guide. The two repositories are not presented as a validated revision pair. [S001] [S008] [S009] [S010]
Reconcile the ROS 2 configuration before building
The guide tells readers to edit config/custom/rosmo_config.h. The selected companion instead contains rosmo_wifi_config.h. Its PlatformIO rosmo environment defines USE_ROSMO_WIFI_CONFIG, but config/config.h has no matching include and falls back to lino_base_config.h when no base is defined. The presence of a ROSMO-named header therefore does not establish that this build environment selects it. [S007] [S008] [S009] [S010]
That custom header selects four-wheel skid steer, 1050 encoder counts per revolution, a 40 mm wheel diameter and a 105 mm left-to-right wheel distance. It also supplies motor inversion, encoder inversion, pins, agent address and port 8888. Preserve and reconcile those source values with the actual chassis rather than applying them automatically to a two-wheel build. The Wi-Fi access-point initializer also contains an extra comma between entries. These are source-inspection findings; no compilation or network test was performed. [S009]
The guide uses a Humble Docker environment, while PlatformIO pulls several libraries without exact revisions. A tested setup would require both the configuration-selection issue and the dependency versions to be resolved. This profile does not provide a verified replacement command sequence. [S007] [S008] [S010]
Source availability is split across layers
The primary archive includes a FreeCAD file, and both inspected firmware repositories carry Apache 2.0 license texts. The official website separately states CERN-OHL-S for the PCB and CC-BY-4.0 for its documentation unless otherwise noted. Its EasyEDA links were identified, but the complete editable PCB payload, exact hardware-license version and correspondence to the preserved FreeCAD model remain unresolved. Repository software licensing is not treated as a blanket license for that hardware set. No fabrication, firmware installation, driving or sensor test was performed. [S003] [S005] [S011] [S012]
Cost
No current, complete configuration-specific build cost has been established for this profile.
Source files and licenses
Available project sources support research coverage; complete build and commercial qualification remain separate.
| Layer | Availability / license |
|---|---|
| mechanical design | available · License not fully assessed FreeCAD file preserved; its completeness, matching PCB revision and specific hardware-license mapping have not been established. [S012] |
| electronics | not found · License not fully assessed Official website links EasyEDA designs and states PCB CERN-OHL-S; complete matching editable payload and exact license version were not preserved in this review. [S005] |
| firmware | available · Apache-2.0 Primary firmware source available; linked companion is separate and its selected ROSMO configuration has unresolved integration issues. External dependencies retain their own terms. [S001] [S003] [S004] |
| software | available · Apache-2.0 Primary firmware source available; linked companion is separate and its selected ROSMO configuration has unresolved integration issues. External dependencies retain their own terms. [S001] [S003] [S004] |
| documentation | available · CC-BY-4.0 Website declares documentation CC-BY-4.0 unless otherwise noted; repository documentation follows its own notices. [S005] [S006] [S007] |
Selected basic driving and programming workflows do not require a pretrained policy or dataset.
References
Links identify the documentation and revisions used in this profile. Access dates record when each source was retrieved.
- S001 · rosmo-robot / project contributors
Upstream project overview
Accessed 2026-10-01 · README.mdSource notes
Source text inspected for the cited scoped claims; see profile claim notes.
- S002 · rosmo-robot / project contributors
Repository revision and release metadata
Accessed 2026-10-01 · c460b0a013ec389b9da98feffd75d22b357534a7Source notes
Source text inspected for the cited scoped claims; see profile claim notes.
- S003 · rosmo-robot / project contributors
Repository license
Accessed 2026-10-01 · LICENSESource notes
Source text inspected for the cited scoped claims; see profile claim notes.
- S004 · rosmo-robot / project contributors
Pinned repository artifact inventory
Accessed 2026-10-01 · c460b0a013ec389b9da98feffd75d22b357534a7 archive file inventorySource notes
Source text inspected for the cited scoped claims; see profile claim notes.
- S005 · rosmo-robot / project contributors
ROSMO official hardware
Accessed 2026-10-01 · Preserved website snapshot 9cac5e6d04c951500f4e7095e2a386d639c250fea201c9762d04b0c7076562e5Source notes
Source text inspected for the cited scoped claims; see profile claim notes.
- S006 · rosmo-robot / project contributors
ROSMO official build
Accessed 2026-10-01 · Preserved website snapshot fe2f968ec97a4911c0891858dc2a9f9e72725cda5522976c0481698036ced68eSource notes
Source text inspected for the cited scoped claims; see profile claim notes.
- S007 · rosmo-robot / project contributors
ROSMO official software
Accessed 2026-10-01 · Preserved website snapshot 854c190cb885e0662bde004ca6f853ab33b8df38df50899f3e3d2067da7feda3Source notes
Source text inspected for the cited scoped claims; see profile claim notes.
- S008 · rosmo-robot / project contributors
ROSMO companion: firmware/platformio.ini
Accessed 2026-10-01 · 33f139ad7e0ba15ce135f8cfa331794a339fc10f / firmware/platformio.iniSource notes
Source text inspected for the cited scoped claims; see profile claim notes.
- S009 · rosmo-robot / project contributors
ROSMO companion: config/custom/rosmo_wifi_config.h
Accessed 2026-10-01 · 33f139ad7e0ba15ce135f8cfa331794a339fc10f / config/custom/rosmo_wifi_config.hSource notes
Source text inspected for the cited scoped claims; see profile claim notes.
- S010 · rosmo-robot / project contributors
ROSMO companion: config/config.h
Accessed 2026-10-01 · 33f139ad7e0ba15ce135f8cfa331794a339fc10f / config/config.hSource notes
Source text inspected for the cited scoped claims; see profile claim notes.
- S011 · rosmo-robot / project contributors
ROSMO companion: LICENSE
Accessed 2026-10-01 · 33f139ad7e0ba15ce135f8cfa331794a339fc10f / LICENSESource notes
Source text inspected for the cited scoped claims; see profile claim notes.
- S012 · rosmo-robot / project contributors
Preserved primary source inventory
Accessed 2026-10-01 · c460b0a013ec389b9da98feffd75d22b357534a7 / file inventorySource notes
Source text inspected for the cited scoped claims; see profile claim notes.
Correction guidance · Discussion is not enabled · Profile format 0.6.0-draft.1