Robot from raspberry pi 3. Robot for Google Talk based on Raspberry Pi. Controls and menus

  • tutorial

Very often, articles appear on Habré about how to use the Raspberry Pi as a media center, a mobile video camera, a remote web camera, and ... actually everything. It is very strange that in such a large IT community there is quite little information on how to program it and use a single board computer where it is really quite useful - in all kinds of embedded systems where there are size and cost restrictions, but there is also a need for performance . In several articles I will try to describe, using the example of creating a mobile wheeled robot with computer vision, how you can use raspberries to create robots (things with intelligence on board, and not cars controlled from android with a webcam).

Introduction

It has always been interesting to program something mechanical - you feel like God (like most programmers) - you breathe soul into a bunch of details. Probably everyone remembers that childhood joy from the first flashing of an LED, a moving servo, etc. - when you have done something that you can touch, that lives, moves, and not a php site.
In many of his creations, and even more so in robots, a person always tries to repeat himself, or part of his functions. We receive 80% of information about the world around us through vision - so computer vision, in my opinion, is one of the fundamental areas of knowledge in robotics.


I started studying it by reading academic papers on algorithms in parallel with mastering the OpenCV computer vision library in C ++ (in the case of Raspberry - Python) - knowledge of the principles of the algorithms will help you assess the complexity and feasibility of the task, even before starting its execution, as well as optimize the algorithms in critical places. Even if you use mostly library functions - they are well optimized, and you are unlikely to write better from scratch - you can optimize some parameters that have little effect on solving your problem in a particular case, but significantly affect the speed of solving it - in in general, returning to the holivar - “does a programmer need mathematics” - In this case, it is needed, so I advise you to strain a little gyrus and understand at least superficially the work of algorithms.

It would also be useful to at least superficially study the Theory of Automatic Control - instead of describing its capabilities - I suggest just watching the following video (BTW - half of his team are Russians)

Parts of a robot



It is unlikely that you will have at hand 1 in 1 the same details as mine, if you want to repeat - so I will describe the general concept, and you can see for yourself.

Mechanics

The mechanical basis of the robot - two-wheeled with a differential drive - is classical, in general, for the first robotic experiments - it has 2 independent wheels and its movement is controlled solely by the speed and direction of their rotation (like the propellers of a quadrocopter). In addition to the wheels themselves, there is a ball / wheel bearing, in advanced systems - encoders for feedback and control of the current speed of the engines, which allows you to control the engines more efficiently.



Motor controller

You can use any microcontroller as a motor controller, I use Arduino nano - because it just came to hand.
Perhaps the question will arise - why not control directly from the Raspberry? The fact is that the operating system has a much larger time quantum than the microcontroller, in addition, there are no hardware PWMs, plus, if we want to improve motor control using feedback and Control Theory, this will require computational costs and faster response - therefore the part that controls the motors and the brain of the robot are separated - the arduino simply receives a command via UART - at what speeds and directions the brain would like the motors to spin - how this will be achieved - simply by turning on the PWM with the desired duty cycle or tricky control, when at first we apply a voltage greater than the setpoint , spinning the engine, and then leveling it - thus accelerating the engine spin-up to the desired speed - all this is already the concern of the motor controller, and not Raspberry - since this is generally a task of much tougher time - an order of magnitude - two less than Raspberry allows, and generally similar systems.

Motor driver

The arduino alone is not enough for the motors to spin - the current given off by the leg is too small - if we put the motor winding on the small output transistor of the controller leg, requiring a current of the order of amperes - then we just arrange a short circuit - we close the key to itself and it will most likely just come out building - therefore, we need a more powerful key that allows a large current to pass through itself - if we need to turn the engine in one direction - in general, then one transistor is enough for us, but if we want to turn in different ones - we already need 4 of them - such a circuit is called H - bridge - by closing the diagonal keys with other diagonal keys closed - we can change the direction of the current in the motor.
And such a scheme is necessary for each wheel. Fortunately, in our time there is no need to assemble it - it is implemented in the form of integrated circuits, of which there are a great many - so any one that can control the current your engine needs will do. I use this two-channel from pololu:


