FM Radio, The Choice Of An Old Generation

Had the pandemic not upended many of this summer’s fun and games, many of my friends would have made a trip to the MCH hacker camp in the Netherlands earlier this month. I had an idea for a game for the event, a friend and I were going to secrete a set of those low-power FM transmitters as numbers stations around the camp for players to find and solve the numerical puzzles they would transmit. I even bought a few cheap FM transmitter modules from China for evaluation, and had some fun sending a chiptune Rick Astley across a housing estate in Northamptonshire.

To me as someone who grew up with FM radio and whose teen years played out to the sounds of BBC Radio 1 FM it made absolute sense to do a puzzle in this way, but it was my personal reminder of advancing years to find that some of my friends differed on the matter. Sure, they thought it was a great idea, but they gently reminded me that the kids don’t listen to any sort of conventional broadcast radio these days, instead they stream their music, so very few of them would have the means for listening to my numbers stations. Even for me it’s something I only use for BBC Radio 4 in the car, and to traverse the remainder of the FM dial is to hear a selection of easy listening, oldies, and classical music. It’s becoming an older person’s medium, and it’s inevitable that like AM before it, it will eventually wane.

There are two angles to this that might detain the casual hacker; first what it will mean from a broadcasting and radio spectrum perspective, and then how it is already influencing some of our projects.

Continue reading “FM Radio, The Choice Of An Old Generation”

FM Radio From Scratch Using An Arduino

Building radio receivers from scratch is still a popular project since it can be done largely with off-the-shelf discrete components and a wire long enough for the bands that the radio will receive. That’s good enough for AM radio, anyway, but you’ll need to try this DIY FM receiver if you want to listen to something more culturally relevant.

Receiving frequency-modulated radio waves is typically more difficult than their amplitude-modulated cousins because the circuitry necessary to demodulate an FM signal needs a frequency-to-voltage conversion that isn’t necessary with AM. For this build, [hesam.moshiri] uses a TEA5767 FM chip because of its ability to communicate over I2C. He also integrated a 3W amplifier into this build, and everything is controlled by an Arduino including a small LCD screen which displays the current tuned frequency. With the addition of a small 5V power supply, it’s a tidy and compact build as well.

While the FM receiver in this project wasn’t built from scratch like some AM receivers we’ve seen, it’s still an interesting build because of the small size, I2C capability, and also because all of the circuit schematics are available for all of the components in the build. For those reasons, it could be a great gateway project into more complex FM builds.

Continue reading “FM Radio From Scratch Using An Arduino”

A Homebrew Radio, As All The Best Homebrew Radios Should Be

It started with an old TV sound chip, and some curiosity. The TDA1701 that [Philip Bragg] found in a box of junk is a complete FM IF strip and audio power amplifier from the golden age of analogue PAL televisions, and while it was designed for the 5.5 MHz or 6 MHz FM subcarrier of European broadcast TV, he found it worked rather well at the more usual 10.7 MHz of a radio receiver. There followed a long thread detailing the genesis bit-by-bit of a decent quality VHF radio receiver, built dead-bug-style on a piece of PCB material.

The TDA1701 was soon joined by a couple of stages of IF amplification with a ceramic filter, and then by several iterations of a JFET mixer. A varicap tuned MOSFET RF amplifier followed, and then a local oscillator. Finally it became a fully-functional FM radio, with probably far better performance than most commercial radios. He admits tuning is a little impractical though, with what appears to be a cermet preset potentiometer covering the entire band.

We suspect this project isn’t finished, and we hope he posts the schematic. But it doesn’t really matter if he doesn’t, because the value here isn’t in the design. Instead it lies in the joy of creating an ad-hoc radio just for the fun of it, and that’s something we completely understand.

We’ve covered a lot of radios in our time, and while it might be the first to feature a TV sound chip, it’s not the first built on bare PCB.

FM Signal Detection The Pulse-Counting Way

Compared to the simple diode needed to demodulate AM radio signals, the detector circuits used for FM are slightly more complicated. Wrapping your head around phase detectors, ratio detectors, discriminators, and quadrature detectors can be quite an exercise. There’s another demodulation method that’s not so common, but thankfully it’s also pretty easy to understand: the pulse counting detector.

As [Allan (W2AEW)] notes in the video below, pulse counting is a bit of a misnomer. Pulse counting works by generating a narrow, fixed-width square wave pulse at a set point in the received FM signal’s waveform, usually at the zero-crossing point. Since the frequency of the modulated carrier changes, the duty cycle of the resulting pulse train varies. That means there will be a fixed number of pulses, but by taking the average voltage of the pulse train, we can tease out the original audio frequency signal.

Simple in theory is often more complicated in practice, and [W2AEW] goes into some detail about those complications, such as needing to use a down-converter to make the peak-to-peak frequency deviation in the pulse train more easily detectable. As is his style, he walks us through a test circuit to prove that the theory works in practice. A simple two-transistor circuit generates the pulses at the zero-crossing point, a low-pass filter cleans up the signal, and a cheap audio amplifier reproduces the original audio. It’s a crude circuit to be sure, relying on the stray capacitance of the breadboard to work, but it proves the point and serves as a jumping-off point for further experiments – perhaps using an Arduino to count the pulses?

