Monday, 9 April 2012

Using the WowWee TriBot wheel encoders.

The TriBot base includes wheel encoders that provide feedback about the actual wheel rotation to the TriBot main chip.

These 3 wheel encoders are connected to the TriBot board with 3 thin 3-wire cables. They take 12V as input and output 12V. This means that you should convert the output to 5v before connecting it to the Arduino, which is a hassle.

However, if you disconnect them from the tribot and power them in 5V, they will work fine and output a nice Arduino-friendly 5V.

So the connection of each wheel encoder to an Arduino is pretty straightforward: ground to ground, +5 to Arduino +5 output, and the wheel encoder output to any Arduino pin (preferably one of the interrupt enabled pins), configured as input.

The wheel encoder connector pinout is:

 |   |
1: Ground
2: Output
3: +5


  1. Just to clarify, are these the three connectors labeled J41 through J43? Also, although I realize that there are many examples online of generally how to read a wheel encoder, it might still be informative to see the Arduino code you used to test this configuration. Thanks

    1. Yes, connectors are J41 to J43. My pinout is the one of the cable: Ground is on the left when you look at the cable connector, with the big space on top of the holes. You can easily check which wire is connected to the ground to be sure.

      I don't have any Arduino code for that, so far I did not really use it. I just tested that it works: I read the wheel encoder output, wrote corresponding value to a led, checked that the led was actually blinking when the wheel was moving.

      The basics of wheel encoders are pretty straightforward: read the three encoder each loop, store the reading, increase a counter when it changes. You should be able to know how much you turn pretty easily.

      How to actually make your robot move the way you want with this information is another story...