Information Superkitty

Information Superkitty!

Information Superkitty!

I listen to a lot of music in my workshop. And often my coworker wants to know what song is playing, which is rather inconvient when I’ve walked away and locked my workstation. It’s also kind of annoying when I’m soldering because I can’t really see my computer monitor very well. So I thought it might be nice to have a little display over my desk which shows the music data all the time. Presenting the information superkitty. The hardware is actually just an old project I built a number of years ago to use as a battery-powered serial monitor. But I repurposed it and fixed it up a little bit, and made it into a useful addition to my workbench.

The first step was to get the music information out of iTunes, my favourite music player. I found a neat set of Java classes which talk to the iTunes COM API, so I fiddled around a bit and got a Java program displaying the name of the track that was playing, etc. Then I hooked up my little serial monitor and started hacking the firmware for it. It runs on a PIC micro, and the code was written for an old C compiler which I don’t use anymore. It ported over pretty easily, and I fixed up a few things, but generally it worked with little change. I wrote a driver for it in Java, and got my Java software displaying text onto its screen.

One thing the information superkitty didn’t originally have was any sort of user controls. I used it only for monitoring, and never sending data. When the phone rings, in the old days of POTS I had some stuff connected to the phone line to turn off the music, but these days cells phones and VoIP make it rather difficult to know if the music should be off. Instead I added a rotary pot to the side of the superkitty’s case and added firmware to send its value when it gets moved. As an added bonus, when you turn the pot to 0, the playback is paused, and then when you turn the pot up again, it unpauses. Why does nothing else I know of do this? It’s actually feels quite natural to control the music in this way! So now when the phone rings, no more clicking like crazy to stop the music.

The box is a bit too small to add more parts inside, but some track control buttons, and maybe some favourites keys for streams would be nice. Anyway, for a few hours of messing around I’m rather pleased with the results! The software on the computer side still needs a bit of work because I’m not completely confident in how I’m parsing and displaying the song data. Definitely a work in progress, but so far so good.