Sunday, 18 December 2011

Hacking the WowWee TriBot

The Tribot is an autonomous robot from WowWee with a nice feature set, including omnidirectionnal wheels, voice synthesis and several sensors. It cost 65 euros, much less on the second hand market (I got mine for 30 euros)



Once I got fed up with its excessively talkative nature (which took less than ten minutes), I started thinking about hacking the beast.



The most interesting part of the robot is its lower part: 3 wheels + 3 reasonnably powerfull motors (with wheel encoders) + the main board (including motor drivers) + the 12V battery case. Building such omni-directionnal robot base with brand new components from a robot hobbyist shop would cost much more than the price of this robot.

What about controlling this robot base with an arduino?

The parts we are interested in in the main board are:
- The 3 H-Bridges
- The Wheel encoder output to get feedback from the wheel rotation
- The 12V output to power the arduino

The wheel encoder outputs are in 12V so they cannot be directly connected to the Arduino (this will be adressed in a future post).

The  H-Bridges input for motor control can be directly connected to the arduino. To do that, I disconnected them from the main chip (using a Dremel on the chip pins) and soldered wires connected to the arduino instead.



Pinout is:
1: Motor 3 direction
2: Motor 2 direction
3: Motor 1 direction
4: Motor 1 enable
5: Motor 2 enable
6: Motor 3 enable
7-9: Wheel encoder feedback (not working properly, more info in a future post)


EDIT: It seems that the wheel encoder feedback does not work properly in this setup (it does not seem to be properly powered). Additional info in a future post.

11 comments:

  1. Now that you have created this project, what are you planning to make it do?

    ReplyDelete
    Replies
    1. Hello! The plan is to make a toy robot, remote controllable and autonomous... just like the tribot, but better!

      Delete
  2. Can you elaborate on how you powered the Arduino from the 12V battery pack? Also, did you ever work out the wheel encoders? Thank you

    ReplyDelete
    Replies
    1. You should not worry to much about Arduino power supply: just connect the 12V that the TriBot board outputs to its upper part (you can see it on the video, in brown and red) to the Vin and Ground of your Arduino. The Arduino will take care of the voltage conversion (officially it can handle up to 16V).

      However, it is true that there is a risk of Arduino reboot due to noise problems. To prevent that, you should add a decoupling capacitor (typically a 1000 uF capacitor) between Vin and Ground, as close as possible to the Arduino.

      About the Wheel encoders, yes, I managed to make them work, or at least to test them. I'll make a short blog entry about it soon.

      Delete
  3. which part of the actual main board is the motor controller the top part or the bottom i to am planning this same project

    ReplyDelete
  4. Great project! Would you mind sharing your code?

    ReplyDelete
  5. hi! please can you give me the name of the 12v input connector on this card? i had only the 12v output thanks and great work! i'm fan of it! :)

    ReplyDelete
  6. Nice project! I got mine last week (but without any remote) I'm looking for the different Pronto IR codes to control it with my computer, any ideas?

    ReplyDelete
  7. has anyone precise IR message format sent from tribot remote controller. I'm trying to make remote controller to tribot. There is here https://neuromorphs.net/ws2008/wiki/roboQuadTribot, but something is wrong with description, I tried this but Tribot wont react.

    ReplyDelete
  8. what is the voltage of the lower body? I want to power the motor directly with an external driver

    ReplyDelete
  9. hi, I accidentally mixed polarity and gave plus on minus minus on plus. the #38 resistor and something else burned down. You can prompt the scheme or what else to check?

    ReplyDelete