midi 3 button prototype

const int N_BUTTONS = 3;
byte buttonPin[N_BUTTONS] = {2, 4, 15};
byte buttonState[N_BUTTONS] = {0};
byte buttonPState[N_BUTTONS] = {0};

void setup() {
// put your setup code here, to run once:
Serial.begin(115200);

for (int i=0; i < N_BUTTONS; i++) { pinMode(buttonPin[i], INPUT_PULLUP); } } void loop() { // put your main code here, to run repeatedly: buttons(); } void buttons() { for (int i=0; i < N_BUTTONS; i++) { buttonState[i] = digitalRead(buttonPin[i]); if (buttonState[i] != buttonPState[i]) { Serial.print("Button: "); Serial.print(i); Serial.println(); Serial.print(buttonState[i]); Serial.print(" "); buttonPState[i] = buttonState[i]; Serial.println(); } } // Serial.println(); }

build a midi board

https://www.hackster.io/hackershack/midi-footswitch-b2e0b3

https://apps.apple.com/us/app/sidecar-midi-controller/id1073305840

https://github.com/alf45tar/PedalinoMini

https://gwerder.digital/products/Elektronik/Midi-Elektronik/midi-shield-fuer-alle-arduino-von-sparkfun.html

https://github.com/MicroMidi/NUX-MIDI-Footswitch

Bluetooth
https://www.electronicwings.com/esp32/esp32-bluetooth-getting-started

Arduino and HC-05 Bluetooth Module Complete Tutorial

Pi alternative

https://www.notebookcheck.com/Orange-Pi-5-Die-leistungssstarken-Alternativen-zum-Raspberry-Pi-gibt-es-ab-sofort-mit-riesigem-Arbeitsspeicher.760097.0.html