January 12, 2022: Progress

Not many updates lately, but work hasn’t stopped entirely. There is still a very long way to go before the EnsembleBot can play, but we’ll get there, eventually.


The master controller is the bridge between the MIDI host (pc) and the EnsembleBot, and it’s main function is to relay MIDI/EBP messages from the USB serial bus to the EnsembleBot CAN bus. Previously, this function was served by the same microcontroller responsible for tubular bells, glockenspiel and miscelleaneaous percussion.

Master Controller Enclosure

To reduce the risk of buffer overflows because of too slow buffer handling (which actually did occur) the bus bridge tasks has now been moved to a dedicated master controller, that pretty much only buffers incoming serial messages and relays them onto the CAN bus.

Making a stand-alone master controller also helps keep the EnsembleBot more modular. Previously, nothing worked if the combined tubular bells/glockenspiel/percussion circuitry wasn’t present and switched on. Now, it’s possible to use only a single instrument (or instrument group) independently.

The master controller is based on a Teensy 3.2 (72 MHz). This is a bit oversized, but it’s better to err on the side of caution. This extra muscle makes the firmware coding easier, as it doesn’t have to be perfectly optimized. Also, to have some kind of practical feedback, the controller box has been fitted with 16 LEDs – one for each MIDI channel – that will light up shortly, when a MIDI/EBP message is sent to that particular channel.

The hardware is assembled and tested, but the firmware has yet to be written.

Linear Actuator

After many failed attempts, the PipeMare swell panels for both the accordion and the cabinet are now working. Originally, the swells would be controlled by silent, geared motors, combined with a number of micro-switches to check for extreme positions. Especially in the accordion it was very hard to make it work reliably because of space constraints.

To make a functioning swell panel, the geared motors were dropped for now in favour of much simpler linear actuators. These are 12V devices that extends or retracts a small arm in a slow and smooth motion, and they are able to exert quite a force. Another bonus is that there is no need for switches to check for extreme positions, as the actuator automatically shuts down, when it reaches the fully extended or retracted position. All that’s needed is 5 seconds of power, and the actuator takes care of the rest.

PipeMare swell doors

Unfortunately, these actuators are anything but silent. To be honest, they are quite noisy. This is a problem, since the swells were supposed to be part of the PipeMare instrument, changing the dynamics (volume) of the music through MIDI commands. However, as they are now, they would pretty much ruin any music playing when activated. So, unless there is some way to reduce the noise, they should be considered a temporary solution.

12V 45N solenoid

The percussion section really lacks a decent bass drum. Earlier attempts were underwhelming to say the least, so they had to be redesigned from scratch. After watching a youtube video of a MIDI-controlled drumbot, I contacted the creator, who gave me the inspiration for the next design.

First of all, the new bass drum will based on a large floor tom to give a more substantial sound. The previous two flimsy mallets are replaced by a single, heavy bass drum mallet. For activating the mallet with enough force, we use not one but two heavy duty solenoids in parallel.

Bass drum prototype

These two solenoids each pull 45 N (nominally) when actuated with 12V. In this application they will only be actuated very intermittently, e.g. 30 msec with much longer pauses in between, and the risk of overheating the solenoid coils is greatly reduced. So, to give the mallet extra force, the solenoids are driven at 15 V (i.e. a 25 % overvoltage) through a pair of power MOSFET drivers and a dedicated switching PSU block.

This, combined with a much more rigid and lossless mechanical mounting, gives the bass drum its much needed oomph. Now it’s just a matter of making the beater-system look good, and mounting it on the tom, along with the driver circuit and PSU block.


Right now, the primary concern is firmware programming. The master controller needs new code, and the previous multi-purpose controller must be re-programmed to only act as slave-controller for tubular bells, glockenspiel and percussion.

Then there’s still a lot of work on the PipeMare project. The two pipe organ stops must be voiced and tuned, and perhaps it’s even necessary to build a secondary pressure regulator, if the flutes can’t work with the high pressure for the harmonic piccolos. And the accordion also needs some work, especially building and programming a handheld unit for calibrating the many servos and storing the information on EEPROM built into the accordion control circuit.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.