There is also a great variety of all kinds of shields for arduino - with the help of Google you can easily find them on the request "arduino motor driver". The connection diagram is also usually provided by the manufacturer or users of various forums - the seeker will find it. The microcircuits have 2 power supplies - one - which is supplied to the motors from a powerful current source - for example, Li-Pol batteries 7.2V, the other is the power supply for the logic input stage - Arduino 5V, there are also inputs that control the direction of rotation of each channel and the Enable input - supplying to which PWM signal we can adjust the speed of the motor. There may be different configurations depending on the shield, but the main conclusions are as follows.

In general, having connected the Arduino, the motor driver, the motors and the battery in this way (or just some kind of current source on a long wire), you can already start playing with motor control. To receive commands from Raspberry, you will need to implement the reception of a line via UART and its parsing - you can come up with a protocol here to your heart's content. the above - the main parts of almost any wheeled robot - then the options already begin - you can even score on computer vision and make a robot purely on Arduino, which, for example, travels along a line, avoids obstacles using distance sensors, etc.

Main controller



My task is to make a slightly more intelligent platform for researching computer vision and control theory - so the next element of the system will be the Raspberry Pi B + single-board computer due to its low price, prevalence and availability of information. A Python interpreter is included in the Raspbian assembly - so I wrote a program for the robot on it

Camera



In general, you can use any webcam as a camera (which I did for the first time) - I use Raspicam - it is small, light, there is a separate port for connecting it, a wide viewing angle is a good driver and 90 fps in VGA resolution.

Debug Tool



For debugging, I use a USB Wifi whistle, connecting to the Raspberry via remote desktop via SSH. Also, in general, you can use anyone, for the initial setup, you can generally use an Ethernet cable and SSH

Supply system

Battery - lithium polymer from 2Ah to 7.2V rated voltage + charging.


Step-down DC-DC converter - our battery produces from 8.4 to 6V - we can directly supply this voltage to the motors through the driver chip, but Raspberry and Arduino require a 5V power supply to power Raspberry Pi - according to the Raspberry Pi documentation, a 5V source capable of delivering at least 800mA is required - you can, of course, lower the voltage from the battery to 5V using a linear regulator, but at such currents it will heat up and use battery power inefficiently, so I recommend using a pulsed DC-DC buck converter - both Raspberry and Arduino are powered by it

Actually a photo of my nanotech robot and a couple of videos of his ride on various competitive tracks as a demonstration:


Pro line (intermittent)

Thin line with sharp turns (Euro)

In general, the review article is over - he talked about the main tools used, then it will be more specific, namely.

Arduino is certainly a popular and interesting platform, but it also has its limitations. What if you need to use additional software on the robot? Connect peripherals? The well-known Raspberry Pi comes to the rescue.

In this article, I'll show you how to make a Wi-Fi controlled webcam robot based on Raspberry Pi. This platform will allow us to work with all understandable Linux, easily use any software we need, and also use almost any peripheral.

Kit

  • Raspberry Pi Model B - 2200 RUB
  • Webcam - 1500 rubles
  • Wi-Fi dongle - 300 rub.
  • Battery for 12 V 7 Ah - 500 rubles.
  • Wheelbase, wires and motors from some toy

Result: 4500 r.

About computer

I used a standard Raspberry Pi version B which has two USB ports, an Ethernet port and 512MB of RAM. There is also an A model, which has only one USB port, 256MB of memory, and no Ethernet. Such a board is more difficult to configure, but it needs much less power.

As an OS, I chose the standard Raspbian (optimized for the Debian raspberry hardware). To install the operating system, we need an SD or SDHC card with a capacity of at least 4 GB class 10 and any computer with a card reader. The filling process itself is quite trivial. For UNIX users, the dd utility will suffice. We insert the finished card into the "raspberry", connect it to the network, turn on your favorite SSH client. Standard login pi, password - raspberry.

