I know a lot of people are going to want to do this, and I've had a really hard time finding any evidence that anyone has done it already. I hate doing more work than I have to though, so if anyone HAS done it already, please let me know.
I have constructed a duplicate home station for my Rovio, which it recognizes as beacon #0, just like its actual home. This is a good start, but I only have the home station, no beacons, so I'm having a hard time guessing what values I need to create stations 1-9.
Here's what I've learned so far:
The Northstar system used in the Rovio uses two infrared LEDs; we all know this. The LEDs are programmed to flash with a 50% duty cycle, at various speeds. The different speeds tell the robot which station ID it is looking at.
My suspicion is that only one LED's blink rate changes when you change IDs and the other is constant.
I opened my base station and opened the Northstar unit inside it. By applying a 100Mhz, 2-channel oscilloscope to the two LED-powering transistors, I was able to easily read the values used by the base station for channel 0. They are (as near as I can measure) about 2.01Khz and 3.03Khz. These have a common denominator of 165microseconds. If I wire up two infrared LEDs to blink, one at ~2.01khz and the other at ~3.01khz with a 50% duty cycle THE BOT RECOGNIZES IT AS NORTHSTAR BEACON #0.
All I need to produce a schematic for a complete, working beacon is the values for the blink rates for channels 1-9, and we can all have as many beacons as we feel like making at home.
So - has anyone out there got a beacon, an oscilloscope, and about ten minutes to test it and write the values down here? If you need any help I can give precise directions.