Turning A Saxophone Into A MIDI Controller

Most of the time, if you’re looking for a MIDI controller, you’re going to end up with some kind of keyboard or a fancy button pad. The saxophone is an altogether more beguiling instrument that makes for one hell of an interface, but there’s a problem: they’re seldom MIDI-compatible. This build from [AndrewChi] changes all that.

This digitized sax relies on a SparkFun ESP32 Thing as the brains of the operation. It uses Hall effect sensors, the digital switch type, to detect the action of the keys of the sax. Choosing parts that are quick to respond is key for musical use, so [AndrewChi] selected the Texas Instruments DRV5023 for its unipolar operation, short output delay and fast rise time. Beyond setting up the basic keys to send MIDI notes, the instrument also received additional octave controls for greater range. With sensors and magnets attached to the saxophone and keys with Sugru, the instrument is ready to serve as a capable MIDI controller. Thanks to the ESP32, it’s capable of sending MIDI data wirelessly over Bluetooth for the maximum freedom of performance.

It’s a nifty build, and a great way for wind players to get into the world of controlling digital synthesizers in an intuitive fashion. We’ve seen some great MIDI controller builds before, too.

Continue reading “Turning A Saxophone Into A MIDI Controller”

A Brand-New Antique Radio

This beautiful little radio may look like an art deco relic from a hundred years ago, but it is actually from 2023. When [Craig Lindley] first saw this design on these very pages a few years ago, he just had to build one eventually. Turns out, all he had to do wait until he bought a laser cutter.

Built with hardware on hand, this radio runs on an ESP32 WROOM and uses an Adafruit VS1053 CODEC breakout. Song information is displayed on an SPI LCD display, and output comes via a 1/8″ jack. It can play songs streamed from Internet radio stations, [Craig]’s website, or directly from an SD card.

The lovely cabinet is made from 1/8″ Baltic birch, with a living hinge for a roof and sides. The amber shellac goes a long way toward establishing the antique aesthetic.

Not content with this cute radio, [Craig] went ahead and built a speaker system to go with it out of a pair of small, external laptop speakers. [Craig] says this project had a lot of ups and downs, but we are quite happy to see it come to fruition.

Do you have an antique radio you’d like to restore? Be sure to check out our guide.

ColorReplica Is A Rainbow At Your Fingertips

Have you ever wanted to match paint to the color of a pillow, or make a website where the primary color matches your favorite shade of electrolytic capacitor? Then ColorReplica is the project for you.

At the heart of this build are two ESP32s, one of which controls the color picker, and the other lights up the 18 WS2812 LEDs and displays information on the OLED screen.

ColorReplica has two modes, ColorPicker and ColorCube. In ColorPicker mode, you just choose what color you want, adjust the brightness level, and choose between static and dynamic modes for the LEDs. [CiferTech] used the ESP32 touch pins extended to pads on the PCB to control different menu variables, which is a nice touch.

In ColorCube mode, there’s a secondary circuit with a color sensor an another ESP32. Once detected, it transmits the color data to the main device at the push of a button. The RGB LEDs turn that color, and shows the RGB, HEX, and HSV values on the OLED screen. If you’d like to make one of these yourself, everything is available on GitHub.

Want something a big more tangible? Check out this color picker that types HEX codes for you.

Continue reading “ColorReplica Is A Rainbow At Your Fingertips”

Backyard UFO Is Out Of This World

Halloween may be over for another year, but UFOs in your yard are cool year-round. This one might take the cake. [frydom.john]’s excellent UFO is fully programmable and contains about 2000 addressable RGB LEDs, smoke, a laser-lit ramp, and of course, an alien crew.

Under the hood of the wooden frame, you’ll find a Teensy 4.1 running the blinkenlights. There’s also a hacked smoke machine, because what’s a UFO without smoke or fog emanating from underneath? There are six PC fans to blow it around and recycle it, and the ramp runs on a linear actuator.

[frydom.john]’s project notes (PDF), which they refer to as ‘scrappy/hacky’ are also available. We beg to differ a bit on the scrappy/hacky part; it’s 60 pages long and full of photos and diagrams and charts. Even so, it may not be enough for you to replicate this extraterrestrial vehicle, so [frydom.john] is open to questions. Be sure to check this thing out after the break.

Want to have your UFO lift off of the ground? It’s possible with the Coandă effect.

Continue reading “Backyard UFO Is Out Of This World”

Using Nuclear Decay As Random Number Generator Source For An MCU