At the first start, a window with configurations will appear - if this did not happen, then it can be called with the raspi-config command. We are concerned about several points:

  • Expand filesystem - expanding the main partition to the entire memory card. Otherwise, the system will not have more than 4 GB available.
  • Change User Password - it is better to change the standard password after all.
  • Internationalization Options - set the ru_RU.UTF-8 UTF-8 locale and the corresponding time zone.
  • Enable Camera - enable camera support. It will be required for cameras with a DSI interface (for example, for an official camera), but in my example it is not necessary, that is, you can set the Disable value.

In order to get rid of the network cable, you need a supported Wi-Fi dongle. I used a D-Link DWA-110 and a complete list is available online (bit.ly/1cQXMFP). Let me tell you a little about the setup:

  1. We connect Wi-Fi to Raspberry.
  2. Let's see if she decided #lsusb

    We get something like this:

    Bus 001 Device 005: ID 07d1:3c07 D-Link System DWA-110 Wireless G Adapter(rev.A1)

  3. Connect to our grid: # sudo wpa_passphrase pointname pointkey > /etc/wpa_supplicant/ wpa_supplicant.conf # sudo iwconfig wlan0 essid pointname # sudo wpa_supplicant -B -Dwext -i wlan0 -c /etc/wpa_supplicant/ wpa_supplicant.conf sudo ifconfig wlan0 down # sudo ifconfig wlan0 up

    and check if we have connected to the access point:

    #ifconfig

Control

First, let's install a web interface through which we will control the robot. I settled on WebIOPi. This product is specifically designed for RPi applications in automation and robotics.

The interface is installed as follows:

  1. Download the program archive to any directory with the command # wget http://webiopi.googlecode.com/files/WebIOPi-0.6.0.tar.gz
  2. Unpack the archive into the current directory tar xvzf WebIOPi-0.6.0.tar.gz
  3. Go to the directory with the program # cd WebIOPi-0.6.0

    The weight of the package is only 152 Kb.

  4. Run setup file # sudo ./setup.sh
  5. And set the web interface to autorun # update-rc.d webiopi defaults

Now let's create the control page. To get started, download the project archive at bit.ly/1di2qgl . Let's unpack it into the user's directory:

# sudo nano /etc/webiopi/config

What are we changing:

Myscript = /home/pi/robot/python/script.py doc-root = /home/pi/robot/html/ welcome-file = index.html gpio-export = 25, 11, 8, 9 gpio-post-value = true

Installing the eyes

So, we connect a webcam to the robot. I used a HP HD-4110 camera with Full HD and V4L support, but it makes no sense to take a Full HD camera, since we have an image resolution of 640 by 480. The full list is here: bit.ly/1cR06N4. For almost every camera, this plate indicates whether it requires external power. This is important, since the “raspberry” can stably power not every device via USB, and for some cameras, in principle, power is supplied through an external adapter. Therefore, you should beware of some models from Logitech and Microsoft. Further down the list:

  1. Checking "connectivity" # lsusb

    We get something like this: Bus 001 Device 004: ID 03f0:9207 Hewlett-Packard

  2. Install the video for Linux package # apt-get install libv4l-0
  3. Install the mjpg-streamer-rpi utility # wget http://www.bobtech.ro/get?download=36:mjpg-streamer-rpi
  4. Rename the downloaded file # mv get\?download\=36\:mjpg-streamer-rpi mjpg-streamer-rpi.tar.gz
  5. Unpack # tar -zxvf mjpg-streamer-rpi.tar.gz
  6. Go to the directory with the program # cd mjpg-streamer
  7. Run # ./mjpg-streamer.sh start
  8. If necessary, customize the script for yourself # sudo nano ./mjpg-streamer.sh VIDEO_DEV="/dev/video0" - device identifier; FRAME_RATE="30" - frame rate (FPS); RESOLUTION="640x480" - resolution; PORT="8080" - HTTP port; YUV="false" - YUV encoding flag.

At 30 frames per second my system worked fine (no overclocking), but to take the pressure off the computer, the value can be reduced up to 5. Also pay attention to YUV - this will allow us to slightly optimize the size of the video stream due to a different color encoding principle. Create a startup automation script:

