Java engineer Stratos Botsaris hacked a remote-control toy and turned it into a far cooler Pi-powered Spy Robot. If that wasn’t excting enough, he now controls it from his Android phone while it bounces the video display to the screen.
The full article can be found in The MagPi 41
A project like this deserves further investigation, so we caught up with Stratos to ask about the Spy Rover. “I did not want to build just another moving robot,” he says. “At the same time, I was experimenting with the video recording capabilities of Raspberry Pi. So that was the moment that I came up with the idea of building a rover that could take real-time video.
“I wanted to use my Android programming skills to develop an application that could display live video to the user.”
Rather than build a robot from scratch, Stratos took apart a Big Bargain King Force Excavator. With the top half removed, he slotted in an original Pi Model B hooked up to a breadboard, WiFi dongle, and USB webcam.
An L293D chip controls the motors. “The L293D is a motor driver integrated circuit that can simultaneously control two motors in either direction,” says Stratos. “If I want to move the rover forward, I make both motors turn clockwise, and if I wish to get the rover to reverse, I make both motors turn anticlockwise. In case the rover needs to turn right, I stop the right motor and make the left motor turn clockwise, and the same logic applies when the rover needs to turn left."
With the mechanics in place, Stratos turned his attention to the controller. It made sense to use a controller with a screen so that he could see through the webcam. Eventually, he decided to build a controller app for Android and control the Spy Rover directly from a phone.
“I have developed some Android applications in my spare time, so implementing an Android application for this project was not so difficult.”
As Stratos discovered, streaming the video would prove a bigger challenge than controlling the Spy Rover. “After a lot of research, I found out that I had to use some libraries, written in C++, inside the Android app to accomplish my task. Fortunately, I found another project that had solved this problem, so by using parts of the source code, I was able to complete the implementation of the Android application.”
Aside from video streaming, the hardest part of the project was power. “The Raspberry Pi requires a constant power supply of 5V voltage and up to 3A current. After some research, I decided to buy a UBEC (Universal Battery Eliminator Circuit), which provides 5V from an input of 5.5V-20V and is capable of supplying up to 3A. Then I bought a battery box of six AA batteries to provide enough voltage (9V) to the UBEC.
“The next challenge I faced was connecting the UBEC to the Raspberry Pi. I had to find a way to connect the power output wires of the UBEC to the USB connector. Fortunately, I came up with the idea of cutting a USB cable and joining its two internal power cables to the output power cables of the UBEC; this was my real eureka moment.”
Stratos aims to make the next project faster. “The plan is to transfer the rover to a plastic toy car with normal wheels.”