Skip to content

Arduino and ESP32 software for a controlling a DIY Player Piano

License

Notifications You must be signed in to change notification settings

JackZielke/PlayerPianoController

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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:

About

Arduino and ESP32 software for a controlling a DIY Player Piano

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 77.5%
  • C 22.5%