April 14, 2026
Description
This is a mecanum platform built from off-the-shelf components with a focus on
Cheapness
Parts are (relatively) cheap, with a rough total of 166€.
Around half of that is Battery&Motors.
Beginner Friendlyness
No soldering required
Code is available and deployable
Expandability
Platform is covered with attachment points aligned in a 20mm grid,
which makes it possible to attach 20mm aluminium profiles or custom printed mounts.
Custom mounts are included for
Raspberry Pi5 (can be found here)
USB Power board alternative (non-solder)
Stepper Driver alternative (cheaper)
It should be relatively obvious which of the big parts goes where based on the images. How the Adapters work should also be pretty self-explanatory. Some of the not so obvious things are explained below.
Remove the cap of the mecanum wheel. If you only have an FDM printer, you will likely need to print the adapter piecewise as I did. Insert the three pieces into the hexagonal hole and line them up using tweezers or a screwdriver. Line up and push in the motor axle. This is a bit finicky.
The ball bearings are meant to stabilize the weels from the outside. Position them on the side panels and sheathe them with the adapter hull. The Lip of the adapter should later face the wheel side.
The platform can be communicated with via I²C or the USB Port.
The required code for the Arduino Uno and can be found here, along with code that can be run on an ESP32 to test I²C control.
If you use an I²C device, like an ESP32 or HP Otto, to control the platform, simply connect SCL, SDA and GND, see image.
The Arduino pins are exposed on the CNC Shield. For the ESP, the data & clock pins are usually GPIO 21&22. Same for HP Otto.
The Servo control board for the robot arm can also be talked to via I²C, but for that nothing has been implemented.
The test_i2c script running on the ESP will make the platform move forwards and backwards periodically, as seen in the video below.
That script can then be expanded and tweaked to your preferences.
You can of course also expand the Arduino Uno code, but the Uno is very limited in its processing power and has only one core that already handles stepper timings and communication, so this is not recommended.
Alternatively, you can use a PC or similar, Linux capable device, and connect the Arduino via USB.
I use a Raspberry Pi5 running ROS2 on Ubuntu 24.04 and an LD06 Lidar. A software stack containing
description package
control package
hardware interface
navigation package
can be found here, along with some setup instructions. A video showcasing SLAM is below.
License:
Creative Commons — Attribution — Noncommercial
9