

Esp8266-midi
ESP8266 based OSC <-> MIDI WiFi bridge
- Size
- 75 × 82 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 33
- Nets
- 23
- Pads
- 114
- Tracks, vias
- 151, 17
- Pours
- 2
- Routed
- Yes
- KiCad
- KiCad 5 (file 20171130)
- Created
- 15 Aug 2016
- Updated
- 30 Jan 2020
Overview
Esp8266-midi is an open-source printed circuit board by tadas-s, from the tadas-s/OSC2Midi repository on GitHub, published under the MIT licence. It is a 2-layer board of 75 × 82 mm with 33 parts on 23 nets, routed with 151 tracks and 17 vias.
It is built around the ESP-12E and 74LVC2G14GW. Its parts include 10 resistors, 7 connectors, 5 capacitors, 5 ICs and 1 diode. It belongs with the audio and music and radio and wireless boards and the ESP8266 boards of this library.
Main components
2ESP-12E
SMD,24x16mm-20℃~+70℃ -90dBm 16dBm 170mA 2.4GHz 3V~3.6V 56mA 802.11b/g/n ESP8266 Chip On-board PCB Antenna Over-the-air (OTA) update UART、SPI、I2C SMD,24x16mm WiFi Modules ROHSAi-ThinkerWiFi Modules74LVC2G14GW
SC-70-6(SOT-363)-40℃~+125℃ 1.5V~3.6V 1.65V~5.5V 2 2 250mV~1.2V 32mA 32mA 4.7ns@5V,50pF 4uA 74LVC Schmitt trigger 电源关断保护、噪声抑制功能 SC-70-6(SOT-363) Inverters ROHSNexperiaInverters
README
README.mdOSC2Midi
ESP8266 based OSC <-> Midi wireless bridge.
It is mostly meant to be used with TouchOSC but it will work with any OSC message source.
Library dependencies
Project uses:
Hardware
Based on a generic ESP8266-12f board and the following guides to hook up ESP8266 and do MIDI i/o:
Midi I/O uses SoftwareSerial mostly to allow debug logging via primary serial port.
Schematic
Note! Do checkout the KiCad project instead. Image below is for quick preview only.

Flashing firmware
To flash the firmware I'm using FTDI cable with flash+reset circuit.
Hardware ideas / roadmap / TODO
- Find a reasonable enclosure and adapt layout to it.
- MCP73833 based battery charging circuit + microusb input for power.
- Maaaaybe i2c screen.
OSC message formats
All messages are expected to have payload of 1 or 2 floats with range from 0 to 127.
/midi/cc/{cc} + 1 float
Will send control change message for {cc} number.
/midi/cc/{ccA}/{ccB}/.../{index} + 1 float
Will send control change message for CC specified by {index}. For
example:
- /midi/cc/10/12/15/1 -> CC to 10
- /midi/cc/10/12/15/3 -> CC to 15
This is meant to be used with TouchOSC groups of faders. For example,
my MicroKORG preset includes a fader group of 4 to control
amp ADSR: /midi/cc/73/75/70/72
/midi/cc/{ccA}/{ccB} + 2 floats
This sends two control change messages to {ccA} and {ccB}. This is
meant to be used with TouchOSC XY pads.
Current prototype
Rather crude build, but it works:



Hello people of the future
So it seems GitHub is about to take a snapshot of active open source repositories and put it into cold storage that should last 1000 years. Hence this section: a change for the sake of it. Exact criteria is not clear, but hope this repository makes it to the archive.
Parts
33| Qty | Value | Footprint | References |
|---|---|---|---|
| 5 | Mounting_Holes:MountingHole_2.7mm_M2.5 | , , , , | |
| 5 | 10K | Resistors_SMD:R_0805_HandSoldering | R3, R4, R6, R7, R8 |
| 4 | 100nF | Capacitors_SMD:C_0805_HandSoldering | C1, C2, C3, C5 |
| 4 | 120R | Resistors_SMD:R_0805_HandSoldering | R2, R5, R9, R10 |
| 2 | 74LVC2G14 | TO_SOT_Packages_SMD:SOT-23-6_Handsoldering | U4, U5 |
| 1 | 1N4148 | Diodes_SMD:D_SOD-323_HandSoldering | D1 |
| 1 | 220R | Resistors_SMD:R_0805_HandSoldering | R1 |
| 1 | 220uF | Capacitors_SMD:CP_Elec_6.3x5.8 | C4 |
| 1 | 6N138 | Housings_DIP:DIP-8_W7.62mm_SMDSocket_SmallPads | U2 |
| 1 | Bat+ | Wire_Pads:SolderWirePad_single_0-8mmDrill | J4 |
| 1 | Bat- | Wire_Pads:SolderWirePad_single_0-8mmDrill | J5 |
| 1 | Debug serial out | Pin_Headers:Pin_Header_Straight_1x02_Pitch2.54mm | J7 |
| 1 | ESP-12E | RF_Modules:ESP-12E | U1 |
| 1 | LD1117S50TR_SOT223 | TO_SOT_Packages_SMD:SOT-223 | U3 |
| 1 | MIDI in | Connectors:SDS-50J | J1 |
| 1 | MIDI out | Connectors:SDS-50J | J2 |
| 1 | MIDI through | Connectors:SDS-50J | J6 |
| 1 | TTL-232R-3V3 connector | Pin_Headers:Pin_Header_Straight_1x06_Pitch2.54mm | J3 |
Questions
How big is the Esp8266-midi PCB?
It measures 75 × 82 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Esp8266-midi use?
33 parts, built around the ESP-12E and 74LVC2G14GW. 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 Esp8266-midi KiCad files?
From the tadas-s/OSC2Midi repository on GitHub, at the commit this page was made from: the board is hardware/esp8266-midi.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Can I use the Esp8266-midi 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).
Similar boards
- 4 layers137 × 79.5 mm

- 4 layers210.8 × 74.9 mm

Bkm-10rlternative
skumlos/bkm-10rlternative
Project aiming to replicate the BKM-10R/11R remote for Sony professional CRT monitors.
257 parts17 - 4 layers47 × 27 mm

SD Swap
Mr-Bossman/SD_Swap
A development tool which swaps an sdcard between a usb3 card reader or a SBC.
44 parts14 - 2 layers66 × 51.5 mm

WiFi Gate Controller
mikelawrence/WiFi-Gate-Controller
WiFi enabled Gate Controller Addon to US Automatic Gate Opener
91 parts8MIT - 2 layers80 × 90 mm

WiFi Septic Controller
mikelawrence/WiFi-Septic-Controller
WiFi enabled Septic Controller
104 parts8MIT - 6 layers83.5 × 99.4 mm

- 2 layers39 × 66.5 mm

- 4 layers62 × 82 mm

Ultimate invitation card
espena/ultimate-invitation-card
Invitation card for real nerds.
55 parts4GPL-3.0