Teensy Spectrum Analyzer Has 170 Channels

While high-fidelity audio has come a long way in the past several decades, a lot of modern stereo equipment is still missing out on some of the old analog meters that were common on amplifiers and receivers of the 60s through the 80s. Things like VU meters don’t tend to be common anymore, but it is possible to build them back in to your sound system with the help of some microcontrollers. [Mark] shows us exactly how to reclaim some of the old-school functionality with this twin audio visualizer display.

Not only does this build include two displays, but the microcontroller is keeping up with 170 channels in real-time in order to drive the display. What’s more impressive is that it’s being done all on a Teensy 4.1. To help manage all of the data and keep the speed as fast as possible it uses external RAM soldered to the board, and a second Teensy audio board is used to do the real time FFT analysis. Most of the channels are sent to the display hosting the spectrum analyzer but two are reserved for left and right stereo VU meters on the second display.

The project from [Mark] is originally based on this software from [DIYLAB] so everything is open-source. While it was originally built for a specific piece of hardware, [Mark] has it set up with a line in and line out plus a microphone input so it can be used for virtually any audio hardware now. For another take on the classic VU meter, take a look at this design based on an Arudino instead.

Continue reading “Teensy Spectrum Analyzer Has 170 Channels”

Detect Starlink Satellites Passing By

The Starlink beta has semi-officially ended, but it seems as though the global chip shortage is still limiting how many satellites are flying around the world for broadband internet access for those that might not be served by traditional ISPs. Not every location around the world has coverage even if you can get signed up, so to check that status the hard way you can always build a special antenna that tracks the Starlink beacons as they pass overhead.

[Derek] is using this project to show of some of his software-defined radio skills, so this will require an SDR that can receive in the 1600 MHz range. It also requires a power injector to power the satellite receiver, but these are common enough since they are used to power TV antennas. The signals coming from the Starlink satellites have a very high signal-to-noise ratio so [Derek] didn’t even need a dish to focus the signals. This also helped because the antenna he is using was able to see a much wider area as a result. Once everything was set up and the computer was monitoring the correct location in the spectrum, he was able to see very clearly how often a satellite passed him by.

Of course, [Derek] lives in an area with excellent coverage so this might be a little more difficult for those in rural areas, but possibly not for long as the goal of Starlink is to bring broadband to people who otherwise wouldn’t have access to it. There is some issue with how much these satellites might interfere with other astronomical activities though, so take that with a grain of salt.

Thanks to [Spritle] for the tip!

More Software-Defined Radio Projects Using DragonOS

DragonOS, a Debian-based Linux distribution specifically packaged for software-defined radio functionality, roared onto the wavelengths during the beginnings of the various pandemic lockdowns last year. Since then [Aaron], the creator of the OS, has been busy adding features to the distribution as well as creating plenty of videos which show off its capabilities and also function as how-tos for people who might want to learn about software-defined radio. The latest is a video about using this software to detect radio signals in certain specified spectrums.

This build uses two  RTL-SDR devices paired with the DragonOS software suite to automatically detect active frequencies within a specified frequency range and that aslo exceed a threshold measured above the average noise floor. The video includes the setup of the software and its use in detecting these signals, but also includes setup of influxdb and Grafana which provide logging capabilities as well. Using this setup, multiple receivers either local or over the internet can then be configured to dump all the identified frequencies, powers, and time stamps into DragonOS.

[Aaron] has also been helping developers to build the SDR4space.lite application which includes GPS support, so he hopes that in a future video a user will be able to easily associate location to identified frequencies. Projects like these also serve as a reminder that getting into software-defined radio is as easy as buying a $10 USB radio receiver and configuring some free software to do anything that you can imagine like tracking ships and airplanes in real time.

Continue reading “More Software-Defined Radio Projects Using DragonOS”

FFT display on 16x16 RGB LED grid

Art Project Fast And Fouriously Transforms Audio Into Eye Candy

Fast Fourier Transforms. Spectrum Analyzers. Waterfall displays. Not long ago, such terms were reserved for high end test gear. But oh, how things have changed! It’s no surprise to many Hackaday readers that modern microcontrollers have transformed the scene as they become more powerful and as a result are endowed with more and more powerful software libraries. [mircemk] has used such a library along with other open source software combined with mostly off the shelf hardware to create what he calls the DIY FFT Spectrum Analyzer. Rather than being a piece of test gear, this artful project aims to please the eye.

The overall build is relatively simple. Audio is acquired via a line-in jack or a microphone, and then piped into an ESP32. The ESP32 runs the audio through the FFT routine, sampling, slicing, and dicing the audio into 16 individual bands. The visual output is displayed on a 16 x 16 WS2812 Led Matrix. [mircemk] wrote several routines for displaying the incoming audio, with a waterfall, a graph, and other visualizations that are quit aesthetically pleasing. Some of them are downright mesmerizing! You can see the results in the video below the break.

Of course the build doesn’t stop with slapping some hardware and a few passive components together. To really be finished, it needs to be encased in something worth displaying. [mircemk] does not disappoint, as a beautiful 3D-printed enclosure wraps it all up nicely.

We think that the final product is great, and it reminds us of some of the very things that inspired us early on in our hacking careers. We would love to see this project integrated with an Interactive Musical Art Installation of any kind, the more esoteric the better. Perhaps a 555 timer synth could fit the bill? Be sure to share your own hacks with us via the Tip Line!

