We got the idea to develop an electronic MIDI diatonic accordion (in Slovenian known under the name “frajtonerca”) and planned to turn it into reality at PIFcamp 2017. We knew that building an accordion in one week time would be very ambitious, but why not try it anyway?
Many people asked us about why we decided to build the accordion or what we planned to do with it. Here are some of the main objectives:
Let me elaborate a bit further on the above mentioned objectives.
There are certain commercial products out there. For example Roland FR18. No clue what the original price was, but it's apparently no longer being sold, it's missing some buttons in the fourth row (like Es on CFB model). For a reasonable price I would probably even buy it.
In Slovenia there are a couple of commercial solutions available for building a MIDI system into an existing accordion. The accordion itself costs anywhere between 2.500 and 5.000+ EUR. The MIDI system alone would be around 1.500 EUR and would not even let us extract the push/pull direction or the exact button being pressed.
The most well-known solution seems to be Totter MIDI. Others include HDS, Blueline MIDI, Apolon, maybe something else I've never heard of. Koren also made some MIDI accordions (as well as really cute free app for iOS and Android which you should try), but apparently stopped producing them due to lack of demand at the price range. According to some testers the sound was much better than from Totter MIDI, but it had unacceptable latency.
But buying an existing product takes all the flexibility and fun away, doesn't it?
One problem was that we didn't know which button trigger method to use, and brought two options to the camp. Eventually we implemented both, and suddenly turned up with two accordions: one with mechanical levers that trigger photointerrupters, and one with illuminated electric pushbuttons.
Both accordions are mostly laser-cut from 3mm and 4mm plates. The laser cutter is a fantastic device: it cuts highly complex patterns in plates with laser sharp accuracy at such fabulous speeds, that 99.9999% of your time is spent in pre-processing drawings until it gets finally accepted by the cutter.
The plates have to be attached to something, and that “something” are two big 3D printed structures with numerous carefully spaced holes.
The keyboard houses four rows of buttons. Why four? Accordions come in various sizes, with five rows for chromatic ones, and anything from one to four for diatonic accordions. We designed a system that could potentially accomodate up to five rows, and in constructing the four-row diatonic accordion, the spaces for the fifth row were used as reinforcements and lever aligners instead.
Each button is mounted on a L-shaped lever with pins on either end of the top. The pins open or close a photointerrupter, to trigger notes. The design allows to place photointerrupters on both sides of the levers, with the idea of registering velocity by measuring the button travel time from one end to another. In the current implementation, only the rear side is filled with photointerrupters.
After pressing a lever, it has to bounce back to its original position by some force. The idea was to incorporate a blade spring in the lever design itself, which can be easily laser-cut or 3D printed in one piece. Several designs have been studied; eventually, one of the blade spring designs was chosen in conjunction with small rubber springs at the back to obtain a good mechanical response.
The photointerrupters are mounted on a laser-cut wooden plate that serves as a PCB. Actually, without the printed circuits which leaves just the B (for board). We thought it would be more effective to do wire-wrapping and soldering pins ourselves. Oh man, that took forever! But the final result is so rewarding :)
The photointerrupters are grouped in six sets of eight interrupters each. Each set is activated by a transistor driven by a digital output, and an interrupter of each set is read out by a digital input. This way, 6+8=14 pins suffice to read out all 44 buttons of the accordion. An Arduino Nano already has enough pins to perform this task.
The design was drawn in Solidworks. Some CAD renderings are shown here, in an attempt to visualize the lever function.
The illuminated accordion uses pushbuttons with RGB LEDs mounted next to it under a semi-transparent ring, in order to evenly distribute the light from the LED. The top of the pushbutton is 3D printed, in order to mimick the diameter and shape of that of a real accordion.
Authors of the project:
Thanks to various individual and organisations who helped us make our project a reality:
Open-source projects: