GotGaMeR's Arduino-Compatible Solenoid Rig Turns Any Piano, New or Old, Into a MIDI Device

Designed to depress keys with solenoids, this piano add-on turns even vintage pianos into MIDI-controllable player pianos.

Gareth Halfacree
2 years ago β€’ Music / HW101

Pseudonymous YouTuber "GotGaMeR" is working on an Arduino-controller player piano, which sits atop a regular instrument as a non-invasive add-on that pushes the keys mechanically to play a programmed tune.

"The reason I wanted [it] to be able to 'play' the keys like a normal person would is so that I could use it on 'any' piano," GotGaMeR explains of the decision to sit a solenoid above each key to act as an actuator by physically pressing down the key for the required note. "I technically started this project like 8+ years ago but, like we've all probably done, it got put on the backburner/the basement for a long time until during the pandemic I made a plan to complete it."

This solenoid-based contraption plays MIDI files on a real piano, just like a human player would. (πŸ“Ή: GotGaMeR)

The system is controlled via a WeMos LOLIN D1 Mini Arduino-compatible microcontroller board, which connects to seven daughterboards, each controlling eight keys of the keyboard β€” with a plan to add extra boards until the device can play every note. Each daughterboard includes a 74HC595 shift register, eight TIP120 transistors, a selection of passives, and eight JF-0826B 12V solenoids.

The framework for attaching the device to the keyboard is a mixture of off-the-shelf aluminum rails and 3D printed parts, while WS2815 RGB LEDs add a little bit of light to the mix. "I went a bit overboard with the power supply," GotGaMeR notes. "I used [a] Mean Well SE-600-12, Blue Sea Systems ST Blade ATO/ATC fuse block, 14 gauge wire from fuse block to boards, 6 gauge wire from power supply to fuse block.

"The main power draw would be from each of the solenoids (2A rated, ~1.6-1.7 measured) while on. So I scaled the power supply to be able to drive ~20 keys at once safely β€” not including the negligible D1 Mini and the LEDs."

The device is compatible with any piano, so long as it has full-sized keys. (πŸ“Ή: GotGaMeR)

Controlled via MIDI transmitted via RTPMidi or UDP messages, and requiring specifically-parsed MIDI files in order to correct for dead-time on the solenoids, the project isn't exactly the cheapest way to play music: "The cost is mainly influenced by the solenoids," GotGaMeR says.

"I tried to find them as cheap as possible over the years but certainly wasn't efficient in my purchases over course of the project. If I had to guess, [it was] somewhere between $1000-$1500 over the course of, like, 10 years. If I had to do it again today, I could certainly do it for less, although the cost would still very much be dictated by the cost of the solenoids."

More details are available on GotGaMer's Reddit thread, while a selection of demonstration videos are available on the maker's YouTube channel.

Gareth Halfacree
Freelance journalist, technical author, hacker, tinkerer, erstwhile sysadmin. For hire: freelance@halfacree.co.uk.
Latest articles
Sponsored articles
Related articles
Latest articles
Read more
Related articles