Continue reading “Art Project Fast And Fouriously Transforms Audio Into Eye Candy”

Examples of ZX81 computer game screens

The Labor Of Love That Is Recovering Lost Software

At the beginning of the home computer revolution, the humble compact cassette was far and away the most popular choice for microcomputer data storage, especially on the European continent. As a volunteer at the Museum of Computing, [Keith] was instrumental in recovering and archiving the early works of Roger Dymond, a pioneering developer of early computer software in the United Kingdom.

In his video, [Keith] goes to great lengths detailing the impact that Roger Dymond had on the early home computing scene. After being let go from his council apprenticeship, Roger turned his attention to developing games for the ZX81, and later the ZX Spectrum. With the help of his family, he went on to run a moderately successful mail-order games publishing venture for several years. Increasing advertising costs and a crowded development scene saw Roger’s business become nonviable by 1983, but not before developing several gambling-style games and a standout Space Invaders clone.

Fast forward to 2021, and while some of Roger’s Spectrum software had been archived, much had been marked as ‘missing’ by online archivists. After further research, [Keith] realized that another potentially important tape had been forgotten about. ‘Games Compendium’ for the ZX81 had been completely lost to time, with the only evidence that it had ever existed coming from a 1983 advert in ‘Sinclair User’ magazine. Being written for the earlier model ZX81, the compendium would undoubtedly be of interest to software archivists and game historians.

Continue reading “The Labor Of Love That Is Recovering Lost Software”

Cable Modem Turned Spectrum Analyzer

Hopefully by now most of us know better than to rent a modem from an internet service provider. Buying your own and using it is almost always an easy way to save some money, but even then these pieces of equipment won’t last forever. If you’re sitting on an older cable modem and thinking about tossing it in the garbage, there might be a way to repurpose it before it goes to the great workbench in the sky. [kc9umr] has a way of turning these devices into capable spectrum analyzers.

The spectrum analyzer feature is a crucial component of cable modems to help take advantage of the wide piece of spectrum that is available to them on the cable lines. With some of them it’s possible to access this feature directly by pointing a browser at it, but apparently some of them have a patch from the cable companies to limit access. By finding one that hasn’t had this patch applied it’s possible to access the spectrum analyzer, and once [kc9umr] attached some adapters and an antenna to his cable modem he was able to demonstrate it to great effect.

While it’s somewhat down to luck as to whether or not any given modem will grant access to this feature, for the ones that do it seems like a powerful and cheap tool. It’s agnostic to platform, so any computer on the network can access it easily, and compared to an RTL-SDR it has a wider range. There are some limitations, but for the price it can’t be beat which will cost under $50 in parts unless you happen to need two inputs like this analyzer .

Thanks to [Ezra] for the tip!

Speech Recognition On An Arduino Nano?

Like most of us, [Peter] had a bit of extra time on his hands during quarantine and decided to take a look back at speech recognition technology in the 1970s. Quickly, he started thinking to himself, “Hmm…I wonder if I could do this with an Arduino Nano?” We’ve all probably had similar thoughts, but [Peter] really put his theory to the test.

The hardware itself is pretty straightforward. There is an Arduino Nano to run the speech recognition algorithm and a MAX9814 microphone amplifier to capture the voice commands. However, the beauty of [Peter’s] approach, lies in his software implementation. [Peter] has a bit of an interplay between a custom PC program he wrote and the Arduino Nano. The learning aspect of his algorithm is done on a PC, but the implementation is done in real-time on the Arduino Nano, a typical approach for really any machine learning algorithm deployed on a microcontroller. To capture sample audio commands, or utterances, [Peter] first had to optimize the Nano’s ADC so he could get sufficient sample rates for speech processing. Doing a bit of low-level programming, he achieved a sample rate of 9ksps, which is plenty fast for audio processing.

To analyze the utterances, he first divided each sample utterance into 50 ms segments. Think of dividing a single spoken word into its different syllables. Like analyzing the “se-” in “seven” separate from the “-ven.” 50 ms might be too long or too short to capture each syllable cleanly, but hopefully, that gives you a good mental picture of what [Peter’s] program is doing. He then calculated the energy of 5 different frequency bands, for every segment of every utterance. Normally that’s done using a Fourier transform, but the Nano doesn’t have enough processing power to compute the Fourier transform in real-time, so Peter tried a different approach. Instead, he implemented 5 sets of digital bandpass filters, allowing him to more easily compute the energy of the signal in each frequency band.

The energy of each frequency band for every segment is then sent to a PC where a custom-written program creates “templates” based on the sample utterances he generates. The crux of his algorithm is comparing how closely the energy of each frequency band for each utterance (and for each segment) is to the template. The PC program produces a .h file that can be compiled directly on the Nano. He uses the example of being able to recognize the numbers 0-9, but you could change those commands to “start” or “stop,” for example, if you would like to.

[Peter] admits that you can’t implement the type of speech recognition on an Arduino Nano that we’ve come to expect from those covert listening devices, but he mentions small, hands-free devices like a head-mounted multimeter could benefit from a single word or single phrase voice command. And maybe it could put your mind at ease knowing everything you say isn’t immediately getting beamed into the cloud and given to our AI overlords. Or maybe we’re all starting to get used to this. Whatever your position is on the current state of AI, hopefully, you’ve gained some inspiration for your next project.