Baby Einstein toys being modified for simultaneous coordinated playback for artist Gedi Sibony for a show he had in London this fall (it may still be up!) These were carefully dissected and hacked to allow external control and song selection by way of the master micro-controller (An Atmel ATmega328P in Arduino form)
The fun thin about these, or NOT so fun thing, is that this turned in to a case study on why a self-clocking micro-controller isn’t always the best idea. It works like this…. Every piece of computer equipment has a “master clock” and lots of companies like to tell you it’s frequency. Back in the day, it used to be in Megahertz (MHz), meaning millions of cycles per second. The Apple II+ computer, with it’s 6502 processor, ran at a rate of 1 MHz. This was plenty for Oregon Trail. Things go faster nowadays, but most of these things have their master clock rate controlled by a very precision external oscillatory component. Sometimes it’s a piece of calibrated quartz crystal, a piece of ceramic, a phase locked loop, etc. All of these things are expensive, relatively speaking. A simple quartz crystal, can be as expensive as $1 in low quantities. As a result, microprocessor vendors have figured out clever ways to make it so you don’t need these components, and one of them is to set up an internal clock on the chip itself, or something that uses external, uncomplicated and low precision analog components to generate the master clock signal. As a result of manufacturing variation, the speed at which the clock runs can vary widely between individual systems and by temperature and other factors. ALL of these kids toys are internally clocked and they’re ALL over the place with their clock speeds.
This is exactly the same as having a set of record players that all have slightly different motors with slightly different speeds and trying to get them to all play in sync with each other. The slow ones are a little flat and it takes longer to finish the song, and by themselves they seem fine, but put them together and all hell breaks loose because as the song goes on, they get further and further out of sync, ending in a terrifying Casio keyboard circus nightmare…….which is kind of awesome.
1 year ago