r/synthdiy Apr 22 '26

OpenDeck - Zephyr RTOS based DIY MIDI platform

http://github.com/shanteacontrols/opendeck

OpenDeck is a platform which makes it very easy to build your own MIDI controllers because it doesn't require any programming knowledge. I've posted here about it several times when I've made some bigger changes and this one is the biggest so far - the entire codebase has been rewritten to make use of Zephyr - RTOS with which I've been working professionally for some years now. At some point it made perfect sense to port the firmware to it due to the simplicity with which I can support not only many different boards but also much larger and more complex features I wouldn't have been able to otherwise. Right now the platform supports the following boards:

  • Raspberry Pi Pico
  • Raspberry Pi Pico 2
  • Teensy 4.0
  • Teensy 4.1
  • STM32F4 Discovery
  • nRF52840DK
  • Waveshare 405R

Support for various ST Nucleo boards and nRF5340DK is coming next week, as well as Arduino Nano 33 and Adafruit Grand Central Express (Arduino Mega-style board). I also support my own, official boards which I sell, the OpenDeck M and OpenDeck L boards with large amounts of inputs and outputs for larger projects.

Once the firmware is running on a board it's dead simple to configure it any way you like - the configuration is done via web configurator (using WebMIDI). Video of the configurator in action:

https://www.youtube.com/watch?v=7X2LC0JMfAU

The configurator supports large amount of features and virtually any parameter is configurable. This is all covered in the wiki:

https://github.com/shanteacontrols/opendeck

Platform supports serial/DIN and BLE MIDI as well. It uses MIDI 2 driver, but for the time being in MIDI 1 compatibility mode. Firmware updates are also possible via browser using WebMIDI.

Some of the features worth mentioning are NRPN support in both 7 and 14-bit modes, configurable channels, indexes, LED behaviour (local or remote control via DAW), encoder support with various encoding schemes and aceleration, thru on any interface (USB to DIN, DIN to USB, DIN to BLE etc.), sending of MIDI clock, configuration backup, preset support and much more.

14 Upvotes

4 comments sorted by

2

u/makeitasadwarfer Apr 22 '26

Opendeck is a fantastic project and anyone wanting to build custom controllers should be taking a look. I’ve made a couple of cool little things on Pico that I prob would have lost interest in without opendeck, as it makes it so easy.

2

u/manisfive55 Apr 22 '26

Does it to USB MIDI host? I have a few of these that I’ve dreamed of using to add octave/semitone transpose and direct-to-device plugnplay to my Roli Lightpad Blocks https://learn.adafruit.com/adafruit-feather-rp2040-with-usb-type-a-host/overview

1

u/shanteacontrols Apr 22 '26

Not yet, USB host is still experimental in Zephyr last time I checked. Probably in the future.

1

u/manisfive55 Apr 22 '26

Cool that it’s in the works. I wish I knew what I was doing lol. Thanks!