The Maths Behind A Chord Recognition Engine

A key part of any tertiary musical education is learning about all the wonderful (and less wonderful) types of chords out there. Typically this involves a great deal of exercises involving the identification of a given chord from its component notes. But how would you do this programmatically? Well, thankfully, the developers behind the WhatChord tool are happy to explain just how it’s done.

The problem with classifying chords is that the way musicians use them and construct them can be quite varied. Names can also be applied somewhat differently depending on the musical context of a given set of notes. To suit the musical reality of real players and composers, WhatChord uses a specially-developed scoring algorithm to try and nut out what a chord is actually supposed to be.

As an example, a major chord must require a root note and a major third interval. It can optionally include a perfect fifth. However, if there is a minor third, minor seventh, or major seventh present, then you’re almost certainly not looking at a simple major chord. WhatChord takes these things into account by weighting the different tones present and seeing which chord gets the highest score. The required notes add weight, while notes that shouldn’t be there add a penalty to the score. Then there are extra penalties for ambiguous “unexplained” tones, extensions, and a few other parameters to disambiguate edge cases.

If you’d like to see how it works in practice, you can check out the WhatChord app and see how good it is for yourself. Alternatively, explore some of the other chord-focused projects we’ve featured over the years, or send your best musical projects into the tipsline.

[Thanks to baschwar for the tip!]

Low Head Turbine Generates Plenty Of Power

Engineering design makes all kinds of tradeoffs. Power trades off with torque, strength trades off with weight, and cost can trade off with quality. For designing a hydroelectric turbine, one of the main tradeoffs is hydraulic head with flow rate. Many large dams meant for bulk power generation will go with high head (or medium) designs, and for small dams with low head it’s usually not cost effective to build any generation. But if you’re really determined, you’ll want to build a low head water turbine like this one.

The build aims to use easy-to-find materials and simple tools. It uses 110mm and 160mm PVC pipe to not only siphon water up and over a dam, but to house the turbine as well. The turbine is built from a computer fan and sits inside the pipe with a shaft running through a Y-type fitting to the generator. The generator is built from a scavenged hoverboard wheel, and outputs a reported 3.3A DC at 60V for around 200 watts of power with only around 3m of head. The design allows the turbine to be placed at the point in the pipe that best suits the environment.

[OpenSourceLowTech], the creators of this project, make a compelling case that this build is cheaper than a 150W solar panel and it might even be able to produce more energy as well over certain timeframes, provided there’s a reliable source of water available and the owners of the dam don’t mind someone siphoning water over it continuously. The build video is worth a watch as well if for nothing else than the animation, which documents the build in excellent detail. Generating usable energy from hydropower doesn’t even need this big of a dam; if all you need is to charge your phone this tiny waterwheel will get the job done.

Thanks to [Keith] for the tip!

Continue reading “Low Head Turbine Generates Plenty Of Power”

Improving An Aquarium Chiller With An Industrial Controller Transplant

A healthy aquarium ecosystem requires very specific conditions, with factors like the salinity and temperature having to be just right to keep said ecosystem happy. As some species are adapted to fairly cold water, this requires the use a water chiller. Recently [The Blunt Oracle] modified one of these aquarium-focused chillers with a much better controller to make it both more accurate and potentially more efficient as well.

The target for the surgery was a generic Shanhuchong Y-160 chiller that after a brief teardown turned out to use an STC-1000 style controller. The biggest disadvantage with this unit is probably that it just has one temperature probe, which monitored the temperature of the heat exchanger rather than that of the chilled water tank.

This controller was replaced with a Wi-Fi-equipped Elitech ECS-974T sourced for $50 off AliExpress that uses the same 71 x 29 mm form factor. Following that it was just a matter of some creative rewiring – as shown in the top image – and installing the twin temperature probes of the new controller.

Being able to monitor also the temperature of the chilled water adds a layer of redundancy that’s very welcome after splurging thousands of clams on a fancy aquarium and its inhabitants. As a bonus the Wi-Fi interface allows for it to be monitored and controlled remotely, with [The Blunt Oracle] pushing the Home Assistant configuration in a PR as well that recently got merged. They’d also like to extend their thanks to Elitech for having pretty good documentation that really helped with creating the HA configuration file, which is a rarity with many of such controllers.

Injection Molding Your Own Rubik’s Cubes Takes Work

If you just want to play with a Rubik’s Cube, you can simply buy one from a local toy store. If you want to build one, you could 3D print something and put it together yourself. But what if you want to make lots of Rubik’s Cubes? Then, you might go down the road that [EngBroken] just walked.

What started as a fun reverse-engineering project would lead to an 8-month journey to reproduce Rubik’s Cubes from scratch using injection molding. [EngBroken] started by identifying the basic pieces that make up the cheap cube they bought, including the center core, the edge pieces, and the corner pieces. Parts were then recreated in CAD, and [EngBroken] then set about designing and milling injection molds out of 6061 aluminium to make the parts.

Amusingly, to get the correct colors for the separate parts of the cube, [EngBroken] made the curious decision to mix cut-up pieces of 3D printer filament with clear ABS pellets to tint it as needed. Parts were then assembled with UV-curing glue, and [EngBroken] had a Rubik’s cube built from scratch. Well he actually had several, since he had a stack of parts since injection molding is great at producing things in quantity.

This isn’t a great way to go if you want a Rubik’s cube on the cheap. [EngBroken] estimates the labor put in to this exercise came out to $56,000 alone, to say nothing of what it took to produce all those aluminium molds and source all that plastic. Still, a great deal was learned in the process. We’ve looked at the challenges of injection molding before, too.

Continue reading “Injection Molding Your Own Rubik’s Cubes Takes Work”

Hackaday Podcast Episode 370: Softer Cyberdecks, A Simulated Clutch, And An Overstuffed Mailbox

With Elliot back from Hackaday Europe, he and Al Williams had a lot to talk about with two weeks of Hackaday posts to catch up on. Not to mention the mailbag was overflowing.

This week, the guys look at girlie cyberdecks, a 3D printed circuit board, and talk electric motorcycles. Is 3D printing safe? Want an accurate moon on your desk? How about modern punch cards? All of that and much more were on the menu this week.

For the can’t miss articles, Zoe Skyforest weighs in on file sharing via LAN while Al Williams talks about the surprising state-of-the-art in vacuum tube tech right before their end.

What do you think? Leave us a comment or record something and send it to our mailbag.

Download a copy of the podcast with an MP3 this week in glorious pink and purple.

Continue reading “Hackaday Podcast Episode 370: Softer Cyberdecks, A Simulated Clutch, And An Overstuffed Mailbox”

How The Banana Pi BPI-R4 Pro Violates The First Rule Of OpenWRT Club

As fun as ARM and RISC-V single-board computers (SBCs) are, all too often getting the most out of the hardware requires the use of an unofficial firmware image. So too with the Banana Pi BPI-R4 Pro router SBC that has been out for a while, as OpenWRT support for it still very much unofficial. This is where [Interfacing Linux] goes on a bit of a rant while assembling one of these puppies into a sleek metal enclosure.

The first rule of OpenWRT Club is of course that you never run an unofficial image on any hardware that’s part of any network you care about. This is somewhat upsetting, as the testing shown in the video below reveals that performance is great when running it.

Currently OpenWRT support is painfully working its way through development, per the OpenWRT PR thread, so there’s hope that official support will appear at some point. As with all of such SBCs the question is always whether official support appears before the hardware has been rendered firmly obsolete. Until then the community Debian 13 image might actually be safer.

Continue reading “How The Banana Pi BPI-R4 Pro Violates The First Rule Of OpenWRT Club”

This Week In Security: AI Generated Reports, More AI Generated Reports, GitHub Chaos, And More Linux Vulnerabilities

Google’s Project Zero demonstrates a new zero-click exploit for the Pixel 10 phones, showing a full escalation from remote to kernel without user interaction. During the investigation Project Zero found unprotected memory access from userspace in the Tensor G5 video processing chip driver, which allows direct write access to kernel memory.

Using previously discovered flaws in media decoding components — in this case CVE-2025-54957 in the Dolby digital audio decoder — Project Zero modified a Pixel 9 attack to work on the Pixel 10, despite newer protections built into the hardware to harden the system against memory corruption.

The author’s takeaway is mixed. Once the bug on Pixel 9 was reported, one could hope that the Android team would look into similar bugs in their newer systems. On the positive side, though, Project Zero reported the vulnerabilities to the Android team in November 2025 and they were patched in February of 2026, 71 days later. That’s 19 days short of the 90-day timeline.

Continue reading “This Week In Security: AI Generated Reports, More AI Generated Reports, GitHub Chaos, And More Linux Vulnerabilities”