Although there are many ways to get a random number generator (RNG) set up on a microcontroller, it’s hard to argue with the sheer randomness of the various kinds of radiation zipping all around us from nuclear decay events. For [gbonacini] the purchase of a Geiger counter first in 2022 was the reason to tinker with using these as the source for an RNG, which simply runs a counter until a Geiger counter event occurs that ‘selects’ a number and the counter is reset to zero.

With the next version of this system the hardware and layout has changed somewhat, using a commercial handheld Geiger counter (GMC-320+) and its audio output as a generic input for any MCU. The (pulsed) audio signal is amplified with an opamp (left unspecified) that connects to a GPIO pin of the MCU (RP2040-based Pico W). Here the same algorithm is used to create a continuous queue of randomly picked numbers, which can also be queried via the WiFi interface with a custom protocol, essentially making it a network-connected RNG that could be used by other network-connected appliances.

C++ source is provided for the Pico W example, but it should be easy enough to adapt to other platforms. The GMC-320+ is also among the more affordable Geiger counters out there, even if it’s somewhat bulky to pair with just a single MCU, making a more basic Geiger counter module better for a permanent installation. Either way you should get pretty good RNG this way without splurging on exotic hardware.

Thanks to [navigator] for the tip.

Hot Wheel Car Becomes 1/64 Scale Micro RC Car, Complete With Camera

If you enjoy watching skilled assembly of small mechanical systems with electronics to match, then make some time to watch [Max Imagination] transform a Hot Wheels car into a 1/64th scale RC car complete with video FPV video feed. To say the project took careful planning and assembly would be an understatement, and the results look great.

The sort of affordable electronics available to hobbyists today opens up all kinds of possibilities, but connecting up various integrated modules brings its own challenges. This is especially true when there are physical constraints such as fitting everything into an off-the-shelf 1/64 scale toy car.

There are a lot of interesting build details that [Max] showcases, such as rebuilding a tiny DC motor to have a longer shaft so that it can drive both wheels at once. We also liked the use of 0.2 mm thick nickel strips (intended for connecting cells in a battery pack) as compliant structural components.

There are actually two web servers being run on the car. One provides an interface for throttle and steering (here’s the code it uses), and the other takes care of the video feed with ESP32-CAM sending a motion jpeg stream. [Max]’s mobile phone is used to control the car, and a second device goes into an old phone-based VR headset to display the FPV video feed.

Circuit diagrams and code are available for anyone wanting to perhaps make a similar project. We’ve seen micro RC builds of high quality before, but integrating an FPV camera kicks things up a notch. Want even more complex builds? All the rules change when weight reduction is a non-negotiable #1 priority. Check out a micro RC plane that weighs under three grams and get a few new ideas.

Continue reading “Hot Wheel Car Becomes 1/64 Scale Micro RC Car, Complete With Camera”

Adding Temperature Sensor Functionality To The CH32V003 MCU

As cheap as the WCH CH32V003 MCU is, its approximately $0.10 price tag looks far less attractive when you need to start adding on external ICs for missing basic features, such as temperature measurement. This is a feature that’s commonly found on even basic STM32 MCUs. Fear not though, as [eeucalyptus] shows, you can improvise a working solution by finding alternative sources that can act as a thermometer.

Plot of the temperature measurement using the improvised CH32V003 -based temperature sensor. (Credit: eeucalyptus)
Plot of the temperature measurement using the improvised CH32V003 -based temperature sensor. (Credit: eeucalyptus)

The CH32V003 is a low-end, 32-bit RISC-V-based MCU by the China-based Nanjing Qinheng Microelectronics, commonly known abbreviated as ‘WCH’, and featured on Hackaday previously. Although it features a single-core, 48 MHz CPU, its selection of peripherals is fairly basic:

So how do you create an internal temperature sensor using just this? [eeucalyptus] figured that all that’s needed is to measure the drift between two internal clocks – such as the LSI and HSI – as temperatures change and use this to calibrate a temperature graph.

Unfortunately, the LSI isn’t readily accessible, even through the Timer peripheral. This left the AWU (automatic wake-up unit) which also uses the LSI as a clock source. By letting it go to sleep and wake up after N LSI cycles, the AWU enabled indirect access to the LSI.

Internal diagram of the CH32V003 MCU. (Credit: WCH)
Internal diagram of the CH32V003 MCU. (Credit: WCH)

After calibrating against room temperature (~22 °C) and ice water (0 °C), a temperature plot was obtained, which could conceivably be somewhat accurate. As [eeucalyptus] warns, this is a kind of calibration that likely differs per MCU, and no attempt to quantify the absolute accuracy of this method has been made yet. Even so, as a crude temperature measurement, it might just be good enough.