OpenPipes Pipe Organ Sound for the Masses

MIDI Controller Board

The central nervous system of the legacy OpenPipes console. This compact 63×60mm PCB houses the Arduino microcontroller, MIDI transceiver circuit, and all peripheral connection ports.

Overview

The MIDI Controller Board is the heart of the legacy platform. Every signal in the console—from key presses to stop changes to expression pedal movements—ultimately flows through this board, which converts physical input states into standard USB MIDI messages understood by GrandOrgue and other organ software.

MIDI Controller Board 3D View

3D View

The compact 63×60mm form factor fits easily inside any console enclosure.

Key Features

  • Arduino-based — Uses a standard Arduino-compatible microcontroller for easy programming and community support
  • MIDI transceiver circuit — On-board MIDI TX/RX for standard 5-pin DIN MIDI output, plus USB MIDI for direct computer connection
  • Peripheral ports — Multiple expansion headers for connecting Extension Boards, button arrays, and analog peripherals
  • SMD switches — Surface-mount DIP switches enable optional daisy-chain configuration for NeoPixel LED control, reducing the pin count needed for LED feedback
  • Analog pins — Dedicated analog input pins are broken out for expression pedals, volume controls, and other continuous-input peripherals
  • Compact form factor — 63mm × 60mm PCB designed for easy integration into any console build

Circuit Design

The schematic centers on the Arduino microcontroller, which handles:

  1. Scanning peripheral inputs through multiplexed address lines
  2. Debouncing key and button signals to prevent false triggers
  3. MIDI message generation — converting scan results into Note On/Off, Control Change, and Program Change messages
  4. NeoPixel control — driving WS2812 LED strips for visual stop/button feedback
  5. Serial communication with extension boards through the bridge connector

Each port on the controller is connected to a dedicated Arduino pin that can independently control a NeoPixel chain, though the SMD switches allow chaining multiple ports together when fewer independent channels are needed.

Connection Ports

PortFunctionNotes
USBMIDI output to computerPrimary connection to Pipebian/X86Pipes
MIDI DIN5-pin DIN MIDI outFor standalone MIDI devices
EXT 1-4Extension board headersConnect Extension Board 1, Double Array, etc.
ANA 1-4Analog inputsExpression pedals, volume controls
LEDNeoPixel data outWS2812 LED chain
DBGDebug headerAll channel states exposed

Manufacturing

The PCB can be ordered from any standard fabrication service (JLCPCB, PCBWay, OSH Park) using the provided Gerber files. All components use common packages and are available from major distributors. The board supports both hand soldering and reflow assembly.

Download design files on GitHub →