$ cd /home/pi $touch autostart.sh $ nano autostart.sh #!/bin/sh sudo /etc/init.d/webiopi start cd /home/pi/mjpg-streamer ./mjpg-streamer.sh start

#!/bin/sh -e # # rc.local ... cd /home/pi ./autostart.sh exit 0

If you want to admire the result, go to http://raspberrypi:8000 in your browser, login webiopi, password raspberry. As a bonus, you can open the web interface to the "world". To do this, you need to give your router access to ports 8000 and 8080 for the IP of your "raspberry". Naturally, before that, you need to change the standard WebIOPi login and password with the command

# sudo webiopi-passwd

After that, the password file generator will start and ask first for the login, and then for the password twice. The result will be: Hash: "a long, long string with many characters" Saved to /etc/webiopi/passwd

After the performed operations, a server restart is required.

# sudo /etc/init.d/webiopi restart

Assembly

In order for our model to drive, we need to implement motor control. I recommend doing it in the form of keys from transistors, like me (see driver diagram).

The diagram is taken from the machine itself. All part values ​​and transistors are taken directly from there. Transistors Q1, Q2 are better to use B772, transistors Q3, Q4 - D882. If you are saving space, then transistors Q5 and Q6 are better to take SMD marked 6C. The circuit is copied from the board of the machine from which the wheelbase is taken, but I added 1 MΩ resistors in parallel with the control inputs in order to cancel the interference. The engine is powered directly through the drivers from a 12 V battery. If desired, you can organize the speed control of the machine through pulse-width modulation. Now we connect everything according to this scheme:

  • GPIO port 11 is responsible for moving forward, GPIO 9 is responsible for moving backward, GPIO 25 is to the left, and GPIO 8 is to the right. We connect motors to the drivers, and drivers to the corresponding ports on the Raspberry Pi.
  • The control part of the robot is powered through a DC / DC converter on the LM2596 chip.
  • We connect the battery to the input, and the Raspberry Pi to the output. When our robot is turned off, we will have current leakage through the driver transistors and the Raspberry PSU, so we need to put the toggle switches in the cut of the power circuits, the first toggle switch between the battery plus and the converter, and the second also between the battery plus and the driver power terminal.

So, the long-awaited launch of the finished device. We make the connection according to the following scheme:

  • We connect a webcam, a USB Wi-Fi adapter, a converter and conductors leading to the drivers to the RPi.
  • Next, we connect the Raspberry to the battery through the converter and turn it on. The battery lasts for two to three hours.
  • After loading the computer, turn on the toggle switch for supplying voltage to the drivers.
  • We go from any device from our local area to the address http: / address_of_your_RPi: 8000 and ride a typewriter around the apartment :).

Reader

The functionality of the Raspberry Pi depends only on the imagination, common sense and needs of the person holding it in their hands. My example is not the only way to use this computer, designed to teach children how to program. The finished robot can be upgraded as you like. You can connect bend sensors to it via the I2C bus and servos, play tricks with mechanics and get a manipulator, like here: bit.ly/1e1pOQ0, on Arduino. Next, add another ADC to it and make a voice-controlled robot! For example, this one: bit.ly/1fJwTvz , specialized for RPi ADC. Since the I2C bus supports up to 127 devices, almost anything can be implemented. In the future, I plan to remake the wheelbase to a caterpillar and more powerful one - I want the model to be more serious in size :). Next, put lasers, an atomic power source and the like, but these are trifles :).

Robot car controlled by raspberry pi 3 every child will want to have in their collection. Shoots video and takes photos by control from your phone (andriod) or from your personal computer. A great set of tutorials for someone taking their first steps in robotics.


  1. A complete set of Raspberry Pi-based training materials with Android App. To improve learning, a detailed user manual, code with explanation and diagrams are provided.
  2. Raspberry Pi q is used as a controller. The kit uses a (step-down DC-DC) step down converter module to reduce the input voltage and a motor driver module with L298N. Also the webcam comes with a USB Wi-Fi adapter so you can check the live video on your PC or mobile phone.
  3. On PC, you can control the car to move forward/backward and turn left/right, and control the camera to turn vertically and horizontally to capture images in different directions.
  4. A great kit for you to start learning the Raspberry Pi (both code and applications), learn about the main components and modules in electronics, and then use the knowledge gained to explore a wider field!
  5. Working Voltage: 7V-12V; powered by two 18650 lithium batteries
  6. Several parts, instructions and code needed are provided so that you can assemble them yourself with the help of the user manual and therefore enjoy the fun of making!
  7. Car control can be implemented on a PC with a Linux system, or you can also apply it in a Linux virtual machine.
  8. The camera in this MJPG kit is used for real-time image capture and video transmission. you can view videos by web browser on any device. Firefox and Google Chrome are recommended.


1 pack x Acrylic plates
1 pack x Threaded Fastener
1 x Tower Pro SG90 Micro Servo
2 x Gear Reducer
2 x driven wheels
2 x Active wheels
1 x 16-channel 12-bit PWM driver
1 x L298N DC Motor Driver Module
1 x Step Down DC-DC Converter Module
1 x USB WiFi Adapter
1 x USB Camera
1 x Dual 18650 battery holder
1 x Ribbon
1 x USB cable
Serval Wire Dupont
1 x Screwdriver
1 x Cross Socket Wrench

You need to purchase separately:

1x raspberry pi 3
2×18650 Lithium-Ion Rechargeable Battery (3.7V) without protective circuit board
1 x TF card

The Raspberry Pi is a single board computer designed to teach basic computer skills to high school students. Subsequently, it received much wider use and popularity than its authors expected. Our board looks like this: This version of the board is equipped with a Broadcom BCM2835 ARM11 processor with a clock speed of 700 MHz and a 256MB/512MB RAM module. The Raspberry Pi runs on the Linux operating system. We will be using a version "B" board with Raspbian OS installed.

1. Assembling a robot based on a caterpillar platform

The Raspberry Pi and camera will be mounted on a tracked platform. In fact, it will be a mobile video surveillance system.
The Raspberry Pi itself with the motor driver will be fixed using the Lego constructor, since this board lacks the necessary fasteners.
The power supply of the board and motors is separate. There are 8 batteries of 1.2 volts on the motors, 2 batteries of 3.7 volts on the board. All batteries are connected in series. The motors are powered by a motor driver made on the L293D using surface mounting.
The power supply of the board itself is carried out through a linear regulator, since a fixed voltage of 5 volts is required. What this platform can do: 1. Move around the area (apartment, etc.) using the Ultrasonic HC-SR04 sensor to avoid obstacles. 2. Take a photo (video frame) after a certain time and send it to Yandex or Google Drive. 3. Drive yourself to the base for recharging using an IR locator. 4. Possibility of manual control using the browser and the Internet. Stabilizer for powering the raspberry board itself. An L293 motor control driver was assembled on the breadboard and an mpu-6050 gyroscope connected via the I2C bus was installed.
Communicating with the Internet will be due to such a WiFi adapter Tp-Link.
Wound up right out of the box, without installing additional software. Also installed a camera for raspberry pi with CSI interface.
To rotate the camera, this mechanism will be used on two servos.
Raspberry will control it directly from GPIO ports, as well as movement motors through the L293D chip. Charging the robot will be carried out from the docking station to which you will need to drive up. To do this, contacts for recharging are installed on the front of the chassis.
It was bought in a store such a breadboard on which everything will be mounted. The Lego parts for mounting the Raspberry had to be abandoned, since not everything fits.
By attaching it to the chassis we get. Next, we attach the Raspberry Pi itself to the pins.
Now on the chassis.
The platform will go something like this:

2. General wiring diagram


3. Connecting motors

Let's take a closer look at the motor connection diagram using the L293D.
We connect the Raspberry Pi GPIO ports to the motor driver as follows: Left motor: L293 IN1 on GPIO 9 L293 IN2 on GPIO 10 L293 EN1 on GPIO 11 Right motor: L293 IN3 on GPIO 23 L293 IN4 on GPIO 24 L293 EN2 on GPIO 25

