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.

Fail Of The Week: Tracking Meteors With Weather Radio

It’s not hard to detect meteors: go outside on a clear night in a dark place and you’re bound to see one eventually. But visible light detection is limiting, and knowing that meteors leave a trail of ions means radio detection is possible. That’s what’s behind this attempt to map meteor trails using broadcast signals, which so far hasn’t yielded great results.

Passing jet’s Doppler signature

The fact that meteor trails reflect radio signals is well-known; hams use “meteor bounce” to make long-distance contacts all the time. And using commercial FM broadcast signals to map meteor activity isn’t new, either — we’ve covered the “forward scattering” technique before. The technique requires tuning into a frequency used by a distant station but not a local one and waiting for a passing meteor to bounce the distant signal back to your SDR dongle. Capturing the waterfall display for later analysis should show characteristic patterns and give you an idea of where and when the meteor passed.

[Dave Venne] is an amateur astronomer who turns his eyes and ears to the heavens just to see what he can find. [Dave]’s problem is that the commercial FM band in the Minneapolis area that he calls home is crowded, to say the least. He hit upon the idea of using the National Weather Service weather radio broadcasts at around 160 MHz as a substitute. Sadly, all he managed to capture were passing airplanes with their characteristic Doppler shift; pretty cool in its own right, but not the desired result.

The comments in the RTL-SDR.com post on [Dave]’s attempt had a few ideas on where this went wrong and how to improve it, including the intriguing idea of using 60-meter ham band propagation beacons. Now it’s Hackaday’s turn: any ideas on how to fix [Dave]’s problem? Sound off in the comments below.