Hackaday Links Column Banner

Hackaday Links: October 10, 2021

We have to admit, it was hard not to be insufferably smug this week when Facebook temporarily went dark around the globe. Sick of being stalked by crazy aunts and cousins, I opted out of that little slice of cyber-hell at least a decade ago, so Monday’s outage was no skin off my teeth. But it was nice to see that the world didn’t stop turning. More interesting are the technical postmortems on the outage, particularly this great analysis by the good folks at the University of Nottingham. Dr. Steve Bagley does a great job explaining how Facebook likely pushed a configuration change to the Border Gateway Protocol (BGP) that propagated through the Internet and eventually erased all routes to Facebook’s servers from the DNS system. He also uses a graphical map of routes to show peer-to-peer connections to Facebook dropping one at a time, until their machines were totally isolated. He also offers speculation on why Facebook engineers were denied internal access, sometimes physically, to their own systems.

It may be a couple of decades overdue, but the US Federal Communications Commission finally decided to allow FM voice transmissions on Citizen’s Band radios. It seems odd to be messing around with a radio service whose heyday was in the 1970s, but Cobra, the CB radio manufacturer, petitioned for a rule change to allow frequency modulation in addition to the standard amplitude modulation that’s currently mandatory. It’s hard to say how this will improve the CB user experience, which last time we checked is a horrifying mix of shouting, screaming voices often with a weird echo effect, all put through powerful — and illegal — linear amps that distort the signal beyond intelligibility. We can’t see how a little less static is going to improve that.

Can you steal a car with a Game Boy? Probably not, but car thieves in the UK are using some sort of device hidden in a Game Boy case to boost expensive cars. A group of three men in Yorkshire used the device, which supposedly cost £20,000 ($27,000), to wirelessly defeat the security systems on cars in seconds. They stole cars for garages and driveways to the tune of £180,000 — not a bad return on their investment. It’s not clear how the device works, but we’d love to find out — for science, of course.

There have been tons of stories lately about all the things AI is good for, and all the magical promises it will deliver on given enough time. And it may well, but we’re still early enough in the AI hype curve to take everything we see with a grain of salt. However, one area that bears watching is the ability of AI to help fill in the gaps left when an artist is struck down before completing their work. And perhaps no artist left so much on the table as Ludwig von Beethoven, with his famous unfinished 10th Symphony. When the German composer died, he had left only a few notes on what he wanted to do with the four-movement symphony. But those notes, along with a rich body of other works and deep knowledge of the composer’s creative process, have allowed a team of musicologists and AI experts to complete the 10th Symphony. The article contains a lot of technical detail, both on the musical and the informatics sides. How will it sound? Here’s a preview:

And finally, Captain Kirk is finally getting to space. William Shatner, who played captain — and later admiral — James Tiberius Kirk from the 1960s to the 1990s, will head to space aboard Blue Origin’s New Shepard rocket on Tuesday. At 90 years old, Shatner will edge out Wally Funk, who recently set the record after her Blue Origin flight at the age of 82. It’s interesting that Shatner agreed to go, since he is said to have previously refused the offer of a ride upstairs with Virgin Galactic. Whatever the reason for the change of heart, here’s hoping the flight goes well.

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.