We always enjoy [W2AEW]’s videos and learn a lot from them. Not long ago we featured another of his videos talking about the mysteries of RF modulation; SSB, anyone?

Continue reading “FM Signal Detection The Pulse-Counting Way”

XFM: A 32-Voice Polyphonic FM Synthesizer On An FPGA

There’s something about Frequency Modulation (FM) synthesizer chips that appeals to a large audience. That’s one of the reasons behind [René Ceballos]’s XFM project, aiming to duplicate on an FPGA the sound of pure-FM synthesizer chips of the past such as the Yamaha DX series, OPL chip series and TX81Z/802/816. The result is a polyphonic, 32-voice, 6-operator FM synthesizer stereo module.

The project page goes into a lot of detail about the design choices which ultimately led to XFM being implemented on an FPGA, instead of using a dedicated DSP or MCU. Coming from the world of virtual synthesizers running on PCs, [René ]’s first impulse was to implement something on a Raspberry Pi or equivalent. Unfortunately these boards require a lot of power (ruling out battery-powered operation) and can hardly be called real-time, which led [René ] to abandon this attempt.

The design choice against the use of an MCU is simple: though capable of real-time processing, they lack the necessary power to make them a good choice for audio-processing. Working through the calculations to determine what kind of processing power would be needed, it was found that around 650 MIPS would be needed, a figure which most MCUs struggle to achieve a fraction of.

As one of the further requirements for XFM was that it should be as cheap as possible, this ruled out as too expensive the DSP chips which do have the power and hardware features needed. The component chosen was a Xilinx Spartan 6 FPGA, which though somewhat infamous and shunned in FPGA circles turns out to be a very economical option for this project.

Continue reading “XFM: A 32-Voice Polyphonic FM Synthesizer On An FPGA”

An FM Transceiver From An Unexpected Chip

The Si47xx series of integrated circuits from Silicon Labs is a fascinating series of consumer broadcast radio products, chips that apply SDR technologies to deliver a range of functions that were once significantly more complex, with minimal external components and RF design trickery.  [Kodera2t] was attracted to one of them, the Si4720, which boasts the unusual function of containing both a receiver and a transmitter for the FM broadcast band and is aimed at mobile phones and similar devices that send audio to an FM car radio. The result is a PCB with a complete transceiver controlled by an ATmega328 and sporting an OLED display, and an interesting introduction to these devices.

The Si4720 internal block diagram, from its data sheet.
The Si4720 internal block diagram, from its data sheet.

A look at the block diagram from the Si4720 reveals why it and its siblings are such intriguing devices. On-chip is an SDR complete in all respects including an antenna, which might set the radio enthusiasts among the Hackaday readership salivating were it not that the onboard DSP is not reprogrammable for any other purpose than the mode for which the chip is designed. The local oscillator also holds a disappointment, being limited only to the worldwide FM broadcast bands and not some of the more useful or interesting frequencies. There are however a host of other similar Silicon Labs receiver chips covering every conceivable broadcast band, so the experimenter at least has a good choice of receivers to work with.

If you need a small FM transmitter and have a cavalier attitude to spectral purity then it’s easy enough to use a Raspberry Pi or just build an FM bug. But this project opens up another option and gives a chance to experiment with a fascinating chip.

An Especially Tiny And Perfectly Formed FM Bug

It used to be something of an electronic rite of passage, the construction of an FM bug. Many of us will have taken a single RF transistor and a tiny coil of stiff wire, and with the help of a few passive components made an oscillator somewhere in the FM broadcast band. Connect up a microphone and you were a broadcaster, a prankster, and probably set upon a course towards a life in electronics. Back in the day such a bug might have been made from components robbed from a piece of scrap consumer gear such as a TV or VCR, and perhaps constructed spider-web style on a bit of tinplate. It wouldn’t have been stable and it certainly wouldn’t have been legal in many countries but the sense of achievement was huge.

As you might expect with a few decades of technological advancement, the science of FM bugs has moved with the times. Though you can still buy the single transistor bugs as kits there is a whole range of fancy chips designed for MP3 players that provide stable miniature transmitters with useful features such as stereo encoders. That’s not to say there isn’t scope for an updated simple bug too though, and here [James] delivers the goods with his tiny FM transmitter.

Gone is the transistor, and in its place is a MAX2606 voltage-controlled oscillator. The on-chip varicap and buffer provided by this device alleviate some of the stability issues suffered by the transistor circuits, and to improve performance further he’s added an AP2210 low-dropout regulator to catch any power-related drift. If it were ours we’d put in some kind of output network to use both sides of the differential output, but his single-ended solution at least offers simplicity. The whole is put on a board so tiny as to be dwarfed by a CR2032 cell, and we can see that a bug that size could provide hours of fun.

This may be a small and simple project, but it has found its way here for being an extremely well-executed one. It’s by no means the first FM bug we’ve shown you here, just a few are this one using scavenged SMD cellphone parts, or this more traditional circuit built on a piece of stripboard.