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”

Wireless Quad Voltmeter Brings It All Together

If you’re reading Hackaday, you almost certainly have a voltmeter. Matter of fact, we wouldn’t be surprised to hear you had two of them. But what if you needed to monitor four voltage levels at once? Even if you had four meters, getting them all connected and in a convenient enough place where you can see them all at once is no small feat. In that case, it sounds like the multi-channel wireless voltmeter put together by [Alun Morris] is for you.

Built as an exercise in minimalism, this project uses an array of components that most of us already have kicking around the parts bin. For each transmitter you’ll need an ATtiny microcontroller, a nRF24L01+ radio, a small rechargeable battery, and a handful of passive components. On the receiver side, there’s an OLED screen, another nRF radio module, and an Arduino Nano. You could put everything together on scraps of perfboard like [Alun] has, but if you need something a bit more robust for long-term use, this would be a great excuse to create some custom PCBs.

While the hardware itself is pretty simple, [Alun] clearly put a lot of work into the software side. The receiver’s 128 x 32 display is able to show the voltages from four transmitters at once, complete with individual indicators for battery and signal level. When you drill down to a single transmitter, the screen will also display the minimum and maximum values. With the added resolution of the full screen display, you even get a very slick faux LCD font to ogle.

Of course, there are some pretty hard limitations on such a simple system. Each transmitter can only handle positive DC voltages between 0 and 20, and depending on the quality of the components you use and environmental considerations like temperature, the accuracy may drift over time and require recalibration. Still, if you need a way to monitor multiple voltages and potentially even bring that data onto the Internet of Things, this is definitely a project to take a look at.

Continue reading “Wireless Quad Voltmeter Brings It All Together”

DevTerm Beats Cyberdeck Builders To The Punch

What makes a cyberdeck? Looking as though it came from an alternate reality version of the 1980s is a good start, but certainly isn’t required. If you’re really trying to adhere to the cyberpunk ethos, any good deck should be modular enough that it can be easily repaired and upgraded over time. In fact, if it’s not in a constant state of evolution and flux, you’ve probably done something wrong. If you can hit those goals and make it look retro-futuristic at the same time, even better.

Which is why the Clockwork DevTerm is such an interesting device. It ticks off nearly every box that the custom cyberdeck builds we’ve covered over the last couple years have, while at the same time being approachable enough for a more mainstream audience. You won’t need a 3D printer, soldering iron, or hot glue gun to build your own DevTerm. Of course if you do have those tools and the skills to put them to work, then this might be the ideal platform to build on.

With a 65% QWERTY keyboard and widescreen display, the DevTerm looks a lot like early portable computers such as the TRS-80 Model 100. But unlike the machines it draws inspiration from, the display is a 6.8 inch 1280 x 480 IPS panel, and there’s no pokey Intel 8085 chip inside. The $220 USD base model is powered by the Raspberry Pi Compute Module 3, and if you need a little more punch, there are a few higher priced options that slot in a more powerful custom module. Like the Waveshare Pi CM laptop we recently looked at, there’s sadly no support for the newer CM4; but at least the DevTerm is modular enough that it doesn’t seem out of the question that Clockwork could release a new mainboard down the line. Or perhaps somebody in the community will even do it for them.

Speaking of which, the board in the DevTerm has been designed in two pieces so that “EXT Module” side can be swapped out with custom hardware without compromising the core functionality of the system. The stock board comes with extra USB ports, a micro USB UART port for debugging, a CSI camera connector, and an interface for an included thermal printer that slots into a bay on the rear of the computer. Clockwork says they hope the community really runs wild with their own EXT boards, especially since the schematics and relevant design files for the entire system are all going to be put on GitHub and released under the GPL v3.

They say that anything that sounds too good to be true probably is, and if we’re honest, we’re getting a little of that from the DevTerm. An (CPU BLOBs aside!) open hardware portable Linux computer with this kind of modularity is basically a hacker’s dream come true, and thus far the only way to get one was to build it yourself. It’s hard to believe that Clockwork will be able to put something like this out for less than the cost of a cheap laptop without cutting some serious corners somewhere, but we’d absolutely love to be proven wrong when it’s released next year.

Exploring Custom Firmware On Xiaomi Thermometers

If we’ve learned anything over the years, it’s that hackers love to know what the temperature is. Seriously. A stroll through the archives here at Hackaday uncovers an overwhelming number of bespoke gadgets for recording, displaying, and transmitting the current conditions. From outdoor weather stations to an ESP8266 with a DHT11 soldered on, there’s no shortage of prior art should you want to start collecting your own environmental data.

