All Projects → shanteacontrols → OpenDeck

shanteacontrols / OpenDeck

Licence: Apache-2.0 license
Software and hardware platform for simpler building of MIDI controllers with support for DMX.

Programming Languages

C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language
shell
77523 projects
Makefile
30231 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to OpenDeck

BS2-Web
Novation Bass Station II Web interface
Stars: ✭ 34 (-92.24%)
Mutual labels:  midi, webmidi, midi-controller
zmidimap
Program for mapping midi signals to shell commands
Stars: ✭ 13 (-97.03%)
Mutual labels:  midi, midi-controller
smartbcr2k
Sits between your midi controller and your DAW to make your controller smarter
Stars: ✭ 21 (-95.21%)
Mutual labels:  midi, midi-controller
midi
An Observable based library for the use of Web MIDI API with Angular
Stars: ✭ 35 (-92.01%)
Mutual labels:  midi, webmidi
DMXOPL
YMF262-enhanced FM patch set for Doom and source ports.
Stars: ✭ 42 (-90.41%)
Mutual labels:  midi, dmx
TouchOSC
A collection of examples and modules for TouchOSC MK2
Stars: ✭ 30 (-93.15%)
Mutual labels:  midi, midi-controller
Pedalino
Smart wireless MIDI foot controller for guitarists and more.
Stars: ✭ 105 (-76.03%)
Mutual labels:  midi, midi-controller
learn-push2-with-svelte
Learn chords, scales, and music theory on the Push 2, right inside your web browser!
Stars: ✭ 37 (-91.55%)
Mutual labels:  midi, webmidi
Arduino-USBMIDI
Allows a microcontroller, with native USB capabilities, to appear as a MIDI device over USB to a connected computer
Stars: ✭ 98 (-77.63%)
Mutual labels:  midi, midi-controller
patchmaster
MIDI processing and patching system
Stars: ✭ 22 (-94.98%)
Mutual labels:  midi, midi-controller
Raspberry-MIDI-Controller
A python script that sends MIDI signals from the Raspberry (client) to a Computer (host)
Stars: ✭ 44 (-89.95%)
Mutual labels:  midi, midi-controller
BMC
BMC the Badass MIDI Controller, all-in-one Scalable MIDI Controller library with a companion Desktop/Browser Editor App for Teensy LC, 3.2, 3.5, 3.6, 4.0, 4.1
Stars: ✭ 34 (-92.24%)
Mutual labels:  midi, midi-controller
pacer-editor
Web editor for the Nektar Pacer MIDI controler
Stars: ✭ 16 (-96.35%)
Mutual labels:  midi, webmidi
PicoAudio.js
A JavaScript library for playing MIDI (Standard MIDI File) on Web.
Stars: ✭ 28 (-93.61%)
Mutual labels:  midi, webmidi
midi-grid
DIY midi controller project
Stars: ✭ 60 (-86.3%)
Mutual labels:  midi, midi-controller
Scribbletune
Create music with JavaScript
Stars: ✭ 3,509 (+701.14%)
Mutual labels:  midi, webmidi
MiDispositivoMIDI V3
Open source Arduino MIDI controller.
Stars: ✭ 49 (-88.81%)
Mutual labels:  midi, midi-controller
wui
Collection of GUI widgets for the web
Stars: ✭ 44 (-89.95%)
Mutual labels:  midi, webmidi
midi-eye
Ruby MIDI input event listener
Stars: ✭ 24 (-94.52%)
Mutual labels:  midi, midi-controller
microfreak-reader
An application to read and display the presets stored in the Arturia MicroFreak memory.
Stars: ✭ 32 (-92.69%)
Mutual labels:  midi, webmidi

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:

  • Coding - there is no need to code anything in order to make changes to the controller or to make it work
  • Making the controller behave the way you want it to - the firmware supports huge number of configurable parameters, all configurable in a Web browser

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

The platform also supports DMX output so it can be used as DMX interface through usbserial plugin in Open Lighting Architecture.

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:

  • Buttons
  • Encoders
  • LEDs (single color or RGB)
  • Potentiometers
  • FSRs (force-sensitive resistors)
  • LCD/OLED displays
  • Touchscreen displays (Nextion and Viewtech/Stone)

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, DMX output, 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 board

The official board currently comes in A and B variant: A variant is based on Arduino Nano 33 BLE with nRF52840 MCU and B variant on STM32F4 Black Pill with STM32F411 MCU. A variant supports BLE MIDI and supports few more presets due to larger flash memory - everything else is the same. The board features the following:

  • 128 digital inputs
  • 64 digital outputs
  • 64 analog inputs
  • DIN MIDI
  • USB MIDI
  • DMX output
  • Bluetooth on A variant

The board is available on Tindie.

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 dedicated 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:

  • modules:
    • avr-libstdcpp: GNU GPL v3 or later with GCC Runtime Library Exception 3.1
    • core: MIT
    • dbms: MIT
    • dmxusb: MIT
    • EmuEEPROM: MIT
    • lufa: Modified MIT, see modules/core/modules/lufa/LUFA/Licence.txt for details
    • midi: MIT
    • sysex: MIT
    • u8g2: Two-clause BSD
    • unity: MIT
    • tinyusb: MIT, but many modules it uses are individually licenced, check for more details
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].