Let's Make Robots! | RobotShop

Raspberry pi and robots

Hello I was wondering how good a of a platform the Raspberry pi is for robots. Is their anything special I have to download to the pi in order for it to communicate to the robot? Or does it have those features right out of the box.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

The Raspberry Pi is a good host platform for robots that require lots of CPU power such a video processing and search algorithms. It's primary downfall is the I/O is not very real-time. Interrupts are processed by the OS and then the Linux kernel schedules the task. This may entail a delay. The may be flavors of the OS geared for real-time.

Often time robot builders incorporate a secondary Arduino style board for the primitive I/O such as motors, encoders, sonar & IR distance sensors. They then use either I2C or SPI for communications. The Pi does the thinking, the Arduino does the heavy lifting.

Another concern with the RPi is it only has 3.3V I/O. To do 5.0V you typically need level shifters.

On the really plus side, the RPi has builtin support for Wifi communications. Great for wireless programming, debugging, and data storage.


If you are a beginner you should try with arduino first and then add a raspberry pi to do the high level work like voice recognition, vocal commands or camera. Microcontrollers just don't have enough cpu-ram to interact with complex input-output, and Raspberry pi is one of the cheapest computer boards.
Using Raspbian you get best community support, then communicating with arduino is easy as following a tutorial.



I  completely agree with what others said. RPi is good as a robot core but not alone. Truth is, neither Arduino or other platform can be used to make a decent robot only by themselves, you need to add at least drivers for motors, some sort of sensors and possibly a supply power module.

I don't know what background you have, but if you are not comfortable with Linux, I'd say to not go to RaspberryPi way from the begining and try to build on something simpler, like Arduino. Later, when you'll have some experience and a working robot you can add a RPi to enhance robot's functionality.

If you want to go RPi way from the start, then you should get an shield/hat for it to allow you to control motors, servos, switches, sensors, etc.

These days you have a lot of options for that. You can take a look at RobotShop selection or look for other options, like Gertbot.

Good luck