iTOP Hack & Reverse Engineer

CLICK FOR FULL SIZEUpdated 3/27/05

Why the hack?

After seeing an iTOP and playing with one, I was totally smitten. What a great toy! If you haven't seen one.... go get get yourself one. (Definitely worth the $12 off of Amazon.) And so, when one is in deep smitt, one tries to learn as much as one can about the object of one's affections.

What's an iTop?

Can't wait for your order to arrive? An iTop is a simple top with a line of LEDs. As you spin the iTop, a custom microcontroller inside the iTop flashes them in such a way as to raster-display text. An iTop has 8 different games (you can challenge a buddy). These games include Total Number of Revolutions, Average RPM, Maximum RPM, and even a Magic 8-Ball type of game.

Why do I love the iTop so much?

An iTop is simply a children's toy with a little bit of feedback and intelligence. This is a classic example of how a little bit of well-done electronics can truly enhance a basic toy. Additionally, the iTop is nearly bulletproof. They went the extra effort of securing the pieces together with 8 screws! This thing can survive being spun off of a counter and hitting the concrete below at full speed. For carrying in your pocket, the pivot point swivels down and locks in place. This thing is COOL!

What were we trying to learn?

Well, as I showed everyone of my adult-friends (the kids already were bored with theirs) my brand new iTop, everyone wanted to know how it worked. Was it a digital compass? Was it inertial? Was it something else?

We doubted inertial, as the top is well balanced and force alone (even a single axis accelerometer MEMS device) is a tricky way to gauge rotational velocity. An accelerometer MEMs device would also drive this thing right out of the $12 price range.

Additionally, we figured this thing's LED rastering was spot on! It basically didn't "move". We started to believe in the possibility of a circuit that picked up the Earth's magnetic field.

So....was it a digital compass, or some clever analog circuit.

Time to crack it open and have a look-see. You'll find the circuit and everything else below.


Start by unscrewing the 8 screws on the underside. This includes the 2 battery holder compartment screws. You will also need to move the pivot into it's perpendicular position. At this point you should be able to pry the 2 sides apart.

Beware....there are lots of small parts to lose at this point!


Here's a closeup of the underside of the 2 part circuit. Typical for a toy, a custom ASIC is buried beneath a blob of epoxy. Careful not to lose any of the 3 silicone rubber switch pads.


The other side (top side of the iTop) has the LEDs. There are also a couple of larger caps and another device we will be investigating much closer. Initially, this device (hint...Henry knows what it is) is covered in black heatshrink. The photo to the right shows the particular component exposed.


Here's a closeup of the inductor. It's a small little bugger, ain't it?

At this point it was time for some experiments.


Main Question: Does the circuit use magnetism?

Yes! First, I hooked up the battery terminals to a bench supply. Then, I looked up the output locations of the dual op-amp (LM358) found on the board. Finally, I pased a strong magnet back and forth in front of the inductor. Voila! A signal. After the first stage, the signal was in the millivolt range, but after the second stage, it was at +3V (VCC) and cleaned up nice and pretty.

Furthermore, this beauty of a circuit seemed plenty sensitive (to field strength) and insensitive to the impulse rate (speed). Perhaps this iTop circuit would make an excellent robotics detector.


So, what does the circuit look like?

To the right, you'll see what a night of PCB probing will get you. Notice one thing....the inductor value is missing. Inductors are notoriously difficult to measure, and this one was giving me weird readings. I figured it was somewhere between 3mH and 20mH before I managed to bust one of the windings ( bad).


Off to Mouser to get me some inductors. I ended up trying a 10x scatter shot in hopes of figuring out the tolerance of this circuit.

1. P/N 434-03-154J 150mH (Fastron)

2. P/N 434-01-333J 33mH (Fastron)

3. P/N 434-01-103J 10mH (Fastron)


My Mouser-selected inductor versus the iTOPs original inductor.


Looks like size does matter in this case.


Nothing a nibbler and an x-acto knife couldn't take care of.

Oh, and you know those small silicone switches I warned you not to lose in step #1. Well....I lost mine somewhere in my messy work area. This is why there are no buttons in the photo on the right. I ended up resorting ot a flat-bladed screwdriver to short the sense traces (think of it as a long-handled button).


The official test setup. Do not construe this as an endorsement for any particular brand of yellow drills.


The drill works and the iTOP works. Too bad I'm going backwards!


One curious thing to note...the drill's motor is most likely spewing out a far stronger magnetic field than our planet. The iTOP doesn't seem to mind.


Cool. Still works at the slower speed, too.


This is where I completely befuddle the little ASIC inside the iTOP by sticking a magnet right next to it.


More proof. I've balanced the magnet's field with that of the drill motor and the iTOP thinks it is rotating twice as fast as it really is. This is why the display is showing up twice.


With the big daddy 150mH inductor in place.

What did we learn?

We learned that the iTOP is a simple analog circuit built for detecting the Earth's (or another strong nearby) magnetic field. The magnetic field creates a small current in the inductor. This small signal is then sent through a both stages of a dual op-amp (for amplification and cleanup) before heading to the digital ASIC.

The ASIC most likely has an input capture timer watching this signal. Once the timer-per-revolution is determined, the ASIC most likely divides this up into smaller segments for pulsing the LEDs (to form a raster display),