Category Archives: omnibot

Pimping the Omnibot 5402, pt 2: making the arms move

I always wanted the Omnibot to be able to actually grab and lift objects. So I started with the arms and recycled the 2 DoF shoulder servo pack from Trashbot.

The original two arms of the Omnibot 5402

The goal was to get the should parts replaced in a lean looking way. However, the original arms only move forward but not sideways, i.e. Omnibot cannot hug. Adding a second degree of freedom will thus inevitably broaden its shoulders:

Increaing distance between arm and body when using two servos

One trick was to hide the hugging servo within the body as good as possible. A next iteration could also hide the lifting servo a bit in the upper arm. For the current version, I chose to add it on a newly designed base plate that is at least slimmer than the inner should cover (compare it to the underarm):

Close up of the 3d printed 2 DoF shoulder joint on the Omnibot 5402

Here’s an earler version of the design, before I moved the should into the corpus:

Trashbot’s shoulders re-used in the Omnibot 5402

Software wise, I had to slow down the servo speed as otherwise Omnibot would move like this:

Single arm of the Omnibot 5402 moved by two servos without speed control

The final result are the two arms, each controlled by a thumbstick of the Bluetooth game controller. I added the Adafruit servo HAT to the stack that was using the motor stack before:

Omnibot 5402 moving two arms on two different axes using a bluetooth gaming controller

As usual, I’ve uploaded the two 3d files (.STL) on thingiverse, let me know, when you’re trying these out!

One of the things that are not making me happy is that Omnibot’s belly is to bold that it can’t close the arms and the arms are so short that they can’t lift anything that is in front of it. Fixing these two “bugs” would mean a complete redesign of the arms, I fear.

Pimping my favourite 80’s robot: Omnibot 5402 (Pt 1: driving)

When i was a child, I was dreaming of the Omnibot 5402, I loved its size, its ability to be radio controlled, it could speak and it could record movements on a built-in tape recorder and it could carry things. A perfect companion!

When you get older, you can make some of your youth dreams come true. So two years ago, I was lucky to get not only one, but two Omnibots on Ebay for 99$ (tax and shipping summed up to another 200$, though 😀 ):

I cleaned the battery compartments of the remote control and the white one and made sure that these work properly, I replaced the original batteries with 2S 7.4V LiPos and bucket converters (max 20 Amps for the Omnibot itself):

1800mAh 7.4V LiPo and bucket converter and barrel connector for the Omnibot 5402
1800mAh 7.4V LiPo and bucket converter and barrel connector for the Omnibot 5402
Battery and converter built into the Omnibot 5402
Battery and converter built into the Omnibot 5402

But the real fun starts with the yellow Omnibot:

  • I wanted to have a Raspberry Pi controlling it,
  • a decent Bluetooth remote control with more options,
  • the arms moving,
  • a camera for computer vision
  • USB sound card with a loud speaker and a microphone
  • LED matrix eyes for emotional expressions and to indicate where the robot’s looking at

So, the journey starts with decomposing it and enjoying how it is constructed:

Base of the Omnibot 5402 including all wheels, gearbox and motors
Base of the Omnibot 5402 including all wheels, gearbox and motors

That’s the lower part containing the four wheels that are driven by two motors in the gear box.

The four wheels of the Omnibot 5402, the belts light greay have flattened over the years.
The four wheels of the Omnibot 5402, the belts light greay have flattened over the years.

Of course, we want to keep the robot as original as possible, so I needed a H-bridge controller to control these two motors.

Omnibot 5402 gearbox and motors open
Omnibot 5402 gearbox and motors open
Omnibot 5402 gears taken out for cleaning
Omnibot 5402 gears taken out for cleaning
Omnibot 5402 gearbox connected to the Adafruit Motorshield and the Raspberry Pi 3
Omnibot 5402 gearbox connected to the Adafruit Motorshield and the Raspberry Pi 3

I took the original cable from the Omnibot’s motherboard and connected it to a Motor HAT from Adafruit. In that way, it was easy to use their examples to control the motors using Python.

Omnibot 5402 gearbox controlled by Raspberry Pi and Adafruit motor HAT

Next I’d build this into the base, add LiPo power to the motor controller and USB battery power to the Pi:

Omnibot 5402 base drive test

Finally, I’d add some code to connect by 8bitdo sf30 Pro Gamepad via Bluetooth to it:

Bluetooth controlled base of the Omnibot 5402

I decided to use the D-pad to control the Pi since I wanted to use the thumbsticks for the arms. The D-pad can be used to drive the Omnibot like a tank, forward lets both motors go forward, rotation on the spot can be achieved by turning the motors in opposite directions. Since the motor control is PWMed, we can also set the speed so that the speed is independent of the battery level.

You can find a tutorial on how to read a gamepad via python here.

The next blog entry will cover the movement of the arms.