Colecago's Blog » Audio, Linux, Microprocessor, Project, Web

Project Planning- WiFi Radio

My upcoming project is a WiFi Radio.  I have a small atom board computer that I will use as the base.  I am going to load it with XUbuntu (a lighter version of Ubuntu) and make it a WiFi radio.  I bought a cheap antique-looking radio from a pawn shop for $20.  I plan on using it as my case.

I bought 3 RGB encoders with push buttons to replace the current pots in the radio.  I want to still use the knobs but drill a hole down the center to allow the RGB light to shine through.  I will probably have to use some clear fill to spread the light out like a lightpipe, not sure what I will use for that.  I also bought an LED ring graph, that will be my channel/category indicator as I can make multiple categories of stations.  That’s all I plan on using for the UI.

Light Modes:


Playing a song- random fading, all the same or all different

Stopped- pulsing a color

In use- turn the one being turned a solid color

Possible Beat Mode- flashing/fading to a song beat


LED Ring-

Changing Volume/channel/category- display the amount on the bar graph using both sides, when done (as indicated by no change for a period of time) flash the lights a few times and go back to whatever the ring was set at

VU Mode- Left and Right channel VU set up split top and bottom

Equalizer Mode- 4 frequencies shown going from each quadrant to the next quadrant (so 4 LED’s each freq)

Chase Mode- have lights go back and forth to give the idea of chasing lights



AM/FM Knob Turn- will be used for changing categories of stations

AM/FM Knob PB- Change light mode of the knobs


Tuning Knob Turn- will be used for changing station within a category

Tuning Knob PB- change light mode on the LED Graph


Volume Knob Turn- used to adjust volume of course

Volume Knob PB- Mute/Unmute



Speakers- I got some sony mini speakers on sale from Best Buy.  I believe they were $5, originally like $40 though.  They sound pretty good.  Not as loud as the original speaker but has its own internal amplifier/driver and it’s stereo.


Software- I plan on using a teensy++ as my hardware interface.  It will send encoder and push button information via serial.  A python program on the computer will be doing the stream control using Streamtuner.  Also hoping to put the equalizer and VU work on the computer.  It would be nice to have all the LED control on the computer so it can be done quicker and more efficiently with the teensy board acting only as a hardware i/o interface.


The hard part will be the Python-Streamtuner interface, I  have never programmed in python before.  I typically use C, Java, or VB, but have used lots of other languages from time to time.  Also, because I won’t have a screen, connecting to new wifi networks will be difficult, I’m hoping to write a script that if a usb drive with a certain file (wifi.txt) is inserted, it parses that text file into its wifi connections to be able to connect, then I will never need to use a monitor after I get it set up.


Draftsight appx drawing

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.