Let's Make Robots!

TTBN Alpha

Remote presence trough web interface

Update - 10.02.2015 - Nothing more to add 

Marking this thing as done as I'm definetely not going to continue work on this. 

Everything related to this one is hosted on Github links below.

LINKS to gihub:

Code https://github.com/TinHead/TTBN-Alpha

Designs: https://github.com/TinHead/3d-designs

Update - 20.05.2014: SD Card Image


Note: This image is configured with the bare minimum and for specific hardware

I'm using an UVC compatible webcam (logitech C110) and an Edimax wifi dongle based on RTL8188CUS chipset supported by the rtl8192cu kernel driver. Unless meeting the specs NOTHING else will work as is! 


So here it is the software!

To get it working in your own wifi network you need to:

- download image from above drive

 - unzip

 - get empty SD card - 2Gb minimum image is 2Gb in size

 - flash image to it - now this depends on your OS on linux I do:

         dd if=alpha.img of=/dev/xxx 

         where /dev/xxx is the SD card 

- I will not post or support windows ... sorry

- once image is flashed you need to mount the SD card partition 2 and edit /etc/wpa_supplicant.conf to match your network by changing the defined network entry in the file ... SSID and PSK pass. SSID == ypur network name. PASS ... well simplest is to run wpa_password on you favorite Linux distro or use this to get the encripted string http://www.wireshark.org/tools/wpa-psk.html

- once done save unmount the SD ... insert to Pi and boot 

- check router for IP assigned

Now if everything goes well you should be able to SSH into it with user root no pass ... if not you need to use the serial console.. sorry :) 

You should be able to use Chrome to open http://your_lan_ip:8888 and get to the web interface. 

Regarding hardware connections I'm using GPIO's 7,8 for the track servos and 24 for the webcam servo. 

Warning! Do Not Attempt To Power Servos From the 5V pin of the PI you will KILL it!

Disclaimer: I do not care if your house burns down, your dog hates you, you cause an earthquake or anything else! This is offered as is. No support is offered ... unless you pay :) 




Update - 15.05.2014 - We're Rolling Baby!

Finally working! 


From Share


From Share


From Share

Change list: 

- created the top side + camera mount

- added a third servo to tilt camera 

- changed the web interface to accomodate the web cam tilt

Working! Tested by Frits, Gareth, Bdk, Enigmerald, Badji, Jinx and others (sorry forgot who else :D ) 

Need to fix some issues with tilt code ... will push latest to github when done.


- fix tilt code

- redo track tensioners (never really happy with them)

- various tweaks to track design

- various tweaks to casing 

Update - 16.04.2014 - engines tunning

Finally got new servos namely the TowerPro  MG90s ones. Full metall gearing yey! 

Modded one last night for continuous rotation keeping the electronics so it can be cotrolled just like regular servos.

To mod this type of servo you would do the following steps (yes I'll do a howto wiht pics) :

1. unscrew the 4 screws

2. remove the output gear (the last one) from the pot shaft

3. use a 1.5 mm drill to drill out the shaft lock hole so the output gear can easyly turn around the shaft

4. cut the plastic tab located underneath the output gear 

5. find the center of the pot as precise as possible and glue the shaft in place so it stays centered

6. put the thing back together and enjoy :)  

I'll have to update the tensioner design again ... I found I was pushing the track way too much, I'll make it shorter.

Also will work on the cover so it looks nice :)

Update - 4.03.2014 - ain't called alpha for no reason

Found a bug in the track design, you will need 28 links using hard pla :/

Also the tensioner needs to be longer. ... so a bit of redesign is in order.

Later edit: files fixed in git ... printing now.

<--- older stuff below --->


New project in works for a while.

I have designed this one with the following in mind:

  • printable by everyone not just me
  • off the shelf motors and batteries - easy to source
  • rpi + arduino nano + l293 (or what ever else fits) as electronics
  • webcam as the main sensor - GroG mentioned rpi cam but I think it's a bit pricey and badly supported
  • whatever else comes to mind

I have built a first prototype to test things out and it seems fine, so I think it's ready for some real world testing.

I'm using the RPI because of my own interests but the electronics can be changed to anything really. 

The current state of this does not have an upper case part, I did not design it yet but it will be added when I get to.

Here is a (draft) BOM to get things going:

1. Printed parts:


1 x lower_frame.stl

1 x battery_pi_mount.stl

2 x track_spacer.stl

1 x track_panel_right.stl

1 x track_panel_left.stl

4 x tensioner_wheel.stl

2 x tensioner_upper.stl

2 x tensioner_lower.stl

2 x idler_wheel_interiour.stl

2 x idler_wheel_exterior.stl

2 x drive_wheel_interior.stl

2 x drive_wheel_exterior.stl

26 x single_track_link.stl per track so 52 in total


2. Vitamins:


2 x continous rotation 9g microservos

3 x 18650 li-ion batteries - mine are 2000mAh ones

10 x 623zz bearings

2 x 45 mm long 3 mm diameter threaded rod

12 x 10 mm long 3 mm diameter screws (well I hope I counted well)

lots of 3 mm washers and nuts

2 x springs - ~8mm internal diameter , ~9 mm external diameter, ~ 16 mm in length - you'll probably have to experiment here

