Thank you for coming to see my raspberry pi project


So Where to begin.....

I first saw the Raspberry Pi when I helped a friend with a home security project. I thought "hey I could do something cool with that."

So the basic idea of the project was to build something with the Raspberry Pi that I could control over the internet. After some deliberation I decided a robot was the way to go. So here we are - I have a robot in my home that I can control over the internet using any normal web browser on desktop or mobile.

The base machinary for the project is the 4TRONIX INITIO 4WD ROBOT KIT FOR RASPBERRY PI

The inito came out of the box with a lot of the equipment that I wanted:

  • Chassis and wheels
  • Motors
  • An interface between pi and motors (PiRoCon Controller)

It also has:

  • Servo pan tilt mechanism
  • Distance sensors
  • Wheel revolution sensors

With all of these components pretty much ready to go out of the box I had more time to focus on the code and connectivity of the project.

So once I had the initio assembled it was time for the juicy stuff...

How it works

Briefly, The raspberry pi is the brain of the robot. Among other things it has a CPU with linux based operating system (I'm running raspian), a usb Wifi connection, camera input and GPIO (General Purpose Input Output) pins for connection to motors, servos etc. So the pi has the ability to take input from the outside world, or run programs stored in its own memory and transfer the inputs and outputs to the components on the robot or back out to the web.

The other piece of this project is the web side. So without going into detail on how the internet works, the web interface (part of this site) is stored on a server. I have my own server from Cloudatcost.com. Its a little better than a normal hosting account in that you actually own the server so you have full access and control.

So the server language is PHP and the client side runs as a normal web page using html, css, javascript. On top of these I use jQuery and Bootstrap to make the page look a little better on mobile. For me, it is very important that the robot can be controlled from a smart phone.

The video streaming os done using MJPG-Streamer

For quick interaction between the pi and the webpage controler I run node.js and socket IO on the PI. This is a direct connection between the web page and the robot which bypasses the server, speeding up reaction times.

Git Hub

I have translated some of the functionality of the project into modules which you can use. Visit my GitHub page


Split screen

This vid shows the website loading, connecting to the robot and then moving it around at will over the internet.


This vid shows the The motor and servo operation using a smart phone.

Yes and No

Some simple movement of the servos