A Simple RP2040-Based Audio DSP Board

If you’re one of those people who got into building electronics for the purpose of making music, then this Raspberry Pi RP2040-based audio DSP project by [DatanoiseTV] might be of interest. Provided is a FreeRTOS template application for creating Eurorack compatible synthesizers, effects processors, and similar DSP-based audio widgets.

The hardware platform has the usual Eurorack connectivity, including MIDI in, Control Voltages (CV) and the usual 5V-compatible triggers. An audio output is provided to send the audio out to the system mixer or any other analog modules. Additionally, connections are provided for a rotary encoder, a few push buttons, and an OLED display to allow construction of a rudimentary user interface on the module, if that is required.

The application template is generic enough, however the project is intended to be used with the Vult DSP transcompiler. Vult is a high-level programming language designed to enable easy creation of audio synthesizers and similar, producing C++ code as an output of the compilation process. This is then wrapped up with the RTOS goodies (although you don’t actually need them) to drop onto the RP2040 in the usual way, via the handy USB-C port. So, if you’re looking to get into DSP-based Eurorack modules for your homebrew synth rack, this might be a good place to start.

Just like the RP2040 isn’t the most obvious choice for a DSP application, neither is the ESP32 for that matter, but who cares? many modern micros are more than capable of audio DSP these days, with or without the dedicated functionality.

Can You Cheat At Tightrope Walking?

Tightrope walking is no mean feat — it takes years to master (even with a balance rod) — but that’s too much like hard work for [James Bruton]. Obviously, the solution is just a matter of the application of some electronically-controlled balancing technology, and [James] is just the guy for the job. Bearing a passing resemblance to a cross between a prop from Ghostbusters and a medieval torture device, this weighty balancing cheat device almost kind of works!

On a slightly more serious note, bipedal balance is a complex problem to solve. You have multiple limb sections, which can move independently in many ways, as well as the upper body also contributing to shifting around the center of gravity in a hard-to-predict way. So it’s no great surprise that a simple torque reaction device strapped to the torso doesn’t help a great deal, but it sure is fun to watch him trying. The bottom line is this — our bodies are pretty heavy, and the amount of force needed to correct tilt in the plane of interest is hard to generate without the reaction wheel itself being really heavy, and that extra mass doesn’t exactly help with the overall balancing problem. We reckon the overall concept is sound, it’s just that all those extra limbs flopping around make this simplistic sensing and compensation strategy only partly effective.

Stabilizing small robots is probably a bit easier than a human, such as this gyroscopically-stabilized monowheel, but sometimes you don’t even need the gyroscope, as you can control the driving wheels directly.

Continue reading “Can You Cheat At Tightrope Walking?”

72 DIY Musical Instruments Played In 7 Minutes

Humans have been making musical instruments from whatever items are close at hand for thousands of years, and we aren’t showing any signs of slowing down yet, least of all artist [Nicolas Bras] and collaborator [Sandrine Morais.] They have been designing and constructing quite a number of DIY instruments over the years, with this demo video highlighting a whopping 72 of them in the space of just seven minutes!

Clearly, [Nicolas] is one of those people who can play literally anything, and shows his skills off very well indeed if you ask us. Particularly fine sounding is the pilchards tin guitar found at 2:52 in the video, and the electric pipe beat box at 2:10 is also pretty fun.

Pretty much all the usual methods for producing sounds mechanically are covered, namely air resonating within a shaped enclosure (flutes, and such), string vibrations which might be sensed electrically (guitars, zithers, etc) and percussive instruments which vibrate an enclosed air mass (like the udu) or vibrate other things (like plates or bars). Looking over the YouTube channel, we can’t think of much they haven’t tried to make music with!

If all this sounds familiar, well, we covered [Nicolas] that time he was traveling for a gig and his instrument collection got lost in transit.

Continue reading “72 DIY Musical Instruments Played In 7 Minutes”

Behold The Mighty Floppotron 3.0

If anyone has been struggling to get hold of a 3.5″ floppy drive lately, we think we’ve got a clue as to why — behold, the mighty floppotron 3.0 by [Paweł Zadrożniak.] With an utterly bonkers 512 floppy drives, four flatbed scanners and sixteen hard disks of various sizes, the floppotron 3.0 MIDI synthesiser is possibly the biggest such retro hardware synthesiser so far. Since every part of the system is motor-based, nobody is going to be surprised that to power the show is quite an undertaking, with nearly twenty switched-mode PSU modules needed to keep up with the demand, averaging 300W but rated at 1.2kW peak!

A full custom MIDI-to-RS485 gateway based around the nRF52xx series MCU deals with the communication to the collection of instrument controllers. These controllers are generic enough to take RS485 input and control a dedicated driver for either an array of floppy drives (up to 192), an array of hard drives or the handful of scanners. The way the floppy drives are grouped is quite neat. Rather than using each drive to generate a specific tone, the software uses the whole column for each note. By varying the number of drives moving simultaneously over time, the sound volume varies, simulating the note envelope and giving a richer sound. Multiple columns driving in parallel give the system a 16-note polyphony. The floppies cover the low notes, with the four flatbed scanners covering the higher notes. MIDI drum sounds are mapped to the hard disks, operating in a, well, percussive manner, with different case shapes giving unique sounds. Even the firmware can be updated over MIDI! So, checkout the demo video after the break for a sweet rendition of the very familiar “Entry of the gladiators” by Czech composer Julius Fučík.

If you think this looks familiar, you’re not mistaken, we’ve covered an earlier floppotron before, but we reckon nobody has attempted to do it with ye olde eight-inch drives yet!

Continue reading “Behold The Mighty Floppotron 3.0”

Kved: An Embeddable Key/Value Datastore

At some point when developing embedded applications, you’re going to want to store unique values in non-volatile memory, values that can’t be fixed at compilation time. Many microcontrollers have a small amount of EEPROM memory for this very purpose, but it’s usually rather limited if it’s provided at all. Even if you do have a bit of space on an EEPROM at your disposal, actually formatting your values into the memory and dealing with the pesky problem of wear leveling (necessary for parameters that need to change often) can be a bit of a hassle.

Lucky for us, [Marcelo Barros] decided to share his own implementation, Kved (key/value database) which uses the flash memory instead for such storage. Kved implements a dictionary type data structure, using numeric keys and values, supporting a few integer types. Using the library should be straightforward enough, as [Marcelo] says, all you need are a pair of spare flash sectors and the ability to port the flash the sector read, write, and erase functions. There are plenty of examples of such code available for practically any microcontroller out there, so that should be no barrier. For those who want to play with it right now, the repo currently has ports for the STM32L433RC and STM32F411CE, as well as a simulated version you can compile and run on your computer.

From an implementation perspective, the write algorithm uses a COW (Copy On Write) method. Changed values are invalidated by over-writing the storage location with all-zeros, and re-writing the changed value to a new location, cycling through the unused locations until the sector is full. Data-integrity mechanisms are implemented, preventing corruption of the data structure due to power fail situations, so incorrectly written values will be corrected on start-up and not affect the integrity of the configuration.

When looking around, we found a similar project, Embedis, over on hackaday.IO, as well as this article on the subject of embedded filesystems from a little while back.

An Interesting Circular Stewart Platform

Stewart platforms are pretty neat, and not seen in the wild all that often, perhaps because there aren’t a vast number of hacker-friendly applications that need quite this many degrees of freedom within such a restricted movement range. Anyway, here’s an interesting implementation from the the curiously named [Circular-Base-Stewart-Platform] YouTube channel (no, we can’t find the designer’s actual name) with a series of videos from a few years ago, showing the construction and operation of such a beast. This is a very neat mechanism comprised of six geared motors on the end of arms, engaging with a large internal gear. The common end of each arm rides on the central shaft, each with its own bearing. With the addition of the usual six linkages, twelve ball joints, and a few brackets, a complete platform is realised.

This circular arrangement is so simple that we can’t believe we haven’t come across it before. One interesting deviation from the usual Stewart platform arrangement is the use of a central slip-ring connector to provide power, allowing the whole assembly to rotate continuously, in addition to the usual six degrees of freedom the mechanism allows. Control is courtesy of an Arduino Pro Mini, which drives the motors using a handful of Pololu TB6612 (PDF) dual H-bridge driver modules. Obviously, the sketch running on the Arduino will give the thing a fixed motion, but add in an additional data link over that central slip-ring setup (or maybe a wireless link), and it will be much more useful.

We recently saw another 6-DOF actuator design, using flexures, yet another ball-balancing hack, but if you want an actually useful Stewart platform application, checkout this pool-playing robot!

Continue reading “An Interesting Circular Stewart Platform”

Panelize PCBs Graphically With Hm-panelizer

When you’re working with PCBs and making single units to knock out in those Chinese fabs, going from layout to manufacturable Gerber files is just a few button presses, no matter what PCB layout tool you prefer. But, once you get into producing sets of PCBs that form a larger system, or are making multiple copies for efficient manufacturing, then you’re not going to get far without delving into the art of PCB panelization. We’ve seen a few options over the years, and here’s yet another one that’s looking quite promising —  hm-panelizer by [halfmarble] is a cross platform Python GUI application, which leverages Kivy, so it should run on pretty well on most major platforms without too much hassle. The tool is early in development, so is restricted to handling only straight PCB edges, with horizontal mouse-bites for now, but we’re sure it will quickly grow more general purpose capabilities given time and support.

In an ideal world, open source tools like KiCAD would have a built-in panelizer, but for now we can dream and hm-panelizer might just be good enough for some people. For more choices on panelizing, checkout our guide to making it easy, and just to muddy the waters here’s another way to do it.