Zen Flute Is A Teensy Powered Mouth Theramin

An intriguing mouth-played instrument emerged—and won—at the 2023 Guthman Musical Instrument Contest hosted by Georgia Tech. [Keith Baxter] took notice and reproduced the idea for others to explore. The result is the Zen Flute Mouth Theremin, a hybrid of acoustics, electronics, and expressive performance.

At its core lies a forced Helmholtz resonator, a feedback system built with a simple microphone and speaker setup. The resonator itself? The user’s mouth. The resulting pitch, shaped by subtle jaw and tongue movements, is detected and used to drive a MIDI controller feeding an external synthesizer.

Like a trombone or classic electromagnetic theremin, the Zen Flute doesn’t rely on discrete notes. Instead, the pitch is bent manually to the desired frequency. That’s great for expression, but traditional MIDI quantisation can map those “in-between” notes to unexpected semitones. The solution? MIDI Polyphonic Expression (MPE). This newer MIDI extension allows smooth pitch transitions and nuanced control, giving the Zen Flute its expressive character without the hiccups.

Physically, it’s an elegant build. A flat speaker and microphone sit side-by-side at the mouth end, acoustically isolated with a custom silicone insert. This assembly connects to a length of clear PVC pipe, flared slightly to resemble a wind instrument. Inside, a custom PCB (schematic here) hosts a mic preamp, an audio power amp, and a Teensy 4.1. The Teensy handles everything: sampling the mic input, generating a 90-degree phase shift, and feeding it back to the speaker to maintain resonance. It also detects the resonant frequency and translates it to MPE over USB.  A push-button triggers note onset, while a joystick adjusts timbre and selects modes. Different instrument profiles can be pre-programmed and toggled with a joystick click, each mapped to separate MIDI channels.

Mouth-controlled instruments are a fascinating corner of experimental interfaces. They remind us of this Hackaday Prize entry from 2018, this wind-MIDI hybrid controller, and, of course, a classic final project from the Cornell ECE4760 course, a four-voice theremin controlled by IR sensors.

Continue reading “Zen Flute Is A Teensy Powered Mouth Theramin”

Open Source Hiding In Plain Sight

On the podcast, [Tom] and I were talking about the continuing saga of the libogc debacle. [Tom] has been interviewing some of the principals involved, so he’s got some first-hand perspective on it all – you should really go read his pieces. But the short version is that an old library that many Nintendo game emulators use appears to have cribbed code from both and open-source real-time operating system called RTEMS, and the Linux kernel itself.

You probably know Linux, but RTEMS is a high-reliability RTOS for aerospace. People in the field tell me that it’s well-known in those circles, but it doesn’t have a high profile in the hacker world. Still, satellites run RTEMS, so it’s probably also a good place to draw inspiration from, or simply use the library as-is. Since it’s BSD-licensed, you can also borrow entire functions wholesale if you attribute them properly.

In the end, an RTOS is an RTOS. It doesn’t matter if it’s developed for blinking LEDs or for guiding ICBMs. This thought got [Tom] and I to thinking about what other high-reliability open-source code is out there, hidden away in obscurity because of the industry that it was developed for. NASA’s core flight system came instantly to mind, but NASA makes much of its code available for you to use if you’re interested. There are surely worse places to draw inspiration!

What other off-the-beaten-path software sources do you know of that might be useful for our crowd?

Animated Widgets On Apple Devices Via A Neat Backdoor

If you’ve ever looked at widgets on your iPhone, you’ve probably noticed they’re largely static, save for a few first-party apps. By and large, third party developers are not supposed to be able to animate them. However, [Bryce Bostwick] found a workaround.

You might be confused as to the idea of animated widgets, but it’s quite simple. For example, think of a clock app with a widget in which the hands always display the current time, or a calendar app with an icon that shows the current date. Apple’s own apps have long been able to do this, but the functionality has mostly been locked out for third parties.

One way to get around this limitation is by using a timer feature baked into the widget functionality. The timer tool is one of the few ways that third-party apps are allowed to do animation. By running a timer with a custom font, you can display various graphical elements instead of numbers counting down to create a hacky animation that updates every second.

However, there are even more advanced techniques that can get you faster, smoother animations. [Bryce] breaks down the private techniques used to rotate the clock hands on Apple’s own widget, and how to use those tools for your own purposes. It takes some sneaky Xcode tricks and a bit of math to make it fully flexible for doing arbitrary animations, but it works surprisingly well.

Will this backdoor last ? Well, Apple is always updating and changing iOS and its associated software, so don’t expect it to work forever.

Continue reading “Animated Widgets On Apple Devices Via A Neat Backdoor”

A high level pictorial schematic of the basement monitor.

Making Sure The Basement Stays Dry With An ESP8266

The hack we have for you today is among our most favorite types of hack: a good, honest, simple, and well documented implementation that meets a real need. Our hacker [Solo Pilot] has sent in a link to their basement monitor.

The documentation is quite good. It’s terse but comprehensive with links to related information. It covers the background, requirements, hardware design, sensors, email and SMS alerts, software details, and even has some credits at the end.

Implementing this project would be a good activity for someone who has already made an LED flash and wants to take their skills to the next level by sourcing and assembling the hardware and then configuring, compiling, deploying, and testing the software for this real-world project.

To make this project work you will need to know your way around the Arduino IDE in order to build the software from the src.zip file included with the documentation (hint: extract the files from src.zip into a directory called AHT20_BMP280 before opening AHT20_BMP280.ino and make sure you add necessary boards and libraries).

One feature of the basement monitor that we would like to see is a periodic “everything’s okay” signal from the device, just so we can confirm that the reason we’re not getting an alarm about flooding in the basement is because there is no flood, and not because the battery ran dead or the WiFi went offline.

If you’ve recently started on your journey into where electronics meets software a project such as this one is a really great place to go next. And of course once you are proficient with the ESP8266 there are a thousand such projects here at Hackaday that you can cut your teeth on. Such as this clock and this fault injection device.