The radio has been in operation for a while, sitting above the sink in the kitchen. It’s pre-programmed to a favorite FM station, so each time it’s turned on it is tuned to this station. It’s loud enough to be usable while cooking or running water in the sink.
I decided not to use a wooden hardboard enclosure because I don’t have the tools to make precise cuts into it. Instead, the enclosure is made of 1/8 inch white acrylic, laser–cut to make a box about 12"x6"x3". The speaker grill is made of a grid of tiny holes each about 2mm in diameter. I wasn’t sure if the laser cutter would be able to cut fine holes with enough precision they wouldn’t bleed into each other, and I wasn’t sure if the acrylic would be strong enough to hold together once the holes were cut. It worked out very well and the acrylic is surprisingly strong, even with the dense perforation of the holes.
The telescoping FM antenna receives local stations quite well. Sometimes it needs to be rotated to get very clear reception but this is usually easy and doesn’t require much trial and error.
The internal ferrite loop AM antenna is heavily affected by local noise. It’s frequency dependent, drowning out most of the lower half of the AM band including strong local stations like KNBR 680, sometimes called “The 50,000 Watt Flamethrower,” according to Wikipedia. The noise may be coupled in through the power supply. I’m using an inexpensive AC/DC adapter delivering 12V and up to 1.5A, and it’s probably unregulated and poorly filtered. When powering the radio through USB (via the Arduino directly), most of the noise goes away.
Improvements and What’s Next
AM reception could use a lot of improvement. I could find a quieter power supply or add filtering on the supply line. A higher quality antenna would probably help, too. Adding internal shielding could also mitigate noise being coupled in through wires and boards inside the enclosure.
While it’s fun to listen to local favorites, I also enjoy listening to distant radio stations, like WWOZ from New Orleans or the BBC. I’m thinking of overhauling the radio to add streaming audio, probably with a handful of pre–programmed stations instead of a searchable directory. I’m not sure the Arduino UNO can handle streaming audio, so this might require a different controller, and a (preferably wireless) network connection. Ideally, the radio would have AM/FM and streaming audio. A slightly bigger speaker would probably be in order—maybe even stereo?