Skip to content

shanteacontrols/OpenDeck

Repository files navigation

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

Image

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.

Image

Image

Image

Image

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.

Image

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:

Board MIDI OSC
Adafruit Grand Central M4 Express USB, DIN No
Adafruit Metro ESP32-S3 USB, DIN No
Adafruit Metro ESP32-S3 + W5500 Ethernet Shield USB Ethernet
Adafruit Metro ESP32-S3 + W6100 Ethernet Shield USB Ethernet
Adafruit Metro RP2040 USB, DIN No
Adafruit Metro RP2040 + W5500 Ethernet Shield USB Ethernet
Adafruit Metro RP2040 + W6100 Ethernet Shield USB Ethernet
Arduino Nano 33 BLE USB, DIN, BLE No
LILYGO T-ETH Elite USB Ethernet
nRF52840 DK USB, DIN, BLE No
nRF5340 DK USB, DIN, BLE No
Olimex ESP32-POE No Ethernet
Raspberry Pi Pico USB, DIN No
Raspberry Pi Pico 2 USB, DIN No
ST Discovery F407VG USB, DIN No
ST Nucleo F767ZI DIN Ethernet
ST Nucleo H563ZI DIN Ethernet
ST Nucleo H753ZI DIN Ethernet
STM32F411 Black Pill V3+ with populated external flash USB, DIN No
Teensy 4.0 USB, DIN No
Teensy 4.1 USB, DIN No
Waveshare Core405R USB, DIN No
Waveshare ESP32-S3-ETH USB Ethernet
W5500-EVB-Pico USB Ethernet
W5500-EVB-Pico2 USB, DIN Ethernet
W6100-EVB-Pico USB, DIN Ethernet
W6100-EVB-Pico2 USB, DIN Ethernet
wESP32 No Ethernet

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

About

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

Topics

Resources

License

Stars

Watchers

Forks

Contributors