Skip to content

Piero-93/MIDIBoard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MIDIBoard

An Arduino-based MIDI foot controller: a grid of buttons with LEDs that sends Program Change messages to drive amplifiers, multi-effects units or audio software. Presets are organized into banks that can be switched on the fly.

Features

  • N buttons + N LEDs (default SIZE = 3: pins 2–4 for buttons, 5–7 for LEDs).
  • Two operating modes:
    • Choose Bank — the LEDs blink; pressing a button selects the bank.
    • Play — each button sends the Program Change configured for the active bank.
  • Long press (~1 s) in Play mode to go back to bank selection.
  • Easily customizable command matrix commands[bank][rig].

Hardware

  • An Arduino board (e.g. Uno / Nano).
  • SIZE momentary push buttons and SIZE LEDs (with their resistors).
  • A 5-pin MIDI (DIN) output or a USB-MIDI interface, at 31250 baud.
Component Arduino pins
Buttons 2 … 2 + SIZE - 1
LEDs 2 + SIZE2 + 2*SIZE - 1

Pins 0 and 1 are reserved for the serial line (MIDI TX/RX).

Dependencies

Build and upload

With the Arduino IDE: open MIDIBoard.ino, select your board and port, then click Upload. From the command line with arduino-cli:

arduino-cli compile --fqbn arduino:avr:uno .
arduino-cli upload  --fqbn arduino:avr:uno -p COM3 .

Configuration

Edit the following in MIDIBoard.ino:

  • SIZE — number of buttons/LEDs.
  • buttonDefaultStates[] — resting state of each button (LOW/HIGH).
  • commands[][] — Program Change values sent for each bank/button.
  • PERIOD / PERC — period and duty cycle of the Choose Bank blink.

License

Released under the GNU GPL v3 — see LICENSE.

About

An Arduino-based MIDI foot controller: a grid of buttons with LEDs that sends Program Change messages to drive amplifiers, multi-effects units or audio software.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages