Skip to content

Brings 2 Midi host devices to the table of data sharing. Intermediary device to allow Midi host to Midi host communication.

License

Notifications You must be signed in to change notification settings

frederickk/prost

Repository files navigation

🍻 Prost!

v.0.1.2

Prost! uses Arduino Pro Micros as intermediary to allow Midi host to Midi host communication.

(Pros + Host) x 2 = Prost! SWDIT?

Here's a brief demo video with Ableton Live, an Organelle, and Norns/Fates.

Prost! video demo


💾 Firmware

Download

$ git clone https://github.com/frederickk/prost.git

Dependencies

Prost! requires 2 dependencies to build and upload.

  • Install PlatformIO this is required to build and flash the Arduinos. You can either install the CLI or the IDE.
  • USBMIDI is required for transmitting Midi data over USB, fortunately PlatformIO makes dependency bundling easy.

Before building and flashing be sure to install dependencies.

  # Install dependencies
  pio lib --storage-dir ./lib install 5841   

Build and Flash

For 5V / 16MHz boards use:

  # Build and flash firmware
  pio run -e sparkfun_promicro16 -t upload

If using 3.3V / 8MHz boards use:

  # Build and flash firmware
  pio run -e sparkfun_promicro8 -t upload

Be sure to flash both boards 😃.


🎛️ Hardware

Prost! uses 2 Pro Micro boards (or any compatible board or clone with an Atmel 32u4 chip) connected serially (TX/RX) in order to pass USBMidi data. Other boards may work (e.g. Teensy), but I only tested with Pro Micros.

I've created a PCB which reduces the footprint of the device to be only slightly larger than a Pro Micro board itself (38mm x 35mm / 1.25" x 1.375"). Below I've soldered 2 header pins in order to test different boards, but you could solder the boards directly to further reduce the overall thickness (unless you opt to solder on the 3.5mm analog sync jack).

Prost! IRL

Board

A custom PCB is also available. if there's enough interest I would be willing to produce these in bulk and sell either bare PCB's or populated with components. For now you can order them yourself from JLCPCB.

Although, the board is designed first and foremost for Pro Micros it can accomodate a number of other boards. Be mindful to align the marked TX and RX pins on the Prost! PCB with those on your board.

Board RX TX Voltage Notes
Pro Micro 0 1 3.3 or 5
Teensy 1.0, ++ 2 3 3.3 or 5
Teensy LC, 3.0, 3.1, 3.2, 3.5, 3.6, 4.0 0 1 3.3 or 5
Arduino Micro 20 21 3.3 or 5
Adafruit Feather 32u4, Bluefruit 0 1 3.3 Board must be mounted upside down
Adafruit ItsyBitsy 32u4 0 1 3 or 5

Prost! PCB

BOM

Qty. Part No. Item
2 5V/3.3V Pro Micro
1 1825910-6 6mm Momentary push button
2 WP154A4SUREQBFZGW 5mm RGB LED (optional)
4 1 x 10 female header (optional)

Syncing with DIN Midi devices is also possible. Look for the 5-pin Midi graphic on the board and you'll find pin breakouts to connect a 5-pin Midi connector. Be sure to obtain 2 220 ohm resistors as well.

Qty. Part No. Item
1 1134 5-pin MIDI connector (optional)
2 220R 220 ohm THT resistors (optional)

Prost! also supports analog sync, which takes the USB Midi clock signal and converts it to 3.3V or 5V (depending on voltage of Pro Micro) pulse; for Volcas, Pocket Operators, etc. There's room on the board for an SMD 3.5mm/.125" audio jack or pads to solder a jack type of your choice.

Qty. Part No. Item
1 CUI SJ-3523-SMT SMD 3.54mm/.125" audio jack (optional)

Wiring

The diagram below shows how to connect the the 2 Pro Micros TX and RX pins. A push button is wired to reset the bootloader (for flashing if/as needed). The optional LEDs signal when Midi and Serial commands are being received and sent.

Prost! PCB


📜 License

MIT

About

Brings 2 Midi host devices to the table of data sharing. Intermediary device to allow Midi host to Midi host communication.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published