robot car

This is a Raspberry Pi based robot platform. The goal of this project is to create a simple and affordable platform for future projects. All components are easily sourced from Amazon, and all custom parts are made with 3D printing.

Raspberry Pi 4

Raspberry Pi

The brain of the robot is a Raspberry Pi 4b. The Pi publishes a web application that can be used to control the robot with an embedded joystick. The web application live streams the video feed of a USB camera connected to the Raspberry Pi.

Everything is programmed in Python. If you already have experience with Python, it should be very easy to implement vision machine-learning algorithms to interact with the robot. Typical CPU usage is between 15-20%

Vision camera

Vision

The USB camera shown in this project can stream at 2K video resolution with little latency, so it is still possible to drive the robot easily through the web application only. The camera is mounted on a stepper motor to tilt it up and down as desired.

Hoverboard Motor

Motors

The drive system consists of two hub brushless motors salvaged from a hoverboard. These motors can handle a lot of weight and can go fast. However, to improve the driving experience, the software limits the speed to 0.3 m/s, which can be easily increased as desired.  

Each motor is driven by a speed controller which receives PWM signal from the Raspberry Pi. The controller is also capable of reading the built-in hall sensors in the motor, and then send the signal to the Raspberry Pi, this is then used to calculate the motor speed.

The Raspberry Pi calculates the motor speed, and through a PID controller, sends the PWM to the controller to adjust the motor’s speed.

Robot Chassis

Chassis

The main chassis structure is made of fourteen 2020 aluminum extrusions, which can be sourced at a low price from Amazon. This design uses drop-in T-nuts that go inside the rails of the extrusion for easy mounting of the rest of the components. 

The four exterior panels are made of translucent grey acrylic. They can be ordered from SendCutSend or 3D printed to save costs.

The top plate is an aluminum plate, also ordered from SendCutSend. It features a series of M5 PEM nuts that are used to mount the camera bracket assembly. The plate is later painted in matte black for aesthetic purposes. SendCutSend also offers low-cost anodizing and powder coating options. However, similar to the side panels, the top plate can also be 3D printed to save some cost.

Battey

Battery and Electronics

Similar to the motors, the battery and charger of the robot are also salvaged from a hoverboard. This is a 24V Li-Ion battery. However, most hoverboards come with a 36V battery. Either one should work with the electronics in this design.

The 24V battery drives the motors, and we use a DC-DC buck converter to step down the voltage to 5V. This low voltage powers the Raspberry Pi and other auxiliary electronics.

robot sitting white

Cost

The total cost of this robot is $290 (excluding the Raspberry Pi, USB camera, and 3D printed parts)

This number is highly dependable on buying a used hoverboard at a good price (I got mine for $20). Normally, this should be no problem as there are often multiple sellers on Craigslist or FB marketplace. Alternatively, you may need to buy new motors, a battery, and charger.

Another variable in the total cost is the Raspberry Pi. I got mine from Amazon with an aluminum case for over $120. Better prices can be found, especially now that the new Raspberry Pi 5 is available.

As mentioned before, another way to lower the total cost is to 3D print the side panels and top plate.

Raspberry Pi Robot Camera Control

Improvements

  • Easier access to the battery for charging
  • Cable management
  • Remote control (no need for robot to be on the same network)
  • Mobile-friendly web application
  • Implement additional capabilities through the web app
    • Camera focus and resolution adjustment
    • Motor speed adjustment
robot arm

Future Work

  • Implement a robotic arm and mount it to the top of the robot
  • Enable control of the arm through the web app
  • Develop vision algorithm for object detection and following capabilities

If you are interested in this project and want to stay up to date with any progress, consider entering your email below. We will notify you as soon as there are any news

Robot car
Raspberry Pi Robot GIF