Modern DIY FM radio

Back in the day, building a DIY radio was fun! We only had to get our hands at a germanium diode, make some coils, and with a resistor and long wire as an antenna maybe we could get some sound out of those old white earplugs. That was back then. Now we have things like the Si4703 FM tuner chip that can tune in FM radio in the 76–108 MHz range, comes with integrated AGC and AFC, controlled by I2C, as well as a bunch of other acronyms which seem to make the whole DIY radio-building process outdated. The challenges of the past resulted in the proven solutions of the present in which we build upon.

This little project by [Patrick Müller] is a modern radio DIY tutorial. With an Arduino Nano as the brains and controller for an Si4703 breakout board, he builds a completely functional and portable FM radio. A small OLED display lets the user see audio volume, frequency, selected station and still has space left to show the current available battery voltage. It has volume control, radio station seek, and four buttons that allows quick access to memorized stations. The source code shows how it is possible to control the Si4703 FM tuner chip to suit your needs.

As for ICs, not everything is new, [Patrick] still used the good old LM386 amp to drive the speaker, which is almost 35 years old by now. As we can listen in the demo video, it can still output some seriously loud music sounds!

Continue reading “Modern DIY FM radio”

PCB Design Guidelines to Minimize RF Transmissions

There are certain design guidelines for PCBs that don’t make a lot of sense, and practices that seem excessive and unnecessary. Often these are motivated by the black magic that is RF transmission. This is either an unfortunate and unintended consequence of electronic circuits, or a magical and useful feature of them, and a lot of design time goes into reducing or removing these effects or tuning them.

You’re wondering how important this is for your projects and whether you should worry about unintentional radiated emissions. On the Baddeley scale of importance:

  • Pffffft – You’re building a one-off project that uses battery power and a single microcontroller with a few GPIO. Basically all your Arduino projects and around-the-house fun.
  • Meh – You’re building a one-off that plugs into a wall or has an intentional radio on board — a run-of-the-mill IoT thingamajig. Or you’re selling a product that is battery powered but doesn’t intentionally transmit anything.
  • Yeeeaaaaahhhhhhh – You’re selling a product that is wall powered.
  • YES – You’re selling a product that is an intentional transmitter, or has a lot of fast signals, or is manufactured in large volumes.
  • SMH – You’re the manufacturer of a neon sign that is taking out all wireless signals within a few blocks.

Continue reading “PCB Design Guidelines to Minimize RF Transmissions”

Parts Bin Bonanza Leads to Arduino FM Radio

Trolling eBay for parts can be bad for your wallet and your parts bin. Yes, it’s nice to be well stocked, but eventually you get to critical mass and things start to take on a life of their own.

This unconventional Arduino-based FM receiver is the result of one such inventory overflow, and even though it may take the long way around to listening to NPR, [Kevin Darrah]’s build has some great tips in it for other projects. Still in the mess-o-wires phase, the radio is centered around an ATmega328 talking to a TEA5767 FM radio module over I²C. Tuning is accomplished by a 10-turn vernier pot with an analog meter for frequency display. A 15-Watt amp drives a pair of speakers, but [Kevin] ran into some quality control issues with the amp and tuner modules that required a little extra soldering as a workaround. The longish video below offers a complete tutorial on the hardware and software and shows the radio in action.

We like the unconventional UI for this one, but a more traditional tuning method using the same guts is also possible, as this retro-radio refit shows.

Continue reading “Parts Bin Bonanza Leads to Arduino FM Radio”

Fail of the Week: The Accidental FM Radio

[B Arnold] is hearing voices and needs help from the Hackaday community. But before any of you armchair psychiatrists run off to WebMD, rest assured that [B Arnold] suffers not from schizophrenia but rather has an RF coupling problem.

The project (which isn’t posted yet) is an attempt to turn a C.H.I.P into an Amazon Echo, for which [B Arnold] needed an audio amplifier. Turning to the junk bin, he unearthed an LM386, that venerable power amp chip that first appeared in the mid-70s. Dead simple and able to run off a 9-volt battery, the LM386 that has found its way into thousands of commercial products and countless hacks.

