Retrofit Robot

Turning one of my old favorite toys from my childhood into a raspberry pi zero based internet controlled robot.

Similar projects worth following
Since this Nikko robot from the 1980s stopped working many years ago I have wanted to remake this classic toy with modern electronic components. I originally planned to use the model b version of the raspberry pi but due to the lack of space inside the robot for both the raspberry and a battery large enough to run it for a long time, the project was delayed.

However, with the launch of the new raspberry pi zero which is a perfect fit for this robot. I decided to make this project a reality.

The goal of the project is to keep the original look of the robot while adding some new cool functionality to the old construction. The robot will be controlled with some form of bluetooth controller in the beginning for testing and in the end I plan on connecting the robot to the internet with a streaming webcam which can be controlled remotely with either a smartphone or a computer.

I also plan on adding a autonomous mode for patrolling the house while no one is home when the robot construction is finished. For this i need to add some sensors later on for detecting distance and maybe a microphone for reacting to sounds.

Summary of requirements:

  • The original look must be kept as much as possible
  • The robot must be able to be controlled remotely
  • Some sort of autonomous mode implemented
  • The battery must be able to last at least a day in standby (if autonomous)

The images I have taken of the project so far:

Still in good exterior condition after all these years:

Raspberry pi zero with raspbian jessie lite installed:

Adafruit 16-channel servo driver finished soldering:
The servo controller is attached with double sided tape and the servo is attached with both double sided tape and cable ties:

The original construction for the lift mechanism featured a motor with a lot of gear reduction which rotated a circular plate that pulled the attached spring lifting the arms.

It's quite the ingenious simple solution where two axles rotates and one of them hits a slope inside the arms which squeezes the arms together and then lifts upwards with only one motor.

The servo in the lowest position:
The servo in the maximum position, not much movement is needed for lifting the arms all the way:
Added some screws to the bottom to hold the servo motors that will drive the robot forwards:
The original construction was a single motor driving a axle connected to both the wheels. One of the wheels had a mechanism that locked the wheel when the robot was going backwards which made the robot turn. In my implementation, two servos drive the robot forward which will allow equal amount of turning radius in both directions.

Some epoxy glue holds the servo plates to the wheels.

The servos are mounted by squeezing the servos with some double sided tape inbetween. This space originally housed four AA batteries which powered the robot for a few hours. In my projekt, a 6000mAh li-po battery will be used instead.

Testing the wiring of all the servo cables:
Lots of measuring was involved when planning which components to order since the space within the chassi is very limited:
Testing how to mount the raspberry and still be able to access the gpio and the usb port.
Some of the original parts that was removed from the robot:
The original remote:
Delightfully retro:
Making the wiring look a bit nicer:
Generic cheap USB hub will be used for wifi and possibly a webcam later on:
Without the case:
I have no 3d printer or cnc machine so i used a dremel and a screwdriver to cut out a mounting plate for the raspberry.
Turned out pretty good:
The USB hub will be mounted in the head and some led lights will be mounted in the eyes.
Switched the smaller cable ties for bigger ones to increase the stability:
Removed a webcam from a old broken laptop and soldered a usb cable to the contacts, works perfectly and will be added to the robot at a later stage:
Found a small speaker inside a old broken video camera which will probably be used to emit som R2-D2 similar sounds:
The soldering station i use:
First test mounting of both the raspberry and the servo controller:
The lift mechanism works pretty good:
Adafruit powerboost 1000c acquired for both charging and boosting the 3.7v li-po battery:
Soldered a micro-USB contact to the usb hub:
I also ordered a charger doctor for checking the power draw of all the servos + raspberry pi, etc.

The power draw I observed so far:

Both small servos running in full speed: ca 300-310mA

The standard servo lifting something up: ca 300-330mA

Raspberry pi zero + wifi + bluetooth: ca 200-220mA


Read more »

  • 1 × Raspberry Pi Zero
  • 1 × Adafruit 16-Channel 12-bit PWM/Servo Driver
  • 2 × Feetech FS90R Continous rotating servo
  • 1 × Futaba S3003 Standard servo
  • 1 × Generic USB Hub

View all 10 components

  • Cable management

    Fredrik J03/04/2016 at 15:13 0 comments

    Started soldering and arranging all the cables. I also went with velcro for securing the battery which was a great tip I got from Radomir Dopieralski, thanks!

    I am quite meticulous with the isolation of the wires since I do not want this robot to be a fire hazard caused by loose wires.

    The header to the left is double three pin version with ground to the right, 5v in the middle and the signal cables for the servos on the left.

    Cable management in the upper part, only the signal cables for the servos in the bottom should be needed since the header in the bottom shares the same ground and 5v output.

    Attached a on-off switch which is connectod to the enable and ground pin of the powerboost which makes it possible to completely turn off the powersupply.

    As Ben Heck often says, make things that you can take apart. So I have soldered removable header pins to almost all parts of the robot.

  • Battery mounting

    Fredrik J02/14/2016 at 16:03 2 comments

    I thought a lot about how the battery will be mounted in a secure way. I ended up cutting a piece of meccano that I found inside my old toy boxes and will be using two screws bolted to the chassis to hold the battery.

    I also thought about how the robot will keep track of the current position inside a room.

    Found a USB mouse that might be used to track how long the robot has travelled in each direction.

    The caps needs to be desoldered and moved since the space between the battery and the bottom is quite limited.

  • The battery has arrived

    Fredrik J02/10/2016 at 13:49 0 comments

    So the battery has finally arrived in my mailbox today. Three balanced li-po cells acting as one single 6000mAh battery:

  • Waiting for the battery

    Fredrik J02/06/2016 at 22:56 0 comments

    I have ordered this: 6000mAh battery (Swedish site) but the battery is currently not in stock right now so I am patiently waiting for delivery.

    However I will be regularly updating some other project details while waiting.

View all 4 project logs

Enjoy this project?



Mathieu wrote 09/05/2016 at 08:04 point

Very clean work on this little buddy.
I have a similar project with this little fellow I've had for Xmas 30 years ago.
Originally powered by an arduino nano now the PiZero is exists, it's time to re-design everything.
On the rear drive axle, there was also a mecanism allowing to count the number of wheel full rotation the I'd try to keep.

  Are you sure? yes | no

Ben wrote 02/15/2016 at 09:26 point

Outstanding project, nice documented and clean, I really like it.

Just a question for you, are you able to charge the lipo battery and use the bot at the same time ?

  Are you sure? yes | no

Fredrik J wrote 02/15/2016 at 11:50 point

Thanks alot!

The robot can probably be used while being charged if a 2A charger is connected. My plan however is to use a inductive charging pad on the floor where the robot can park for a while when it needs a charge.

I have a lot of fun ideas for how the robot will find that charging pad too, like putting black lines on the floor that can be followed and maybe some sort of optical system mounted in the room that tells the robot where it is positioned relative to the charging pad.

  Are you sure? yes | no

Saabman wrote 02/13/2016 at 22:01 point

fantastic work - it's one of the best pi- zero projects I've seen so far. - hanging out to see it function and patrolling the house :) 

  Are you sure? yes | no

Fredrik J wrote 02/14/2016 at 02:08 point

Thank you very much, glad you like it! :D

Still thinking about how the robot will keep track of the current position, walls, etc. Might try to track the position with a USB mouse at the bottom of the robot or a wiimote mounted in the room with the robot emitting IR light perhaps.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates