shanteacontrols/OpenDeck

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

C++

960

3,695 commits

updated Sep 23, 2026

See the code

README

OpenDeck

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:

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
midi
midi-controller
osc
webmidi
webusb
zephyr
zephyr-rtos

shanteacontrols/OpenDeck

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

C++

960

3,695 commits

updated Sep 23, 2026

See the code

README

OpenDeck

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:

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
midi
midi-controller
osc
webmidi
webusb
zephyr
zephyr-rtos

Significant stargazers

Frank Sachsenheim

34 followers · starred Jun 2020

Jay Phelps

1,881 followers · starred Feb 2019

ahujasid

782 followers · starred Nov 2025

Luke Haas

798 followers · starred Oct 2021