
OpenDeck r3.1.2
shanteacontrols/OpenDeck
A platform for building interactive control and sensing devices using MIDI and OSC built with Zephyr RTOS.

a simple 32 button midi controller with banks
Simple midi controller is an open-source printed circuit board by Tommie1236, from the Tommie1236/simple-midi-controller repository on GitHub. It is a 2-layer board of 70 × 50 mm with 14 parts on 41 nets, routed with 165 tracks and 0 vias.
It is built around the MAX7219M. Its parts include 4 connectors, 2 capacitors, 2 ICs and 1 resistor. It belongs with the audio and music boards of this library.
32 configurable buttons Multiple banks for expanded control USB MIDI device class (works out-of-the-box with most DAWs and lighting control software) Example use: MyDMX, generic macropad for other MIDI-compatible software
Primary target: RP2040-Zero Any RP2040-based board can be used (adjust pin mappings as needed) Wiring and assembly instructions: TODO!!
Raspberry Pi Pico SDK TinyUSB
Clone this repository and its dependencies. Build the firmware using the included build script in the root directory. Optionally use the -l flag to automaticly use picotool to load it to the device. Or reboot into bootsel mode and drag the compiled binary(.uf2) onto the usb mass storage device.
Once flashed, the controller will appear as a standard USB MIDI device. It should work with any MIDI-compatible software. Currently tested with MyDMX, but suitable for general MIDI macro control. Pin Configuration
Default pin mappings are defined in the code for RP2040-Zero. If you use a different RP2040 board, update the pin definitions as needed in the source files.
I've used ai in this project. for example to create a base for this readme but i have also used some chatbots with high level debugging if i got stuck. I've also had copilot enable in vscode when i started the project. but i've since switched to neovim and didn't add any ai or lsp yet. so mostly just high level debugging and writing text. (I'm very bad at this as you can probably already see.) I really don't like using ai to generate code snippets. sometimes copilot is usefull when you need a lot of repeating code with just a simple parameter changing. But the rest of the time it is pretty useless imo and things like chatgpt/gemini make too many mistakes or inefficiencies to be usefull for snippets.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 4 | MountingHole_Pad | MountingHole:MountingHole_3.2mm_M3 | H1, H2, H3, H4 |
| 2 | C | Capacitor_THT:CP_Radial_D5.0mm_P2.50mm | C1, C2 |
| 1 | 150 | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_Horizontal | R1 |
| 1 | Conn_01x03 | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | J2 |
| 1 | Conn_01x04 | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J4 |
| 1 | Conn_02x06_Odd_Even | Connector_PinHeader_2.54mm:PinHeader_2x05_P2.54mm_Vertical | J3 |
| 1 | Conn_02x06_Odd_Even | Connector_PinHeader_2.54mm:PinHeader_2x06_P2.54mm_Vertical | J1 |
| 1 | MAX7219 | Package_DIP:DIP-24_W7.62mm_Socket | U1 |
| 1 | ~ | simple-midi-controller:RP2040-Zero | U2 |
The 13 most common of 14 parts.
It measures 70 × 50 mm and has 2 copper layers, 1.6 mm thick.
14 parts, built around the MAX7219M. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
From the Tommie1236/simple-midi-controller repository on GitHub, at the commit this page was made from: the board is Kicad/simple-midi-controller.kicad_pcb and its schematic Kicad/simple-midi-controller.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask Tommie1236 before reusing the design.

shanteacontrols/OpenDeck
A platform for building interactive control and sensing devices using MIDI and OSC built with Zephyr RTOS.


StarGate01/hl-alyx-glove
Firmware and Hardware for a Half-Life: Alyx Gravity Glove Replica


Eigenbaukombinat/glowboard
The Glowboard Plotter plots images using 64 UV LEDs attached in a line moved over a 120cmx60cm glow-in-the-dark sheet by a stepper.


