In these days of everything-streaming, it’s great to see an old school radio build. It’s even better when it’s not old-school at all, but packed full of modern ICs and driven by a micro-controller like the dsPIC in [Minh Danh]’s dsMP3 build. Best of all is when we get enough details that the author needs two blog posts — one for hardware, and one for firmware — like [Minh Danh] has done.
This build does it all: radio, MP3 playback, and records incoming signals. The radio portion of the build is driven by an Si4735, which allows for receiving both in FM and AM — with all the AM bands, SW, MW and LW available. The FM section does support RDS, though because [Minh Danh] ran out of pins on the dsPIC, isn’t the perfect implementation.

The audio section is a good intro to audio engineering if you’ve never done a project like this: he’s using a TDA1308 for headphones, which feeds into a NS8002 to drive some hefty stereo speakers– and he tells you why he selected those chips, as well as providing broken-out schematics for each. Really, we can’t say enough good things about this project’s documentation.
That’s before we get to the firmware, where he tells us how he manages to get the dsPIC to read out MP3s from a USB drive, and write WAVs to it. One very interesting detail is how he used the dsPIC’s ample analog inputs to handle the front panel buttons on this radio: a resistor ladder. It’s a great solution in a project that’s full of them.
Of course we’ve seen radio receivers before, and plenty of MP3 players, too — but this might be the first time we’ve seen an electronic Swiss army knife with all these features, and we’re very glad [Minh Danh] shared it with us.
Considering the dsPIC family hasn’t been properly supported in over 7 years, I’d say it is pretty old school.
Nice build, the beeps would drive me mad though!
I’m pretty sure if you can build this you could tweak the beep into a food ack you’d prefer.
Feedback you’d prefer. Damn autocorrect ate me lunch
Although I do like the concept of a “food ACK”, like a belch?
+10