

Midi2BLE
MIDI 2 Bluetooth converter project
- Size
- 75 × 40 mm
- Copper layers
- 4
- Thickness
- 1.6 mm
- Parts
- 64
- Nets
- 73
- Pads
- 265
- Tracks, vias
- 531, 55
- Pours
- 2
- Routed
- Yes
- KiCad
- KiCad 10.0 (file 20260206)
- Created
- 9 Apr 2026
- Updated
- 26 May 2026
Overview
Midi2BLE is an open-source printed circuit board by nikhilsudhir, from the nikhilsudhir/midi2BLE repository on GitHub, published under the MIT licence. It is a 4-layer board of 75 × 40 mm with 64 parts on 73 nets, routed with 531 tracks and 55 vias.
It is built around the ESP32-S3-WROOM-1-N8, TLV61047DDC and TPS62162DSG, with the TPS2116DRL, TS3USB30EDGSR-TP and PRTR5V0U2X among its other parts. Its parts include 19 capacitors, 14 resistors, 6 ICs, 4 connectors and 3 switches. It belongs with the audio and music and radio and wireless boards and the ESP32 boards of this library.
Main components
6ESP32-S3-WROOM-1-N8
SMD,25.5x18mm-40℃~+85℃ -98.2dBm 2.4GHz 20.5dBm 355mA 3V~3.6V 95mA Bluetooth5.0 ESP32-S3 Chip On-board PCB Antenna UART、SPI、I2C、I2S、USB SMD,25.5x18mm WiFi Modules ROHSEspressif SystemsWiFi ModulesTLV61047DDC
SOT-23-5SOT-23-5 DC-DC Converters ROHSTexas InstrumentsDC-DC ConvertersTPS62162DSG
SON83V-17V 1A Step-Down Converter, High Accuracy, with DCS-Control Output Voltage 3.3VTexas InstrumentsUncategorisedTPS2116DRL
SOT-583Operating status indication SOT-583 Power Management - Specialized ROHSTexas InstrumentsPower Distribution SwitchesTS3USB30EDGSR-TP
MSOP-10L-40℃~+85℃ 1.1GHz 1.2us 11Ω 2.5V~5.5V 200ps 20us 4pF MSOP-10L Analog Switches, Multiplexers ROHSTECH PUBLICAnalog Switches, MultiplexersPRTR5V0U2X
SOT-143-55℃~+125℃ 0.3pF、0.8pF 100W 10V、15V 5V 6.5V 6A 80nA ESD IEC 61000-4-2、IEC 61000-4-5、IEC 61000-4-4 Three channels Unidirectional SOT-143 ESD and Surge Protection (TVS/ESD) ROHSTECH PUBLICESD And Surge Protection (TVS/ESD)
README
hardware/ecad/README.mdmidi2BLE
Overview
This device is a portable USB-to-BLE MIDI bridge designed to interface with USB MIDI controllers such as the Akai MPK Mini III.
It supports two user-selectable modes:
- Wireless BLE MIDI operation
- Wired USB passthrough operation
The device is battery powered with USB-C charging and includes an onboard OLED display for status and battery information.
Operating Modes
1. Wireless Mode
In this mode, the device acts as a BLE MIDI bridge.
Behavior
-
ESP32-S3 operates as a USB host
-
MIDI data is read from the keyboard and transmitted via BLE
-
Device is powered from internal LiPo battery
-
OLED displays:
- battery percentage
- estimated runtime
- BLE connection status
- keyboard connection status
Power
- Battery supplies system power
- Optional charging via USB-C
2. Passthrough Mode
In this mode, the device behaves as a direct USB cable between the keyboard and a computer.
Behavior
-
Keyboard is directly connected to upstream USB-C port via hardware switching
-
ESP32 is not part of the USB data path
-
BLE functionality is disabled
-
OLED remains active and displays:
- "WIRED MODE"
- charging status
- battery percentage
Power
- System is powered from upstream USB-C
- Battery does NOT power the system
- Battery may still be charged
Mode Selection
-
A physical switch selects between:
- WIRELESS
- WIRED
-
The switch is authoritative
-
Mode switching is NOT live
-
Device must be restarted after changing modes
Ports
Upstream USB-C Port
-
Used for:
- charging the device
- connecting to a computer in passthrough mode
-
Supplies system power when connected
Keyboard USB-C Port
-
Used to connect the MIDI controller
-
Behavior depends on mode:
- Wireless: connected to ESP32 USB host
- Passthrough: connected directly to upstream USB-C
Power Architecture
-
1-cell LiPo battery
-
USB-C charging input
-
Power-path design allows:
- operation while charging
- seamless transition between power sources
Power Priorities
Wireless Mode
- Battery powers system
- USB-C supplements or charges battery
Passthrough Mode
- Upstream USB-C powers system
- Battery is isolated from load
- Battery may still charge
USB Routing
Wireless Mode
- Keyboard D+/D- connected to ESP32 USB host
Passthrough Mode
- Keyboard D+/D- connected directly to upstream USB-C port
This is implemented using a USB 2.0 switch/multiplexer.
Keyboard Power (VBUS)
Wireless Mode
- Supplied by internal 5V boost converter
Passthrough Mode
- Supplied directly from upstream USB-C VBUS
Display (OLED)
-
SPI-connected monochrome OLED display
-
Displays:
- battery percentage
- estimated runtime
- current mode
- connection status
Firmware Behavior
Wireless Mode
- USB host enabled
- BLE MIDI enabled
- MIDI data forwarded USB → BLE
Passthrough Mode
- USB host disabled
- BLE disabled
- ESP32 used only for UI/status
V1 Scope
Included
- BLE MIDI output
- USB passthrough
- battery operation
- USB-C charging
- OLED display
- manual mode switch
Excluded
- custom RF protocols
- MIDI remapping
- display UI complexity
- automatic mode switching
- USB hub functionality
Hardware Design
The schematic and PCB layout are both complete. The design is implemented in KiCad 10.0.
| Revision | 1 |
| Schematic date | 2026-04-11 |
| PCB date | 2026-04-12 |
The schematic is split across seven sheets:
| Sheet | Description |
|---|---|
| Root | Top-level block diagram and inter-sheet connections |
| Power | LiPo charging, buck/boost regulation, and power-path control |
| ESP32_S3 | ESP32-S3-WROOM-1 module, decoupling, and GPIO assignments |
| USB Data | USB 2.0 data switching between keyboard and upstream port |
| VBUS Switching | 5V VBUS supply selection for the keyboard port |
| OLED UI | SPI OLED display and mode select switch |
| Battery Sense | Resistor divider and ADC input for battery voltage measurement |
Key ICs
| IC | Part | Function |
|---|---|---|
| U1 | ESP32-S3-WROOM-1 | Main MCU + Wi-Fi/BLE module |
| U2 | BQ24074RGTT | 1-cell LiPo charger |
| U3 | TPS62162DSG | 3.3 V synchronous buck regulator |
| U4 | TLV61047DDC | 5 V boost converter (keyboard VBUS in wireless mode) |
| U5 | TPS2116DRL | Dual-input power mux (battery vs. USB-C power path) |
| U6 | TS3USB30EDGSR | USB 2.0 high-speed switch (keyboard data routing) |
| U7 | PRTR5V0U2X | USB ESD protection |
PCB
The PCB is laid out in KiCad. All components are placed and fully routed.
Board dimensions: 75 × 40mm
Thickness: 1.6mm
Layers: 4
Stackup
| Layer | Type | Thickness | Material |
|---|---|---|---|
| F.Cu | Signal | 35µm | Copper |
| Dielectric 1 | Prepreg | 0.1mm | FR4 |
| In1.Cu | GND plane | 35µm | Copper |
| Dielectric 2 | Core | 1.24mm | FR4 |
| In2.Cu | 3.3V power plane | 35µm | Copper |
| Dielectric 3 | Prepreg | 0.1mm | FR4 |
| B.Cu | Signal | 35µm | Copper |
Inner layers are solid copper fills: In1 = GND, In2 = SYS_3V3.
Test points: TP1–TP6
Via size: 0.45mm diameter, 0.2mm drill
Summary
This V1 design prioritizes:
- simplicity
- reliability
- clear user control
The system uses a manual mode switch and hardware-level USB routing to ensure predictable behavior and robust operation.
Current status: Schematic and PCB layout complete. Ready for fabrication review.
Parts
64| Qty | Value | Footprint | References |
|---|---|---|---|
| 13 | 100nF | Capacitor_SMD:C_0402_1005Metric | C5, C6, C7, C8, C9, C11, C12, C13, C14, C15, C16, C17, C19 |
| 6 | 10uF | Capacitor_SMD:C_0603_1608Metric | C1, C2, C3, C4, C10, C18 |
| 6 | TestPoint | TestPoint:TestPoint_THTPad_D1.0mm_Drill0.5mm | TP1, TP2, TP3, TP4, TP5, TP6 |
| 5 | 10k | Capacitor_SMD:C_0402_1005Metric | R5, R6, R7, R8, R9 |
| 4 | LOGO | LOGO | G***, G***, G***, G*** |
| 3 | 100k | Capacitor_SMD:C_0402_1005Metric | R12, R13, R14 |
| 2 | 2.2uH | Inductor_SMD:L_1008_2520Metric | L1, L2 |
| 2 | 5.1k | Capacitor_SMD:C_0402_1005Metric | R1, R2 |
| 2 | PRTR5V0U2X | Package_TO_SOT_SMD:SOT-143 | D1, D2 |
| 2 | SW_Push | Button_Switch_SMD:SW_SPST_B3U-1000P | SW1, SW2 |
| 1 | 100 | Capacitor_SMD:C_0402_1005Metric | R10 |
| 1 | 1k | Capacitor_SMD:C_0402_1005Metric | R4 |
| 1 | 220k | Capacitor_SMD:C_0402_1005Metric | R11 |
| 1 | 590 | Capacitor_SMD:C_0402_1005Metric | R3 |
| 1 | BQ24079RGTT | Package_DFN_QFN:VQFN-16-1EP_3x3mm_P0.5mm_EP1.68x1.68mm_ThermalVias | U1 |
| 1 | Conn_01x02 | Connector_JST:JST_PH_B2B-PH-K_1x02_P2.00mm_Vertical | J2 |
| 1 | Conn_01x04 | Connector_JST:JST_PH_B4B-PH-K_1x04_P2.00mm_Vertical | J6 |
| 1 | Conn_01x07 | Connector_JST:JST_EH_B7B-EH-A_1x07_P2.50mm_Vertical | J4 |
| 1 | ESP32-S3-WROOM-1 | RF_Module:ESP32-S3-WROOM-1 | U4 |
| 1 | SW_SPDT | Button_Switch_THT:SW_Slide_SPDT_Angled_CK_OS102011MA1Q | SW3 |
| 1 | TLV61047DDC | Package_TO_SOT_SMD:SOT-23-5 | U3 |
| 1 | TPS2116DRL | Package_TO_SOT_SMD:SOT-583-8 | U5 |
| 1 | TPS62162DSG | Package_SON:WSON-8-1EP_2x2mm_P0.5mm_EP0.9x1.6mm_ThermalVias | U2 |
| 1 | TS3USB30EDGSR | Package_SO:TSSOP-10_3x3mm_P0.5mm | U6 |
| 1 | USB_C_Receptacle | Connector_USB:USB_C_Receptacle_Amphenol_12401610E4-2A_CircularHoles | J1 |
The 60 most common of 64 parts.
More from nikhilsudhir/midi2BLE
1- 4 layers80 × 50 mm

Similar boards
- 4 layers95.2 × 112.5 mm

- 2 layers92.7 × 62.2 mm

- 4 layers88 × 94.5 mm

- 2 layers93.3 × 128.4 mm

MonpolyElectronicV2
Pegoku/Monopoly-Electronic-V2
Gameplay focuses on NFC interaction instead of menus.
104 parts5 - 2 layers65 × 65 mm

- 4 layers

- 2 layers285 × 94.6 mm

- 2 layers133 × 123 mm

Questions
How big is the Midi2BLE PCB?
It measures 75 × 40 mm and has 4 copper layers, 1.6 mm thick.
What parts does the Midi2BLE use?
64 parts, built around the ESP32-S3-WROOM-1-N8, TLV61047DDC, TPS62162DSG and TPS2116DRL. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the Midi2BLE KiCad files?
From the nikhilsudhir/midi2BLE repository on GitHub, at the commit this page was made from: the board is hardware/ecad/v1.0/midi2BLE.kicad_pcb and its schematic hardware/ecad/esp32.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Midi2BLE design in my own project?
Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).