52 x 1.2 mm diameter, ~ 13 mm pins -- well anything goes here I used some steel wire


3. Electronics


1 x raspberry py

1 x arduino nano + motor driver shield ( this is to be settled but is what I have in mind)

1 x webcam mine is an el cheapo logitech  --- to be settled when we do the upper part

1 x 3A Ubec to stepdown to 5v


4. Build instructions:

Print all stuff, I used 0.2 mm.

Assemble as in renders below:

... and top view

I have setup a github repo here for the STL's not sure if it helps anyone to post the blend file: 


Have fun!

<--- Older entries below --->

Some pictures from the build below:

From Share

And one track complete:

From Share

Current state:

From Share

Today's update:

From Share

... backside

From Share

Comment viewing options

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


Very impressed with your bot.

I am in the first development stages of building a Teleprescence Bot, it started as an Arduino Nano ATMega328 collision avoidance Bot with a Raspberry Pi mounted on the top running MJPG-Streamer to stream video from a Logitech C270 to a web page.

I am now in the process of interfacing the RPi with the Arduino via I2C and have some of it working, so far I have a web page (Apache2 / Bootstrap) with control buttons and can turn on the motors connected to the Nano.

The software I am using is VERY slow almost 3 seconds from button click to motor starting, the software is very old and not mine and is in need of replacement but for testing the concept it sort of works.

When researching this further I came across your Youtube post which seems to be the solution to my needs but being a bit of a nube it's gonna take me some time to work it all out. 

With a little bit more digging I found this project however I see that you have now ditched the Nano and are running everything from the Pi, what were your reasons for this in case I decided to spend to long flogging a dead horse. The repsonse on your Youtube video looked almost instantaneous??

I was going with the Nano I2C interface to free up the USB ports of my Pi B Rev 2, 1 x WiFi and 1 x Web Cam and thought there would not be enough IO pins if I use the Pi alone for sensors etc as it will hopefully also have an autonmous mode when not being manually controlled and talk to another main Pi on the Network.

Thanks for reading. 

There are actually two things woking together to get the speed.

First is the OS, it is all compiled  from scratch, more similar to a router Linux than the usual Debian. Everything running uses about 30 Mb of RAM, the whole os 200Mb because I was lazy to clean up stuff.

The reponse is fast because I'm not using http requests, I'm using websockets to send commands (check out the source code). Http requires a request to be sent, processed by the webserver, and replied. Using a websocket is pretty much as with unix sockets.

I have dropped the nano because I have realised I could control the servos directly, why not simplify?

I have posted a SD card image feel free to hack on it :) 

Thank you for sharing. This would be a neat platform for experimentation, or playing around, or a great gift to a kid.

Have a great day!

It has to be the most longevive bot I've built so far. Still needs a bit of tweaking here and there but ... it's pretty much doing what I wanted.

Thankyou for sharing the image - I cant wait to download it tomorrow and get it studied :-D Once i've got my little Wall-e project completely finished I am going to get ordering the servos and suchlike ordered. I cant ruddy wait!

Been tossing back and forth between that and node.js...

How do find tornado to work with?


... and webapps in general torando is great !

I used a tutorial as a basis .. .(can't find link right now though :/) but it's fairly simple stuff.

Hi TinHead

This is absolutely amazing. I have been dabbling with microcontrollers and the Raspberry Pi and have been frequenting this site for months in search of that one project to inspire me to actually build one, and this is most certainly it! I even signed up just so i could post :-)

I am quite comfortable with the Arduino side of the project, however some more info on how the Pi is setup would be wonderful.

I need to find a 3D printer now :-)



You don't say where you are in your profile but if you're in Europe I could print you a set for a fair price (well fair in my view anyways :)  ). 

I did not get to update this post but I took out the arduino from the picture, whole thing is now running on the Pi only :) 

As for the Pi side of it, I'm running a custom build linux image using buildroot, depending on your Linux foo I can give you an SD card image or you can build your own. 

The web interface is built on Tornado a web application based on python, the backend makes use of pigpio to control the servos, mjpg-streamer to stream video. 

Final note: this is still WIP as for now so if you build it I take no responsability for house burndowns!


Thank you for taking the time to reply.

I would be very much interested in a set of parts :-)

Ah, I love how it is just running off the Pi, it makes perfect sense!

In the project that is brewing in my head i am going to be potentially using an Arduino to handle some sensors and servos etc.I need to learn to tackle things step by step, however; so setting up the Pi to handle movement via the GPIO pins is a much more sensible option for now :-)

That set up sounds fantastic; I am currently adding an Arduino and motors to a Wall-e toy for control via bluetooth, and one thing i was thinking of was rather than having mutliple apps on multiple devices to control it, why not have one 'built in' and served by the pi on a browser?!

If you could provide me with an image that would be absolutely amazing, and i would forever be in your debt.

I'm inexperienced but can find my way around with Python and Arduino/Processing, however Linux is something i haven't really got to grips with as of yet. I am going to right that wrong as soon as possible though!

Don't worry, i take full responsibility of my actions - I'll build it at work just in case :-D

Thanks again for making such a brilliant project!