Difference between revisions of "ER-USB-MIDI"

From Land Boards Wiki
Jump to navigation Jump to search
 
(28 intermediate revisions by the same user not shown)
Line 1: Line 1:
 +
[[File:tindie-mediums.png|link=https://www.tindie.com/products/28896/]]
 +
 +
[[FILE:ER-USB-MIDI_P1090014-720PX.jpg]]
 +
 
== Features ==
 
== Features ==
  
* USB MIDI to MIDI Serial Output
+
* MIDI/Serial interface
** MIDI In/Out
+
** Out/In
 +
** Based on [https://learn.adafruit.com/qt-py-rp2040-usb-to-serial-midi-friends/overview Adafruit QT Py RP2040 USB to Serial MIDI Friends design]
 +
* USB MIDI to MIDI Serial
 +
* MIDI Serial to USB MIDI
 
* Built on [[ER-PROTO-02]]
 
* Built on [[ER-PROTO-02]]
 
* [[QT_Py_(RP2040_based)|XAIO RP2040 CPU]]
 
* [[QT_Py_(RP2040_based)|XAIO RP2040 CPU]]
* Based on [https://learn.adafruit.com/qt-py-rp2040-usb-to-serial-midi-friends/overview Adafruit QT Py RP2040 USB to Serial MIDI Friends design]
+
* MIDI over TRS A type connector
* MIDI on TRS A type connector
+
* J5 = MIDI Serial input
 
* J6 = MIDI Serial output
 
* J6 = MIDI Serial output
* J5 = MIDI Serial input (future feature)
 
  
=== Seeeduino XIAO RP2040 ===
+
=== Resources ===
 +
 
 +
* [https://minimidi.world/ A simplified guide to TRS MIDI]
 +
 
 +
== Seeeduino XIAO RP2040 ==
  
 
There are 14 GPIO PINs on XIAO RP2040, on which there are 11 digital pins, 4 analog pins, 11 PWM Pins,1 I2C interface, 1 UART interface, 1 SPI interface, 1 SWD Bonding pad interface.
 
There are 14 GPIO PINs on XIAO RP2040, on which there are 11 digital pins, 4 analog pins, 11 PWM Pins,1 I2C interface, 1 UART interface, 1 SPI interface, 1 SWD Bonding pad interface.
Line 21: Line 31:
 
== Design ==
 
== Design ==
  
* XAIO RP2040 CPU
+
=== XAIO RP2040 CPU ===
  
 
[[file:ER-USB-MIDI_RP2040.PNG]]
 
[[file:ER-USB-MIDI_RP2040.PNG]]
  
* MIDI Out jack
+
=== MIDI Jacks ===
  
 
[[file:ER-USB-MIDI_JACKS.PNG]]
 
[[file:ER-USB-MIDI_JACKS.PNG]]
 
* Eurorack power
 
 
[[file:ER-USB-MIDI_ERACK-PWR.PNG]]
 
  
 
* J5, J6 = PJ366ST
 
* J5, J6 = PJ366ST
Line 38: Line 44:
 
** Male Pins on Daughtercard
 
** Male Pins on Daughtercard
  
=== Daughtercard Prototyping Area ===
+
=== MIDI In ===
 +
 
 +
* 3.3V MIDI serial out to [[Arduino Pro Mini]]
 +
** R6 = 680
 +
** R7 = 1.2K
 +
 
 +
[[file:ER-USB-MIDI_IN.PNG]]
 +
 
 +
== Daughtercard Prototyping Area ==
  
 
[[FILE:ER-PROTO-02-DB_REAR_PWR.png]]
 
[[FILE:ER-PROTO-02-DB_REAR_PWR.png]]
 +
 +
== Build ==
 +
 +
* Daughtercard/Controls card
 +
 +
[[FILE:ER-USB-MIDI_P1090022-720px.jpg]]
 +
 +
* Cap on MIDI In GND pin
 +
 +
[[FILE:ER-USB-MIDI_P1090027-720px.jpg]]
  
 
== Software ==
 
== Software ==
  
 +
* [https://learn.adafruit.com/qt-py-rp2040-usb-to-serial-midi-friends Adafruit MIDI Friends]
 +
** Bridges USB MIDI to Serial MIDI
 +
*** Takes in MIDI from the USB (typically from a PC running a MIDI player) and send out MIDI
 +
*** Maintains optical isolation on MIDI
 +
* [https://docs.circuitpython.org/projects/midi/en/latest/api.html#adafruit_midi Adafruit MIDI API]
 +
* Listens to MIDI Channel 1
 
* Load CircuitPython to card (using v7.x)
 
* Load CircuitPython to card (using v7.x)
 
** Press right button then insert USB cable
 
** Press right button then insert USB cable
 
** Drive will appear on PC
 
** Drive will appear on PC
 
** Drop [https://github.com/land-boards/QT-Py/tree/main/CircuitPython/CircuitPython_Firmware/XIAO_RP2040 CircuitPython uf2] onto the drive
 
** Drop [https://github.com/land-boards/QT-Py/tree/main/CircuitPython/CircuitPython_Firmware/XIAO_RP2040 CircuitPython uf2] onto the drive
* Drop [https://github.com/land-boards/QT-Py/tree/main/CircuitPython/Seeed_XIAO_RP2040/QT_Py_RP2040_USB_to_Serial_MIDI_Friends application and libraries onto card]
+
* Drop [https://github.com/land-boards/QT-Py/blob/main/CircuitPython/Seeed_XIAO_RP2040/ER-USB-MIDI/code.py application and libraries onto card] - Drop as code.py to auto-run
 
* Download/run [http://www.midieditor.org/ MIDIEditor]
 
* Download/run [http://www.midieditor.org/ MIDIEditor]
 
** Edit
 
** Edit
Line 54: Line 84:
 
** MIDI Output
 
** MIDI Output
 
*** Select CircuitPython Audio
 
*** Select CircuitPython Audio
 +
** Load MIDI file ([https://midination.com/midi/free-midi-files/ Free MIDI files sites])
 +
** Click play button

Latest revision as of 22:39, 16 January 2023

Tindie-mediums.png

ER-USB-MIDI P1090014-720PX.jpg

Features

Resources

Seeeduino XIAO RP2040

There are 14 GPIO PINs on XIAO RP2040, on which there are 11 digital pins, 4 analog pins, 11 PWM Pins,1 I2C interface, 1 UART interface, 1 SPI interface, 1 SWD Bonding pad interface.

Seeed-xinpin-rp2040.jpg

Design

XAIO RP2040 CPU

ER-USB-MIDI RP2040.PNG

MIDI Jacks

ER-USB-MIDI JACKS.PNG

  • J5, J6 = PJ366ST
  • Install both Pot/Jack headers/sockets
    • Female sockets on Controls card
    • Male Pins on Daughtercard

MIDI In

ER-USB-MIDI IN.PNG

Daughtercard Prototyping Area

ER-PROTO-02-DB REAR PWR.png

Build

  • Daughtercard/Controls card

ER-USB-MIDI P1090022-720px.jpg

  • Cap on MIDI In GND pin

ER-USB-MIDI P1090027-720px.jpg

Software