A while back I created a basic mobile platform using parts from an old 3D printer. It was fun but not very practical.
In July 2023 I started designing Roverling Mk II so I could experiment with a practical, configurable, and reliable mobile platform - something that might one day do useful work around our bush block, like:
- Searching paddocks for weeds and recording locations.
- Navigating down a 200m drive to check if the gate is closed.
- Navigating up the drive 50m to check that the machine shed roller doors are secure.
- Recording animal sightings on the block. We’d see up to 50 ‘Roos’ per day on our block.
- It would be good to identify and scare deer away from our olive grove.
Original Specs:
- 440 mm long x 350 mm wide, 250 mm max height, 200 mm nominal platform height
- 3.5 kg without battery, uses an 18V power tool battery
- Up to 22 satellite GNSS receivers, augmentation using SBAS, 1Hz updates
- IMU: 3x accel, 3x gyro, magnetometer, pressure
- 2.4Ghz 6 channel RC receiver and decoder, with diverse receiver
- 2 channel motor quadrature decoders
- 2 channel motor current sensors (effectively torque sensors)
- Sonar, ranger
- 915 Mhz LoRa module. Comms at 1800 bps, 64 byte telemetry packet, 16 byte command packet, encrypted, super reliable
- LoRa base station, which is effectively my MQTT gateway for telemetry and commands back
- Mapping module runs on desktop from the MQTT feed to produce real-time tracking info overlaid on an image (for me an old NearMap screenshot).
Design:
I've used surplus and old parts where I could.
All the 3D design is done in FreeCAD and all the slicing and printing on a Prusa platform. As well as the actual design files, I’ve also made available stl model files, g-code files, and Prusa project files for all parts.
The schematic is done with KiCAD. I used mixed prototyping methods and no PCB has been designed (yet) so you will need a fair understanding of how to layout and wire correctly.
All the code is in Python. I’ve pretty much written my own drivers for all of the low-level stuff except the sx1262 suite for LoRa.
One thing I love about the RP2040 is its PIO state machine capability. It’s hard to program - but for certain tasks, it can replace an FPGA. I use it to run a custom quadrature decoder for accurate velocity measurement.
Resources:
Everything you need to know to build your own (original version) is on my website.