Piano Player - a Mechatronics Design

🎯Objective

The client, who is affiliated with a well known South African artist, required the development of a system capable of playing all the notes of a piano. As this was a remote working relationship, all designs would later be implemented in South Africa by a local engineer or technician once the design is completed.

This project is currently on hold

General Design Assumptions

After discussions with the client with regards the final implementation, the following design assumptions and constraints were agreed apon:

Mechanical Design

All mechanical design was performed using Autodesk Fusion 360. Having limited budget and access to facilities, it was decided to make the prototype with laser-cut plywood flat panels assembled with screws.

Piano Player Assembly Pictures

Piano Player Sketches and Renders

Piano Player Mechanical Drawings

⚡Electronics

The project requires the control of 88 servo motors, one way to achieve this is with 2 Arduino Mega boards. An Arduino “shield” was designed to interface with the 44 servos on each channel.

Electronic schematic and PCB design was performed using KiCad.

PCBs were fabricated by JLC PCB.

Controller PCB Design.pdf

Controller PCB bottom layer.pdf

Controller PCB top layer.pdf

Populated PCB - Top View

Populated PCB - Top View

💾Embedded software

The software accepts a piano song via MIDI connector in the standard MIDI configuration. A hard switch sets whether the controller is controlling the top or bottom 44 notes.

📸 Media

An initial prototype test of 44 servos

Current Prototype playing Sia -The Greatest

Current Prototype playing the MacGuyver theme song

✅ Still To Do