Skip to content

Latest commit

 

History

History
38 lines (32 loc) · 2.31 KB

README.md

File metadata and controls

38 lines (32 loc) · 2.31 KB

Player Piano Controller

Arduino/esp32 code for making a DIY Player Piano.
This is a fork from the vikbez's fork of the original project. vikbez added some improvements, this fork keeps the improvements while allowing all 88 keys + sustain to be used.

  • usage of ESP32-BLE-MIDI library (improving compatibility with windows / apple / android)
  • adding wifi MIDI capability (you can use rtpMidi and loopMidi for connecting to it from windows)
  • various bugfixes
  • last key of piano (88) is used for sustain pedal instead of more electronics connected to ESP32
  • last key of piano (88) OR pin 13 of ESP32 for sustain pedal. Configured at compile time.
  • schemas and solenoid board PCB that I created for making this project

Original project informations can be found here.

Boards are connected using chained serial:
control-box TX -> RX brain TX -> RX note-handler

Control Box (Pro Micro):
  • Interface for changing settings
  • Reset keys button (resets solenoids)
  • Receives MIDI data from USB and sends it to ESP32
Brain (ESP32):
  • Receives note data from Control Box
  • Receives and decodes MIDI messages (BLE and/or WIFI)
  • Schedules notes and sustain
  • Send notes to the note handler
Note handler (Pro Micro):
  • Receives note data from ESP32
  • Receives MIDI data from USB
  • Activates notes using shift registers
Used Arduino Libraries: