Old Project Reboot

Hey everyone,

Thought I’d share the progress I have made on an old project I have rebooted since stumbling across Josh’s videos.

I started this project a few years ago when I was given a RPLidar to tinker with, and had originally planned to use a BeagleBone Black as the brains. I custom designed the chassis in Fusion360 to fit around a RangeVideo 3s 18.3Ah LiPo I had from a long range drone project I worked on years ago. I have an X-Carve CNC router in the shed so was able to cut it in house from 3mm MDF as a prototype, with the intention to refabricate it when I had finalised the design.

I got it to a point where I had the Beagle hooked up with an RC remote which had written the control allocation functionality which allowed me to control the servos. At the same time I had a few other projects on the boil and was expecting my first child, so this took a back seat and I planned to get back into it at some point along the way.

Fast forward 3 years and I’ve got the project back on the boil. I’ve decided to push it a bit further this time and have upgraded most of the hardware on the robot.

The current parts list is:

  • 1 x Raspberry Pi 4B 4Gb
  • 1 x DFRobot 25W DC-DC Power Module
  • 1 x Dual Fan Aluminium Heatsink Case for Raspberry Pi 4 Black
  • 1 x Waveshare 7 Inch 1024x600 LCD IPS Touchscreen
  • 1 x RS485 to USB converter
  • 1 x Zero4U 4 Port USB Hub
  • 1 x RPLidar A1 (from original build)
  • 2 x Dynamixel RX-24F Servomotors with RC wheels (from original build)

I redesigned the original chassis to better fit the LiPo, and to give more space to the Pi4 and screen. I cut it from some 3mm acrylic I had laying around, and designed and 3D printed the skeleton mount for the screen. I originally attempted to use the generative design tools within Fusion360 for the screen mount design as a learning exercise, but found I needed more time to learn that better to produce functional parts.

I decided to modify the RPLidar stack as well to move away from the 2.5mm fixings and replaced those bits with 3mm fixings to keep it in line with the other screws used on the robot.

I also had to modify the Pi4 case as it didn’t have an adequate mounting points on it. The 4 stock holes are for securing the bottom plate and top heat sink to the Pi4. I opted to drill and tap 4 new mounting holes on the bottom plate, and mounted it to the chassis with standoffs to allow airflow under it.

One thing I have found so far is that the Pi4 is pretty finnicky with power, and I have had trouble running the screen from the Pi when it is on battery power (seems to run fine on USB-C power). In order to fix this, I’ve put the Zero4U hub in and will be powering that from the battery and running all the USB devices from that and keeping the Pi unloaded.

That’s all I have for now, I will continue to update this over time in an attempt to keep me accountable for progress and see this through to completion. I look forward to seeing what everyone else is up to and picking up any tips or tricks you have and incorporate them in my build!



Hey Clint, thanks for sharing your project - it’s looking really good!

It’s cool to see the evolution of the project, and the improving chassis design.

I’m especially keen to see how you go with getting the Dynamixels talking to ROS as I’ve not used them before but might do in a future project.

Thanks for the inspiration and looking forward to seeing future updates!


That’s inspiring, Clint. I’m hoping to do something similar but plan to start with a gutted robot vacuum base in order to take care of the drive side of things plus get many sensors. Then, I will build up. Thanks for sharing your photos.