Apache License 2.0

项目介绍

shanteacontrols/OpenDeck 是一个托管在 GitHub 上的开源项目,主要使用 C++ 编写,采用 Apache License 2.0 许可证,目前获得 961 个 Star、71 次 Fork。

仓库全名
shanteacontrols/OpenDeck
开源许可证
Apache License 2.0
Star 数
961
Fork 数
71

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…

完整内容见 GitHub 原始 README 或本页 。

常见问题

OpenDeck 用什么语言开发?

主要使用 C++ 编写,采用 Apache License 2.0 许可证,目前有 961 个 Star。

OpenDeck 可以免费商用吗?

仓库采用 Apache License 2.0 许可证,可免费使用与修改,商业使用请遵守许可证条款(例如保留版权声明与许可声明)。

如何获取 OpenDeck 的源码?

可以直接克隆仓库:git clone https://github.com/shanteacontrols/OpenDeck.git,默认分支为 master;安装与运行步骤见仓库 README。

OpenDeck 最近还在维护吗?

仓库最近一次更新为 9月24日,当前没有未关闭的 Issue;Star 数为 961,可作为社区活跃度的参考。

关于

GitHub 原始描述(英文)

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

描述取自 GitHub 官方 API,保持仓库作者书写的原文。

简要分析

热度分
1148
价值分
602
活跃状态
活跃

语言占比

C
C++
CMake
Dockerfile
Linker Script
Makefile
Shell
TypeScript

Release

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:

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

评论

暂无评论