4. Raspberry Pi Setup

In order to manage this chassis remotely, you need a white IP address (permanent), which can be done using a router located in the room. For remote control and configuration, we need the PuTTY program. You can download it on the Internet. On the Raspberry, you need to enable the SSH server, if you have not done this, then you need to type the command sudo raspi-config in the console. In the SSH item, click on Enable. Next, reboot the board, now we can connect remotely. Install PuTTY on our computer and configure it. To do this, in the "Session" tab, enter the IP address of the Raspberry Pi. The IP address can be found in the router settings. We leave the port number 22, the connection type is SSH. Click "Save" while entering the name of the session. Now the settings are saved. Next, select the item Connection -> Data and enter our name and password to enter the Raspberry. If not changed, then the name and password are the same: pi and raspberry. We enter this in order not to enter the username and password each time at the entrance. Now select the item SSH -> X11 and check the box next to "Enable X11 forwarding", and in the line "Display X" you need to write localhost: 0 Let's go back to the "Session" tab and save all the settings under the name that we have already recorded. That's it, setup is complete! Click "Connect" and enter the Raspberry Pi command line. Now we set up a picture from the camera in the browser. To do this, on the command line, enter: sudo apt-get update After the command is completed, write the following: sudo apt-get upgrade Then: sudo raspi-config and enable camera support. Reboot, start PuTTY again and connect to raspberry. Next, install the applications necessary for mjpg-streamer to work correctly: sudo apt-get install libjpeg8-dev Then: sudo apt-get install cmake Download mjpg-streamer sources: wget github.com/jacksonliam/mjpg-streamer/archive/master.zip Then unzip the resulting archive: unzip ./master –d ./Valli (Vflli is an arbitrary name) Go to the cd /Valli/mjpg-streamer-master/mjpg-streamer-experimental folder, then enter make clean all With the nano command, change the file start.sh sudo nano Valli/mjpg-streamer-master/mjpg-streamer-experimental/start.sh delete the two uncommented lines there and write instead cd etc/ms/mjpg-streamer-master/mjpg-streamer-experimental ./mjpg_streamer -o "./ output_http.so -w ./www" -i "./input_raspicam.so -x 640 -y 480 -fps 10 -ex auto -awb auto -vs -ISO 100" Exit the editor with Ctrl+X, then Enter (we agree with change) and Y (yes). In the mjpg-streamer-experimental folder, run our script: ./start.sh It should start and there will be a lot of letters in the console, the LED will light up on the camera. The Ctrl+C command will stop the script and the LED will turn off. We open the browser, go to the following link: ip-address-raspberry:8080/?action=stream (where ip-address-raspberry is the IP of our raspberry) and get to the web server, click on Stream and see:
In order for the robot to move, it is necessary to install a web interface that will control the robot. We install. First, download WebIOPi wget webiopi.googlecode.com/files/WebIOPi-0.6.0.tar.gz unpack tar xvzf WebIOPi-0.6.0.tar.gz Go to the cd WebIOPi-0.6.0 folder and run the installation file with the sudo command. /setup.sh After installation, with the command: update-rc.d webiopi defaults we autostart the interface with raspberry. As always, open the browser, go to this link: ip-address-raspberry:8000 and get
As a result, we get: Good luck everyone! 2018-04-17T11:12:29+05:30

The Raspberry Pi works just like your regular desktop PC, except that it is a single board microcomputer the size of a credit card. But, is that all you can do with your Raspberry Pi? Not really. The device is so popular among students, professionals, hobbyists, and artists alike because you can do many things with it, including building a robot!

The best part is that you can build one for as cheap as $50 or as expensive as $1000 and beyond. Where do you get started, then? Pick out the right Raspberry Pi robot kit based on your preferences and you'll be good to go!

Here's a list of the best kits we found:

Top Raspberry Pi Robot Kits

1) SunFounder Raspberry Pi Smart Robot Car Kit

