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

jmlmvi/PianoProject

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Player Piano Controller

Arduino/esp32 code for making a DIY Player Piano.
This is a fork from the original project, with some improvements:

  • 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
  • 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.3%
  • C 22.7%