OpenDeck

June 15, 2026 ยท View on GitHub

OpenDeck is a platform for building interactive control and sensing devices using MIDI and OSC. From USB MIDI DJ controllers and DAW control surfaces to Ethernet-connected OSC nodes, sensor interfaces and media installations, OpenDeck supports a wide range of hardware projects.

The main platform features:

  • Browser-based configuration
  • No firmware development required
  • Hardware-independent - supports multiple MCU families and development boards
  • MIDI and OSC support
  • Extensible sensor support

The platform lets you focus on hardware and interaction design rather than tweaking and debugging firmware.

Click the image below for a demo video of the OpenDeck configurator

Watch the video

Configurator is available either online or offline.

Some of the devices built with OpenDeck

Peripherals

OpenDeck supports the following peripherals:

Core I/O

  • Buttons
  • Encoders
  • Single-color LEDs and other types of outputs such as relays or transistors
  • Potentiometers
  • FSRs (force-sensitive resistors)

Displays

Sensors

Each sensor has specific configuration options such as smoothing, selectable event output etc.

Features

OpenDeck provides extensive MIDI and OSC functionality:

  • MIDI: sending of both 7-bit and 14-bit Non-Registered Parameter Numbers (NRPN), latching messages on buttons, various encoding modes for quadrature encoders, output control using MIDI In, configurable MIDI channels for each component individually, Bluetooth MIDI and more.
  • OSC: Ethernet transport, configurable destinations, sensor data streaming, output control, automatic network discovery via mDNS, network-based configuration and firmware updates.

A detailed guide to all supported configurable features can be found here.

If the feature you want isn't supported yet, don't feel discouraged. Open up a discussion thread and let's talk about it.

Official board

Currently, there is only one official board available to buy: the L variant, where "L" stands for "large". The board is available on Lectronz store.

This board is based on Raspberry Pi RP2040 microcontroller and features the following:

  • 128 digital inputs
  • 64 digital outputs
  • 64 analog inputs
  • DIN MIDI
  • USB MIDI (USB C)
  • Connector for touchscreen
  • Connector for I2C OLED display
  • Additional connectors with 3V+GND and 5V+GND connections

The L board doesn't have OSC support. It focuses on providing lots of I/O specifically for USB and DIN MIDI use-cases. OSC functionality is available on a number of supported Ethernet-enabled boards.

Supported boards

The firmware supports various other boards, both small and large:

BoardMIDIOSC
Adafruit Grand Central M4 ExpressUSB, DINNo
Adafruit Metro ESP32-S3USB, DINNo
Adafruit Metro ESP32-S3 + W5500 Ethernet ShieldUSBEthernet
Adafruit Metro ESP32-S3 + W6100 Ethernet ShieldUSBEthernet
Adafruit Metro RP2040USB, DINNo
Adafruit Metro RP2040 + W5500 Ethernet ShieldUSBEthernet
Adafruit Metro RP2040 + W6100 Ethernet ShieldUSBEthernet
Arduino Nano 33 BLEUSB, DIN, BLENo
LILYGO T-ETH EliteUSBEthernet
nRF52840 DKUSB, DIN, BLENo
nRF5340 DKUSB, DIN, BLENo
Olimex ESP32-POENoEthernet
Raspberry Pi PicoUSB, DINNo
Raspberry Pi Pico 2USB, DINNo
ST Discovery F407VGUSB, DINNo
ST Nucleo F767ZIDINEthernet
ST Nucleo H563ZIDINEthernet
ST Nucleo H753ZIDINEthernet
STM32F411 Black Pill V3+ with populated external flashUSB, DINNo
Teensy 4.0USB, DINNo
Teensy 4.1USB, DINNo
Waveshare Core405RUSB, DINNo
Waveshare ESP32-S3-ETHUSBEthernet
W5500-EVB-PicoUSBEthernet
W5500-EVB-Pico2USB, DINEthernet
W6100-EVB-PicoUSB, DINEthernet
W6100-EVB-Pico2USB, DINEthernet
wESP32NoEthernet

For more details on supported boards, check the wiki page. Support for custom boards can also be added.

Documentation

Available on dedicated Wiki section.

Discussion

Need help? Want to show off your OpenDeck-based builds? Head over to Discussions!

License

OpenDeck source code is available under Apache License v2.0. Zephyr RTOS, which OpenDeck is built on top of, is also licensed under Apache License v2.0.

Third-party components with different licenses:

  • u8g2: Two-clause BSD
  • vl53l4cx: Three-clause BSD
  • vl53l5cx: Three-clause BSD
  • zlibs: MIT