Hands down, the SunFounder Raspberry Pi robot kit is the best in the market today and we say this because it has outstanding functionality and just about everything you need to get started with your robot building project. It is a comprehensive STEM learning kit for enthusiasts and professionals and users can't stop praising it.

Let's take a look at all the features this kit comes with:

  • You will have a lot of fun during assembly! The vehicle is quite well-designed.
  • You can use it seamlessly for Python coding.
  • It has an S-block based graphical visual programming language line.
  • It comes with 3 different sensor modules that function for ultrasonic obstacle avoidance, light follower, and line follower.
  • You can engage in simple GUI programming with this robot kit.
  • The kit comes with the following:
    • Robot HATS
    • 1 set of acrylic plate
    • TB6612 motor driver
    • PCA9685 PWM driver
    • Light follower module
    • Ultrasonic obstacle avoidance module
    • 5-CH line follower module
    • 2 battery holders
    • 1 Sun Founder Servo
    • DC gear motor
  • Remember that you can use this only with Raspberry Pi and not the other boards.
  • It comes with a user manual that has complete instructions as well as code for the vehicle. It also has a published video online to help you further with the assembly and usage.

2) Dexter Industries Raspberry Pi GoPiGo3 Robot Kit

The Dexter Industries has made this GoPiGo3 Robot kit which helps to build a fully functional robot powered by Raspberry Pi 3. It includes a robot body, motors, controls and everything you need to get your Raspberry Pi up and running. Currently, it is one of the most popular Raspberry Pi Robot Kits on Amazon.

Features of the GoPiGo3 Raspberry Pi Robot Kit are:

  • It is a super robot car and upgraded version of GoPiGo
  • It comes with the fastest Raspberry Pi 3 board
  • Also works great with the A, B, and B+
  • It requires no soldering and powered by eight AA batteries
  • Dexter Industries provide the software examples and APIs
  • Other accessories include a preloaded Micro SD card, an Ethernet cable, a USB WiFi adapter, Raspberry Pi power supply, an ultrasonic sensor, and all the other essential components of the GoPiGo basic starter kit

3) Rapiro Robot for Raspberry Pi by Switch Science

The Switch Science has designed the Rapiro robot which is a DIY Raspberry Pi-powered kit. It is an affordable, sturdy, easy to assemble, humanoid robot kit.

Features of the Rapiro Robot by Switch Science are:

  • It is a DIY model Raspberry Pi robot kit
  • It is specially designed for the hobbyists, students, and engineers in the robotics field
  • The kit comes in unassembled condition, so user needs to assemble the parts
  • You can also install the Model B+ of Raspberry Pi with some small modifications in the Rapiro
  • After assembling, it weighs only 1Kg (Lightweight design)
  • It comes with 12 servos and a servo control board
  • Recommended for the age above 15+

4) PiStorms LEGO Robot – Raspberry Pi V2 Starter Kit

You can make the stunning robot powered by Raspberry Pi with this fantastic Raspberry Pi Robot kit from mindsensors.com. It easily interacts with your bot and can be programmed using the Python. The package includes a PiStorms controller, a LEGO compatible frame, a 6-AA battery holder, a WiFi adapter and an SD card loaded with a ready to use Operating System.

Features of the PiStorms Raspberry Pi Robot Kit are:

  • You can make LEGO robot by using the brains of Raspberry Pi!
  • It works great with the Raspberry Pi A+, B+, and Raspberry Pi 2
  • The LEGO Mindstorms NXT or the EV3 motors & sensors can be connected to code the Raspberry Pi
  • It has a built-in color touch display screen of 2.4-inch
  • The sturdy design includes an and a WiFi adapter

5) SunFounder Smart Video Car Raspberry Pi Robot Kit

If you want to get started with a robot, then this smart video car Raspberry Pi robot kit from SunFounder is a great option to choose. You can also apply this kit in a virtual machine on Linux. If you have an Android OS installed on Raspberry Pi, then you can operate this setup using a supported app by SunFounder.

Check the features of the SunFounder Raspberry Pi Robot Kit below:

  • It is a complete Raspberry Pi learning kit for the beginners in the field of robotics and electronics
  • The kit uses a step-down DC to DC converter module that reduces the input voltage
  • An L298N motor driver module also included in the bundle
  • It is a great kit for studying the Raspberry Pi robotics by both the code and application
  • It has a working voltage of 7 to 12V and is powered by two rechargeable lithium batteries of 18650A
  • The kit also includes a Webcam with a USB WiFi adapter
  • It comes with a compatible Android App for Raspberry Pi

6) BrickPi+ Raspberry Pi Base Kit


Design a stunning robot with the BrickPi starter bundle from Dexter Industries. It comes with all the necessary accessories. You need to separately buy the Raspberry Pi 3, power supply, micro SD card with preloaded ‘Raspbian for Robots’ software, etc. though.

Features of BrickPi+ Raspberry Pi Robot Kit from Dexter Industries are:

  • The battery pack is enough to power your Raspberry Pi board
  • If you attach the BrickPi case with LEGO, then it will turn into an excellent featured robot
  • Other languages ​​like Scratch, Python, and Java can be used to write code
  • You can connect up to four NXT or EV3 digital/analog motors & sensors
  • Control it remotely by connecting the LEGO Mindstorms robot to the web
  • An acrylic case is sturdy enough to protect your setup from accidental damage
  • A fantastic Raspberry Pi robot kit for beginners

The BrickPi+ Raspberry Pi robot kit is a Wi-Fi supported, cross country, off-road smart car robot kit. It helps you to make a 4-wheel smart robot car on your own without any professional help.

7) Raspberry Pi 3 Smart Video Car Kit by SunFounder

The SunFounder has developed an open source robot to help you understand the coding platform using Raspberry Pi 3. It includes a wide-angle webcam to give clear and perfect pictures of the objects that come in between the path of the robot car.

Features of the SunFounder Smart Robot Kit for Raspberry Pi 3 are:

  • You will get a real-time video transmission through the powerful webcam
  • An included remote helps to navigate the robot car easily
  • Attractive look, sturdy design, and multiple all-together make it a value for money robotics learning kit
  • It supports a compatible app which is supported by all types of Operating Systems
  • Though the Python code is provided to program it, you can use any development platform to make it up and running
  • It will need two high-capacity batteries to work on the operational voltage of 7-12 Volts
  • Essential components like Raspberry Pi 3, HATs, wide-angle camera, PWM driver, Motor driver, Servo, battery holder, screwdriver, wrenches, wheels, screws, nuts, and wires make you worry free from making different purchases to make a complete product

The user-friendly graphical interface, simple coding section with a drag-and-drop feature, multiple OS, and coding languages ​​support, etc. are the main advantages to have this RPi 3 robot car kit. It can work with any computer, tablet, mobile phones, etc.

8) Kuman Professional WIFI Smart Robot Car kit for Raspberry Pi


If you want a complete Raspberry Pi robot kit with a WiFi functionality, then Kuman professional robotic kit is an excellent option to choose. It will help you to control your Pi powered robot car through a mobile application too.

The Raspberry Pi Robot Car Kit from Kumancomes with features as below:

  • It comes with a preloaded SD card of 8GB capacity including the robot system codes
  • An included webcam provides real-time image and video transmissions on your device
  • Inbuilt hotspot feature offers an easy control through an app
  • Open source Python code makes the programming task easy and effective
  • The camera has 2-axis cradle which makes the shooting at any angle, and that is done without moving the robot car
  • The setup works on the most successful and powerful solution including the brain of the RPi motherboard & drive expansion with power management
  • A detailed manual with easy-to-understand diagrams helps to understand the working of the project

The smart robot car kit from Kuman is compatible with computer systems, iOS, and Android devices to let you get started with your Raspberry Pi 3. It takes advantage of both the application and coding platforms to interact and control the robotic car kit.

We hope we helped you find the best Raspberry Pi robot kit to get started with your magical projects. If you are still confused, you could take our recommendation and purchase the SunFounder Raspberry Pi Smart Robot Car Kit. It is supremely reliable and very easy to work with.

What are your thoughts? We would love to hear from you!