Now obviously we’re big fans of DIY it here, that’s sort of the point of the whole website. But there’s no denying that it can be hard to compete with the economies of scale, especially when dealing with imported goods. Even the most experienced hardware hacker would have trouble building something like the Xiaomi LYWSD03MMC. For as little as $4 USD each, you’ve got a slick energy efficient sensor with an integrated LCD that broadcasts the current temperature and humidity over Bluetooth Low Energy.

You could probably build your own…but why?

It’s pretty much the ideal platform for setting up a whole-house environmental monitoring system except for one detail: it’s designed to work as part of Xiaomi’s home automation system, and not necessarily the hacked-together setups that folks like us have going on at home. But that was before Aaron Christophel got on the case.

We first brought news of his ambitious project to create an open source firmware for these low-cost sensors last month, and unsurprisingly it generated quite a bit of interest. After all, folks taking existing pieces of hardware, making them better, and sharing how they did it with the world is a core tenet of this community.

Believing that such a well crafted projected deserved a second look, and frankly because I wanted to start monitoring the conditions in my own home on the cheap, I decided to order a pack of Xiaomi thermometers and dive in.

Continue reading “Exploring Custom Firmware On Xiaomi Thermometers”

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.

ARM And X86 Team Up In No Compromise Cyberdeck

Over the last couple of years the cyberdeck community has absolutely exploded. Among those who design and build these truly personal computers there are no hard rules, save perhaps making sure the final result looks as unconventional as possible. But one thing that’s remained fairly consistent is the fact that these machines are almost exclusively powered by the Raspberry Pi. Unfortunately, that means they often leave something to be desired in terms of raw performance.

But [MSG] had a different idea. His cyberdeck still has the customary Raspberry Pi inside, but it also has an i7 Intel NUC that can be fired up at the touch of a button. He says it’s the best of both worlds: an energy efficient ARM Linux platform for mobile experimentation, and a powerful x86 Windows box for playing games working from home. It’s the hacker equivalent of business in the front, party in the back.

With a KVM connected to the custom Planck 40% mechanical keyboard and seven inch LCD, [MSG] can switch between both systems on the fly. Assuming he’s got the juice anyway; while the Raspberry Pi 4 and LCD is able to run on a pair of 18650 batteries, the cyberdeck needs to be plugged in if he wants to use the power-hungry NUC. If he ditched the Pi he could potentially load up the case with enough batteries to get the Intel box spun up, but that would be getting a little too close to a conventional laptop.

The whole plurality theme doesn’t stop at the computing devices, either. In addition to the primary LCD, there’s also a 2.13 inch e-paper display and a retro-style LED matrix courtesy of a Pimoroni Micro Dot pHAT. With a little Python magic behind the scenes, [MSG] is able to display things like the system temperature, time, and battery percentage even when the LCD is powered down.

In a post on the aptly-named Cyberdeck Cafe, [MSG] talks about how seeing the VirtuScope built by [bootdsc] inspired him to start working towards his own personal deck, and where he hopes to take the idea from here. The unique USB expansion bay behind the screen holds particular promise, and it sounds like a few add-on modules are already in the works. But of course, it wouldn’t be a true cyberdeck if it wasn’t constantly being improved and redesigned. Come to think of it, that makes at least two rules to live by in this community.

Transforming Work Light Is More Than Meets The Eye

While it does use the same M12 batteries, this impeccably engineered work light isn’t an official Milwaukee product. It’s the latest creation from [Chris Chimienti], who’s spent enough time in the garage and under the hood to know a thing or two about what makes a good work light. The modular design not only allows you to add or subtract LED panels as needed, but each section is able to rotate independently so it points exactly where you need it.

Magnets embedded in the 3D printed parts mean the light modules not only firmly attach to one another, but can be stuck to whatever you’re working on. Or you could just stack all the lights up vertically and use the rocket-inspired “landing legs” of the base module keep it vertical. Even if the light gets knocked around, the tension provided by rubber bands attached to each fold-out leg means it will resist falling over. In the video after the break [Chris] says the little nosecone on top is just for fun and you don’t have to print it, but we don’t see how you can possibly resist.

The same PCB is used on both ends of the light modules.

Of course, 3D printed parts and magnets don’t self-illuminate. The LED panels and switches are salvaged from cheap lights that [Chris] found locally for a few bucks, and a common voltage regulator board is used to step the 12 volts coming from the Milwaukee battery down to something the LEDs can use. He’s designed a very slick reversible PCB that’s used on either end of each light module to transfer power between them courtesy of semi-circular traces on one side and and matching pogo pins on the other.

As we saw in his recent Dremel 3D20 rebuild, [Chris] isn’t afraid to go all in during the design phase. The amount of CAD work that went into this project is astounding, and serves as fantastic example of the benefits to be had by designing the whole assembly at once rather than doing it piecemeal. It might take longer early on, but the final results really speak for themselves.

Continue reading “Transforming Work Light Is More Than Meets The Eye”