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.

Can You Build An Industrial Grade CNC With Only DIY Resources?

[FloweringElbow] aka [Bongo] on YouTube is certainly having a go at this, and we reckon he’s onto a winner! This epic flatbed CNC build (video, embedded below) starts with some second hand structural I-beam, with welded-on I-beam legs, DIY cast aluminium side plates and plenty of concrete to give a strong and importantly, heavy structure.

The ideal machine is as rigid as possible, and heavy, to dampen out vibrations caused by high-feed speed cutting, or the forces due to cutting harder materials, so bigger really is better. For construction of the frame, steel is pretty strong, and the mass of the structure gives it additional damping, but triangulation was needed to counteract additional twisting. He stitch-welded the pre-heated frame in inch-long sections to limit the heat transferred into the metal, minimizing the subsequent warpage. [Bongo] used hacky Vibratory stress relief (VSR) constructed from a washing machine motor and eccentric weight, clamped to the frame, with feedback from a mobile phone app to find the resonant frequencies. There are other videos on the channel devoted to that topic of such stress relief techniques.

Precise enough to cut sticky-backed vinyl at half thickness!

When it came time for adding even more mass, a priming coat was made from a mixture of bonding epoxy and sharp grit, intended for non-slip flooring. The concrete mix used Portland cement, pozzolan (Silica fume) polycarboxylate superplasticiser and 1/2″ glass fiber threads. A second mix added crushed stone for additional mass. A neat trick was to make a handheld vibratory compactor from a plate welded onto the end of old drill bit, mounted in an SDS hammer drill.

Once the frame was flipped the right way up (collapsing the overloaded hoist in the process) it was necessary to level the top surface to accept the linear rails. This was done using a super runny, self-leveling epoxy, and checked by flowing water over it. Once the epoxy surfaces were adequately flat and coplanar (and much scraping later) the linear rails were attached, after creating some epoxy shoulders for them to butt up against. End plates to attach the Y axis lead screws, were added by bolting into the frame with a grit-loaded epoxy bond in between.

The gantry design was skipped for this video (but you can see that here) and once mounted a quick test showed the machine was viable. One curious task was making their own cable-chain from ply, on the machine itself, rather than buying something expensive off-the-peg. Why not? Once the machine was working well enough to mill a flat sheet of steel to nice reflective surface, it was used to mount a DIY drag-knife to cut out shapes in some vinyl, so it has the precision. We did like seeing an XBox controller used to manually jog the machine around! So much to see in this build and other related videos, we reckon this channel is one to watch!

We’ve featured CNC builds many a time, there’s a build whatever your needs and budget, but here’s a good starting point to build a machine, just good enough to build the tools you need. If you don’t happen to have a source of structural I-beam to hand, you can do something quite capable with wood, and if you fancy a go at 3D printing a knee mill, we’ve got that covered as well.

Continue reading “Can You Build An Industrial Grade CNC With Only DIY Resources?”

3D Printing A Water-Cooled Jet Engine?

Everybody knows the trick to holding a candle flame to a balloon without it bursting — that of adding a little water before the air to absorb the heat from the relatively cool flame. So [Integza], in his quest to 3D print a jet engine wondered if the same principle could applied to a 3D printed combustion chamber. First things first, the little puddle of water was replaced with a pumped flow, from an external reservoir, giving the thin plastic inner surface at least a vague chance of survival. Whilst this whole plan might seem pretty bonkers (although we admit, not so much if you’ve seen any of other videos in the channel lately) the idea has some merit. Liquid cooling the combustion jacket is used in a great many rocket engine designs, we note, the German WWII V2 rocket used this idea with great success, along with many others. After all, some materials will only soften and become structurally weak if they get hot enough in any spot, so if it is sufficiently conductive, then the excess heat can be removed from the outer surface and keep the surface temperature within sensible bounds. Since resin is a thermoset plastic, and will burn, rather than melt, this behaviour will be different, but not necessarily better for this application.

The combustion chamber itself didn’t burn

The issue we can see, is balancing the thermal conductivity of the resin wall, with the rate of cooling from the water flow, whilst making it thick enough to withstand the pressure of combustion, and any shock components. Quite a complicated task if you ask us. Is resin the right material for the job? Probably not, but it’s fun finding out anyway! In the end [Integza] managed to come up with a design, that with the help of a metal injector separator plate, survived long enough to maintain some sort of combustion, until the plate overheated and burned the resin around its support. Better luck next time!

This isn’t the first time attempting to use 3D printed resin for such an application, here’s an attempt to use the air-multiplier type setup with a combustion chamber. Of course making a combustion chamber from a toilet roll holder is far more sensible, just as [colinfurze] will attest, don’t try this at home folks!

Continue reading “3D Printing A Water-Cooled Jet Engine?”