Home

Awesome

OpenDeck MIDI Platform

OpenDeck is a platform for building MIDI controllers. It is a firmware running on various boards which transforms them into class-compliant USB MIDI devices, making them compatible with any MIDI software on any operating system. OpenDeck is designed to solve two problems when building a MIDI controller:

Solving this two goals means you can forget about implementation details and focus on having your custom controller built as fast as possible.

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 controllers built with OpenDeck

Features

The following components are supported:

OpenDeck supports sending of both 7-bit and 14-bit Non-Registered Part Numbers (NRPN), latching messages on buttons, various encoding modes for quadrature encoders, LED control using MIDI In, configurable MIDI channels for each component individually, Bluetooth MIDI etc. Full list of supported 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 boards

Currently, there are two official boards: M and L variants. "M" stands for "middle" and "L" for "large". M board is currently out of production, but the L board is available on Tindie store.

M board

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

L board

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

Supported boards

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

[1] WeAct (developer of Black Pill boards) currently sells Black Pill board with AT32F403ACGU7 MCU instead of STM32F411. This variant isn't supported!

Some of the supported boards

For more details on supported boards, check the wiki page. A page with instructions on how to flash OpenDeck firmware to supported boards is also available. Support for custom boards can be easily added using YAML descriptors.

Documentation

Available on dedicated Wiki section.

Discussion

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

Credits

Licence

Most of the code is available under Apache Licence v2.0, with the following exceptions: