BLE MIDI MODULE / FIRMWAREOBJECT / FIRMWARE · 2026
Tera
BLE MIDI
4本の線で、
BLE MIDIに。
UART ⇄ BLE MIDI / PERIPHERAL
- MAIN MCUUART MIDI / RX・TX
- ESP32-SOLO-1Tera BLE MIDI
- BLE MIDI HOSTiOS / macOS など
3.3V / GND / RX / TX — 8N1
PROJECT INFO
- YEAR
- 2026
- TYPE
- BLE MIDIファームウェア
- ROLE
- ファームウェア
- TECH
- ESP32-SOLO-1 / ESP-IDF / NimBLE
- STATUS
- コード公開
4 WIRES.BLE MIDI.
UART MIDI ⇄ BLE MIDI
OVERVIEW
何を作った?
UART MIDIとBLE MIDIを双方向に変換する、ESP32-SOLO-1用のファームウェアです。MIDIを扱うマイコンにUARTでつなぎ、BLE MIDI機器として使います。
通常利用は3.3V・GND・RX・TXの4線だけ。画面やボタンは持たず、iOS / macOSなどのBLE MIDI Host側から接続します。BLE MIDI to DINとは別のファームウェアです。
WHY
手持ちの機器も、自作のコントローラーも。
既存の機器をBLE MIDIに対応させること、そして自作のコントローラーにBLE MIDIを組み込むことが目的です。
BLE MIDI to DINと同じく、余っていたESP32-SOLO-1を使い切ることも狙いにしています。
FEATURES
小さなモジュールに、必要なことだけ。
- UART → BLE、BLE → UARTの双方向変換
- MIDIの専用SysExでBLE名を変更し、本体に保存(初期名 ESP MIDI)
- UARTの通信速度を自動判定(31250 / 115200 / 230400 / 38400 / 57600 baud)
- 任意で付けられるステータスLED(待機・接続・送受信を点滅のパターンで表示)
- 追加の外部ライブラリなし(ESP-IDF同梱のNimBLEを使用)
LATENCY
接続間隔を詰めて、遅延を減らす。
- AVERAGE / 7.5 ms CONNECTION6.5
- ms 平均メッセージの完成から、受信側のUART FIFOに入るまで
- 95TH PERCENTILE9.6
- ms同じ条件の95%点・1,000件で欠落0
- BEFORE / 15 ms CONNECTION10.9
- ms 平均接続間隔15msのときの値
ESP32同士・31250 bpsの内部UARTループバック条件での実測です(SOLO-1とWROOM-32で各1,000件)。実際の接続間隔は接続相手のHostによって決まり、7.5msが受け入れられるとは限りません。
WIRING
4本の線でつなぐ。
- 3V3
- 安定した3.3V電源
- GND
- メインのマイコンと共通GND
- RX(GPIO16)
- メインのマイコンのTXへ
- TX(GPIO17)
- メインのマイコンのRXへ
3.3V CMOS UART / 8N1。DIN端子へ直接つなぐための回路ではありません。
SPECS
主な仕様
- 対応モジュール
- ESP32-SOLO-1
- 役割
- BLE MIDI Peripheral(接続1台)
- UART
- 3.3V CMOS / 8N1 / 速度を自動判定
- BLE名
- ESP MIDI(MIDIで変更可)
- 開発
- ESP-IDF v6.1 / C / NimBLE
- バージョン
- v1.2.0
消費電力は未実測です。iOS / macOSなどでの継続動作、外部DIN回路は未検証です(READMEの記載より)。
LINKS
コード・製作情報
DEMO