

USB-MIDI Interface(2IN/2OUT) for STM32
- Size
- 64 × 67 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 182
- Nets
- 70
- Pads
- 334
- Tracks, vias
- 346, 19
- Pours
- 27
- Routed
- Yes
- KiCad
- KiCad 5 (file 20171130)
- Created
- 8 Jul 2018
- Updated
- 14 Jun 2019
Overview
Midi is an open-source printed circuit board by keshikan, from the keshikan/CureMIDI repository on GitHub. It is a 2-layer board of 64 × 67 mm with 182 parts on 70 nets, routed with 346 tracks and 19 vias.
It is built around the 74VHCV541FT, TLP2361(E and ESDA6V1BC6. Its parts include 13 resistors, 10 capacitors, 10 connectors, 8 diodes and 6 ICs. It belongs with the audio and music and interfaces and adapters boards and the STM32 boards of this library.
Main components
374VHCV541FT
TSSOP-20-175mil-40℃~+85℃ 1 1.8V~5.5V 16mA 16mA 2uA 3.9ns@5V,15pF 74VHCV 8 Schmitt trigger Tri-State TSSOP-20-175mil Buffers, Drivers, Receivers, Transceivers ROHSToshibaBuffer/Driver/TransceiverTLP2361(E
SO-6,5LEAD-40℃~+125℃ 1.5V 1.6mA 10mA 15Mbps 2.7V~5.5V 20kV/us 3.75kV 5V 6V 6mA 80ns 80ns DC SO-6,5LEAD Logic Output Optoisolators ROHSToshibaLogic Output OptoisolatorsESDA6V1BC6
SOT-23-6L-40℃~+125℃@(Ta) 1uA 20pF 4 5V 6.1V 6.1V 80W Bidirectional ESD IEC 61000-4-2 SOT-23-6L ESD and Surge Protection (TVS/ESD) ROHSSTMicroelectronicsESD And Surge Protection (TVS/ESD)
README
README.mdUSB-MIDI Interface (2IN/2OUT) for STM32 "CureMIDI"
Overview
This repository shows STM32F0 (ARM Cortex-M0) based USB-MIDI Interface. It has 2 MIDI-IN and 2 MIDI-OUT, and is USB MIDI class-compliant.
The USB-MIDI Class Driver is based on mimuz-tuch project (c) D.F.Mac. @TripArts Music.
STM32F0を使用した、USB-MIDIインターフェースです。INを2系統、OUTを2系統実装しています。USB MIDI Classに対応するシステム(Windows, iOS, Android, etc.)に対し、ドライバレスでMIDI入出力ポートを追加できます。
USB MIDI Classドライバは、D.F.Mac. @TripArts Music氏作成のドライバを基に、一部改造を加えています。

Specifications
- USB MIDI class-compliant
- MIDI port: 2IN/2OUT
- MIDI buffer size: 512B/1port
Building Information
Making hardware
See Schematic, KiCad Source.
Building software
Install SW4STM32(need registration), import Project files, and build.
File Location
- Binary file for STM32F042
- STM32CubeMX Project file
- Source codes and project files (System WorkBench for STM32)
- Schematic
NOTICE
VID/PID
Vendor ID(VID) and Product ID(PID) in <usbd_desc.c> should be unique pair for each USB devices. Default VID 0x1209 and PID 0x0001 is experimental IDs from http://pid.codes .When distributing or selling, you must get your own IDs, and change to your own IDs in order to avoid conflicting to other USB devices.
USBのVendor ID(VID)とProduct ID(PID)は、<usbd_desc.c>内に記述します。 デフォルトのVID(0x1209)/PID(0x0001)ペアは、http://pid.codesで定められている実験用IDです。そのため、本機器を配布したり販売したりする場合には、別途固有のIDペアを取得し、書き換えてご使用下さい。
References
MIDI specification
- The Complete MIDI 1.0 Detailed Specification (MIDI Association)
- MIDI1.0規格書 (AMEI)
- MIDIの学習 (Laboratory "U")
USB-MIDI technical information
Copyrights
- USB MIDI Class Driver by D.F.Mac. @TripArts Music
- STM32 CubeF0 by STMicroelectronics
Author
(c) 2018 Keshikan ( Website, Twitter )
License
- USB MIDI Class Driver: CC BY 4.0
- STM32 CubeF0: BSD-3-Clause based.
- Other Codes, Hardware, Schematic: GPLv3
See also LICENSE.md
Parts
182| Qty | Value | Footprint | References |
|---|---|---|---|
| 8 | 0.1μF | keshikan:SMD_0603(1608) | C3, C4, C5, C6, C7, C8, C9, C10 |
| 6 | 220 | keshikan:SMD_0603(1608) | R8, R9, R10, R11, R12, R13 |
| 5 | 750 | keshikan:SMD_0603(1608) | R2, R3, R4, R5, R6 |
| 5 | Led_Small | keshikan:SMD_0603(1608)_polar | LED1, LED2, LED3, LED4, LED5 |
| 4 | DIN_5 | keshikan:DIN_5P_MIDI | CN1, CN2, CN3, CN4 |
| 2 | D_Small | keshikan:SMD_0805(2012)_polar | D2, D3 |
| 2 | TLP2361 | keshikan:11-4L1S(TLP2361) | U3, U4 |
| 1 | 0.33μF | keshikan:SMD_0603(1608) | C1 |
| 1 | 10k | keshikan:SMD_0603(1608) | R7 |
| 1 | 2.2μF | keshikan:SMD_0603(1608) | C2 |
| 1 | 3V | keshikan:CHK_Terminal_TH | P4 |
| 1 | 4.7k | keshikan:SMD_0603(1608) | R1 |
| 1 | 5V | keshikan:CHK_Terminal_TH | P2 |
| 1 | 74VHCV541FT | keshikan:TSSOP20B | U5 |
| 1 | CHK_GND | keshikan:CHK_Terminal_TH | P3 |
| 1 | CONN_01X06 | keshikan:CONN_DIP_6Pin | CN5 |
| 1 | D_Schottky_Small | keshikan:SMD_0805(2012)_polar | D1 |
| 1 | ESDA6V1BC6 | keshikan:SOT23-6L | U6 |
| 1 | LOGO | keshikan:CureMIDI | G*** |
| 1 | NJM2884U1 | keshikan:SOT-89-5 | U1 |
| 1 | PolySW 0.35A | keshikan:miniSMDC030F | F1 |
| 1 | SG5032CAN 8MHz | keshikan:SG5032 | X1 |
| 1 | STM32F042K6Tx | keshikan:LQFP32_7x7_STM32 | U2 |
| 1 | SW_PUSH_SMALL_H | keshikan:Tactile_Switches_2by2 | SW1 |
| 1 | USB_OTG_ORIG | keshikan:USB_miniB_MUSB-5BF01AS | J1 |
| 1 | VBUS | keshikan:CHK_Terminal_TH | P1 |
The 51 most common of 182 parts.
Similar boards
- 2 layers204 × 80 mm

- 2 layers100 × 100 mm

- 4 layers135.6 × 54.6 mm

Dragonmanh7
martinribelotta/h7dragonman
STM32H7 board for industrial protocol bridge
147 parts19BSD-2-Clause - 4 layers42 × 55.8 mm

P3-cellular module
themainframe/p3-cellular-module
CAD/CAM for a GPD Pocket 3 Cellular Module
54 parts14 - 2 layers40 × 100 mm

MidiMonger components
dchwebb/MidiMonger
Eurorack MIDI interface supporting USB and serial MIDI. Based on ARM STM32F446 MCU.
70 parts12 - 2 layers50 × 70 mm

Time2time
Resaj/time2time
Chronometer with partials measurement for the line-following competitions
97 parts5 - 4 layers300 × 120 mm

- 2 layers60 × 120 mm

ESP8266Tetris
arraym/ESP8266Tetris
Tetris game with ESP8266 (ESP-12F) and WS2812B (128 RGB LEDs) - KiCAD schematic and PCB
235 parts2
Questions
How big is the Midi PCB?
It measures 64 × 67 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Midi use?
182 parts, built around the 74VHCV541FT, TLP2361(E and ESDA6V1BC6. 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 Midi KiCad files?
From the keshikan/CureMIDI repository on GitHub, at the commit this page was made from: the board is hardware/kicad_source/midi.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Can I use the Midi design in my own project?
Its repository states no licence, so its author keeps all rights: ask keshikan before reusing the design.