ESP32 Spectrum Analyzer Taps Into Both Cores

We probably don’t need to tell the average Hackaday reader that the ESP32 is a powerful and extremely flexible microcontroller. We’ve seen some incredible projects using this affordable chip over the last few years, and by the looks of it, the best is yet to come. That’s because it always takes some time before the community can really figure out how to get the most out of a piece of hardware.

Take for example the Bluetooth audio player that [squix] was recently working on. Getting the music going was no problem with the esp32-a2dp library, but when he wanted to add some visualizations the audio quality took a serious hit. Realizing that his Fast Fourier transform (FFT) code was eating up too much processor power, it seemed like a great time for him to explore using the ESP32’s second core.

[squix] had avoided poking around with the dual-core nature of the ESP32 in the past, believing that the second core was busy handling the WiFi communication. But by using the FreeRTOS queue system, he wrote some code that collects audio data with one core and runs the actual FFT magic on the other. By balancing the workload like this, he’s able to drive the array of 64 WS2812B LEDs on the front of the Icon64 seen in the video after the break.

Even if you’re not terribly interested in running your own microcontroller disco, this project may be just the example you’ve been waiting for to help get your mind wrapped around multitasking on the ESP32. If you want to master a device with this many tricks up its sleeve, you’ll need all the help you can get.

Continue reading “ESP32 Spectrum Analyzer Taps Into Both Cores”

An Epic Quest For A Motorized Volume Knob

[Haris Andrianakis] likes his Logitech Z623 sound system. He likes it a lot. Which is why he was willing to hack in his own remote volume control rather than just get a new pair of speakers. But he certainly didn’t make things easy on himself. Rather than trying to tap into the electronics, he decided to take the long way around and motorize the volume knob.

The belt drive looked great, but didn’t work.

The idea seemed simple enough. Just drill a hole through the PCB behind the knob’s potentiometer, attach some kind of extension to the axle, and turn it with a small servo. Modifying the PCB and potentiometer went well enough, but the trouble came when [Haris] actually tried to turn the thing.

Attaching the servo directly to the axle worked, but it made turning the knob by hand extremely difficult. His next idea was to add a small belt into the mix so there would be some slip in the system. But after designing a 3D printed servo mount and turning custom pulleys on the lathe, it ended up having too much slip, and the knob didn’t always move when the servo turned.

He then swapped out the servo for a small stepper motor. The motor was easy enough to spin when powered down, but didn’t have quite enough torque to turn the knob. He tried with a larger stepper motor that he salvaged from an old printer, but since he could only run it at half the recommended 24 VDC, it too had a tendency to skip steps.

After experimenting with some 3D printed reduction gears, [Haris] finally stumbled upon the 28BYJ-48. This small stepper with an integrated gearbox proved to be the perfect solution, as it had enough muscle to turn the knob while at the same time not restricting its movement when powered down. The rest of the project was relatively easy; with a DRV8825, an ESP8266, and an IR receiver, he’s able to spin the stepper with his TV’s remote. A simple web page running on the ESP8266 even allows him to control volume over the network with his smartphone. Based on similar projects we’ve seen, he could probably add support for HDMI CEC as well.

[Haris] says you shouldn’t follow his example, but we’re not so sure. He kept going when others would have given up, and the engineering and thought that went into each attempt is certainly commendable. Even if he hadn’t ultimately gotten this project working, we’d still say it was a valiant hack worthy of praise.

Leaking Data By Ultrasound

Human ears are capable of perceiving frequencies from roughly 20 Hz up to 20 kHz, at least when new. Correspondingly, our audio hardware is designed more or less to target these frequencies. However, there’s often a little extra capability at the upper edges, which [Jacek] shows can be exploited to exfiltrate data.

The hack takes advantage of the fact that most computers can run their soundcards at a sample rate of up to 48 kHz, which thanks to the Nyquist theorem means they can output frequencies up to around 24 kHz — still outside the range of human hearing. Computers and laptops often use small speaker drivers too, which are able to readily generate sound at this frequency. Through the use of a simple Linux shell script, [Jacek] is able to have a laptop output Morse code over ultrasound, and pick it up with nothing more than a laptop’s internal microphone at up to 20 meters away.

[Jacek] enjoys exploring alternative data exfiltration methods; he’s previously experimented with Ethernet leaks on the Raspberry Pi. Of course, with any airgap attack, the real challenge is often getting the remote machine to run the exfiltration script when there’s no existing remote admin access to be had. Video after the break.

Continue reading “Leaking Data By Ultrasound”

Giving Micro Channel Bus Computers A Sound Blaster Bark