Shortly after applying power to the amp, [B Arnold] started hearing things – faint, far-off voices, scratchy but discernible. A bit of repositioning of wires and hands improved the signal enough for a station ID – an FM talk radio station on 97.1 MHz. [B Arnold] doesn’t mention the call sign, but it might have been KFTK out of St. Louis, Missouri; in any case, it would be helpful to know the range from the transmitter to the inadvertent receiver. Two low-fidelity audio clips are included below for your listening pleasure – you’ll want your headphones on, and Sample 2 is better than Sample 1 – as are photos of the offending circuit.

What do you think is going on here? We’ve heard of RF coupling of AM radio stations before, but how would FM signals be making it into this circuit and out of the speaker? Is there anything [B Arnold] did wrong to get this result? Sound off in the comments and let us know your horror stories of RF coupling.

Continue reading “Fail of the Week: The Accidental FM Radio”

ARM Board Transmits FM

There is more than a casual link between computer people and musicians. Computers have created music since 1961 when an IBM7094 sang the song Daisy Bell (later inspiring another computer, the HAL 9000, to do the same).

[Vinod.S] wanted to create music on an STM32F407 Discovery board, but he also wanted it to play on his FM radio. He did it, and his technique was surprising and straightforward. The key is that the ARM processor on the Discovery board uses an 8MHz crystal, but internally (using a phase-locked loop, or PLL) it produces a 100MHz system clock. This happens to be right in the middle of the FM radio band. Bringing that signal back out of the chip on a spare output pin gives you the FM carrier.

That’s simple, but a carrier all by itself isn’t sufficient. You need to FM modulate the carrier. [Vinod.S] did the music playback in the usual way and fed the analog signal via a resistor to the crystal. With some experimentation, he found a value that would pull the crystal frequency enough that when multiplied up to 100MHz, it would produce the desired amount of FM deviation. You can see a video of the whole thing in action, below.

Continue reading “ARM Board Transmits FM”

FM 101 and Transmitter Build with Afroman

One of our favorite purveyors of electronics knowledge is at it again. This time, [Afroman] explains how frequency modulation works while building up a short-range FM transmitter on a board he has available at OSH Park.

The design is based on a MAX2606 voltage-controlled oscillator (VCO) chip that can do 70-150MHz. [Afroman] sets it up to oscillate at about 100MHz using a 390nH inductor. He also put a potentiometer voltage divider on the 2606’s tuning pin. Voltage changes issued through the pot alter the transmitting frequency in small increments, making it easy to dial in a suitable channel for your broadcast. Add an electret mic and about a meter’s worth of solid-core wire and you have yourself an FM transmitter that is good for around 20 meters.

There are plenty of ways to build a small FM transmitter that allow for some experimentation and don’t involve placing SMD components. We covered a build last summer that uses a couple of 3904s and rides a 9V connector salvaged from a dead battery. The downside is that transistor-based transmitters tend to be less frequency-stable than a VCO chip.

Continue reading “FM 101 and Transmitter Build with Afroman”

Retro-fit old radio with Arduino and FM module

“You can’t put new wine in old bottles” – so the saying goes. But you would if you’re a hacker stuck with a radio built in 2005, which looked like it was put together using technology from 1975. [Marcus Jenkins] did just that, pulling out the innards from his old radio and converting it to an Arduino FM radio.

His cheap, mains powered radio was pretty bad at tuning. It had trouble locating stations, and tended to drift. One look at the insides, and it was obvious that it was not well engineered at all, so any attempts at fixing it would be pointless. Instead, he drew up a simple schematic that used an Arduino Nano, an FM radio module based on the TEA5767, and an audio amplifier based on the LM386.

A single button on the Arduino helps cycle through a range of preset frequencies stored in memory. The Arduino connects to the FM radio module over I2C. The existing antenna was connected to the TEA5767 module. The radio module outputs stereo audio, but [Marcus] was content with using just a mono channel, as it would be used in his workshop. The audio amplifier is pretty straightforward, based on a typical application found in the data sheet. He put it all together on proto-board, although soldering the FM radio module was a bit tricky. The Arduino code is quite simple, and available for download (zip file).

He retained the original tuning knob, which is no longer functional. The AM-FM selector knob was fitted with a micro-switch connected to the Arduino for selecting the preset stations. Almost everything inside was held together with what [Marcus] calls “hot-snot” glue. The whole exercise cost him a few Euros, and parts scavenged from his parts bin. A good radio could probably be had for a few Euros from a yard sale and much less effort, but that wouldn’t be as cool as this.

Go deeper and explore how FM signals are modulated and demodulated for playback.