Back to HackFurby.

Using CIR to Hack Furby
As you can see on my remote controls page, you can do a lot to your furby with a universal remote and a little patience.  But the real fun is when we finally decode all those signals, see what they have in common, and use that information to guess what other signals can make the Furby react.

What do you use?
What will you be using?
Furby IR Protocol
IR Analyzer
How can I build one?

What do you use?
[Links to the software and hardware mentioned in this section are at the bottom of the page.]
To do this, I've decided to use Earle F. Philhower, III's CIR circuit, with proposed modifications from Darwin and software from Earle and Dayman Pang.  Unfortunately, I haven't had the time to decompose all of the signals, so I don't have a lot of useful information yet.  I'll be spending part of the Christmas break doing just that.

Right now, I'm using a variation of Earle's CIR.  The difference is that I'm using a 100KOhm resistor for R1.  Check Darwin's schematic for radio shack part numbers and component orientation.  Keep in mind that the Darwin schematic is a different circuit.  I'm just suggesting that you use it for pointers on part numbers and component orientation.

BTW:  I have no plans to sell CIR kits or prebuilt CIR circuits.  If you are interested in providing that service, though, let me know.  There have been a few requests.

The CIR does not function on my 486DX4100 thinkpad laptop.  It does work on a spare P166 Gateway desktop in my office.  I don't know of any way to be sure that it will work on your computer before you put it together.  Just make sure that you have a fairly fast Win95 machine somewhere to use for troubleshooting.

On the parallel interface, Pin 3 is power.  Pin 13 is data.  The Darwin schematic replaces the need for Pin 3.  My 166 puts out enough power on Pin 3, so I'm still using Earle's schem.

I use a solderless breadboard, btw.

I use powerir(available at Earle's site) for recording text-based samples to analyze.

I have not tested transmission with the CIR.  I'm still on a fact-finding mission.  Once I've recorded all of the remote control signals that make furby react AND all the signals that I can get furby to put out, I'll start sending mutations of those signals to the furby. [Note, I've started checking transmission with the CIR, but Furby isn't responding.  Don't know what the problem is yet.]

Someone reported that you can use a video recorder to 'see' the IR data streaming from the furby.  That little piece of advice has proven VERY helpful to me! I'm using a Sony digital camera to do it.

Recently, I've had some spare time.  I've found that Furby's IR protocol seems to be much different than typical remotes.  The bursts of IR light from the Furby are much longer than they would be from a normal remote.  I've written a small program to compare signals that are intercepted with the CIR circuit.  Email me if you are interested in that program and the data I've collected thus far.  I need to spend some time analyzing the data and experimenting with custom signals before I'll have anything solid enough to post here, but at least we're getting there!

What will you be using?
I plan to hook the parallel port directly into the Furby's board.  I think I can intercept the signals before they reach the LED and the PHOTOTRANSISTOR on the furby.  This plan will, hopefully, cut guess work down A LOT!

Thoughts on the Furby IR Protocol
Well.  The out.gif image shows a bunch of signals.  Some are from a remote.  Others are from the Furby.

The first 5 are attempts at capturing the webtv button that makes the furby sing Twinkle Twinkle.  The next 3 are the wetv button that makes him reset.  The next group are good samples from the furby.  I think they were TICKLE, INVERSION, TICKLE, TICKLE, TICKLE, etc.  The next set are RESET, WAKE, and a random.  The last 3 all happened when I inverted the furby

Notice that the Furby signals appear to be repeated 3 times.  I think this is because Furby's don't walk and chew gum at the same time.  They can't send and receive IR at the same time.  So the signal is sent 3 times in a row, in case the other furby is busy when the first one or two signals are sent.
http://www.homestead.com/hackfurby/files/out1000.gif
http://www.homestead.com/hackfurby/files/out.gif

IR Analyzer
The images I posted that show the IR samples were created by a program I wrote that reads in multiple text-based ir samples(from powerir at Earle's site) and draws 'em(zoom, screencapture, etc capabilities).
http://www.homestead.com/hackfurby/files/out1000.gif
http://www.homestead.com/hackfurby/files/out.gif
It is called EarleReader and it is written with Java 1.1 libraries.  I'll make it available for download soon.

How can I build one?
If you are interested in building CIR, GO FOR IT!  Let me know how you do and if you have any questions.  Here are some links to get you started:
 

Earle's CIR site
Darwin's extra readable CIR schematic
Darwin's page
Dayman's MonsterClicker Software



[Create your own website at www.homestead.com!]