Not many people today probably remember what ‘Micro Channel Architecture’ was about, though its acronym ‘MCA’ might ring a bell. Created by IBM to replace ISA (Industry Standard Architecture) and presumably claw back some of that sweet, sweet licensing money, it didn’t quite pan out as IBM hoped. As history shows us, PCI ended up replacing MCA in all of IBM’s systems. The IBM PS/2 systems that used MCA didn’t miss out on classic 1990s cards, such as the original Sound Blaster, but today MCA versions of the Sound Blaster are admittedly rather… rare, not to mention expensive.

But, no longer: decades after the last PS/2 users have moved on, [Tube Time] proudly presents the Snark Barker MCA. It’s a fully Sound Blaster compatible sound card. It supports AdLib synthesis, digital sound playback and recording, as well as a joystick input and MIDI. Based around a Xilinx XC9572XL CPLD and featuring what looks like a full-length MCA card, it would have made an original Sound Blaster card proud.

The GitHub repository not only contains the schematics, BOM and Verilog-based HDL for the CPLD, but also extensive documentation on the assembly and programming. As a bonus, there’s a troubleshooting section which covers some of the joys that came with the sloppy implementations of MCA across systems. Definitely worth a read.

If anyone decides to build this project and use it in their IBM PS/2 system, we would love to hear about it.

Of course, if all you need is a garden variety PCI Sound Blaster clone, the original Snark Barker is the way to go.

(Thanks, Darry)

This Tabletop Lighthouse Will Get Your Attention

If you wear headphones around the house with any regularity, you’re probably missing out on a lot of audio cues like knocks at the door, people calling your name, or maybe even the smoke alarm. What if you had a visual indicator of sound that was smart enough to point it out for you?

That is the point of [Jake Ammons’] attention-getting lighthouse, designed and built in two weeks’ time for Architectural Robotics class. It detects ambient noise and responds to it by focusing light in the direction of the sound and changing the color of the light to a significant shade to indicate different events. Up inside the lighthouse is a Teensy 4.0 to read in the sound and spin a motor in response.

[Jake]’s original directive was to make something sound-reactive, and then to turn it into an assistive device. In the future [Jake] would like to add more microphones to do sound localization. We love how sleek and professional this looks — just goes to show you what the right t-shirt stretched over 3D prints can do. Check out the demo after the break.

Seaside lighthouses once used gas lights giant Fresnel lenses, but now they use LEDs. A company in Florida is using CNC machines to crank out acrylic Fresnels.

Continue reading “This Tabletop Lighthouse Will Get Your Attention”

World Radio Lets Your Fingers Do The Walking

Listening to radio from distant countries used to take a shortwave rig, but thanks to the Internet we can now pull in streams from all over the globe from the comfort of our own desktop. With a few clicks you can switch between your local news station and the latest in pop trends from Casablanca. But as convenient as online streaming might be, some folks still yearn for the traditional radio experience.

For those people, the Raspberry Pi World Radio by [Abraham Martinez Gracia] might be the solution. Built into the body of a 1960s Invicta radio, this Internet radio uses a very unique interface. Rather than just picking from a list of channels, you use the knobs on the front to pan and zoom around a map of the world. Streaming channels are represented by bubbles located within their country of origin, so you’ll actually have to “travel” there to listen in. The video after the break gives a brief demonstration of how it works in practice.

We’ll admit it might become a bit tedious eventually, but from a visual standpoint, it’s absolutely fantastic. [Abraham] even gave the map an appropriately vintage look to better match the overall aesthetic. Normally we’d say using a Raspberry Pi 4 to drive a streaming radio player would be a bit overkill, but considering the GUI component used here, it’s probably the right choice.

Of course we’ve seen Internet radios built into vintage enclosures before, and we’ve even seen one that used a globe to select the station, but combining both of those concepts into one cohesive project is really quite an accomplishment.

Continue reading “World Radio Lets Your Fingers Do The Walking”

The Floppy Disk As A Portable Music Format

We remember the floppy disk as the storage medium most of us used two decades or more ago, limited in capacity and susceptible to data loss. It found its way into a few unexpected uses such as Sony’s Mavica line of digital cameras, but outside those who maintain and use older equipment it’s now ancient history.

Seemingly not for [Terence Eden] though, who has made a portable audio player that uses a floppy disk as its storage medium. It came about with the realization that half an hour of extremely compressed audio could be squeezed onto a standard 3.5 inch floppy, and then that the Beatles’ A Hard Day’s Night album comes in at only a shade over that time. With some nifty manipulation of the compression command line and the judicious removal of some unnecessary metadata, the album can fit on a floppy in equivalent quality to the AM radio fans would have heard it over back in 1964.

The player would have been a major undertaking when the floppy was king, but in 2020 it’s simply a USB floppy drive, a Raspberry Pi, and a battery pack. He’s given us the full instructions, and no doubt a more permanent version could be built with a 3D-printed case.

We’re fascinated by the recent trend of storing audio on floppy disks, but despite the hipster vibe, we doubt  the idea will catch on. It’s not the first floppy-based player we’ve seen, but the previous one was more of a fake player.