Raspberry Pi Robot

Raspberry Pi Robot

This is a Raspberry Pi–based robot platform designed with accessibility and flexibility in mind. The primary goal of this project, therefore, is to create a simple, affordable foundation for future robotics development. In addition, the platform is intentionally built using components that are easy to source from Amazon, ensuring convenience and cost-effectiveness. Moreover, all custom parts are manufactured using 3D printing, which not only reduces production costs but also allows for quick modifications and rapid prototyping. As a result, the platform serves as a practical and scalable starting point for a wide range of robotics projects.

Raspberry Pi Robot

Raspberry Pi

The brain of the robot is a Raspberry Pi 4B. At its core, the Pi hosts a web application that allows users to control the robot through an embedded joystick. In addition, the same web interface live-streams video from a USB camera connected directly to the Raspberry Pi, providing real-time visual feedback for precise control.

Furthermore, the entire system is programmed in Python, making it highly accessible and flexible. As a result, anyone with prior Python experience can quickly implement computer vision or machine learning algorithms to enable intelligent interaction with the robot. Notably, despite handling control and video streaming simultaneously, the system maintains an efficient performance, with typical CPU usage ranging between 15–20%

Raspberry Pi Robot

Vision

The USB camera used in this project can stream at 2K video resolution with minimal latency. As a result, it remains easy to drive the robot directly through the web application without requiring additional controls. In addition, the low-latency video feed ensures smooth, real-time visual feedback, which significantly improves navigation and responsiveness.

Furthermore, the camera is mounted on a stepper motor, allowing it to tilt up and down as needed. Consequently, users can dynamically adjust the viewing angle to better observe their surroundings. Overall, this setup enhances both control accuracy and user experience.

Raspberry Pi Robot

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.

Raspberry Pi Robot

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.

Raspberry Pi Robot

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.

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.

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

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