Download free music MP3s on genuine quality, the world’s largest online music catalogue, powered by your scrobbles. Free listening, videos, photos, The world’s largest online music catalogue, powered by your scrobbles. Free listening, videos, photos, stats, charts, biographies and concerts. stats, charts, biographies and concerts.
Thursday, July 25, 2024
Arduino Pro Mini MIDI USB HOST PCB Build Guide
Here are the build notes for my Arduino Pro Mini MIDI USB HOST PCB. https://makertube.net/w/fenpgiuXnZrcCwgVFeVXkU Warning! I strongly recommend using old or second hand equipment for your experiments. I am not responsible for any damage t…
Warning! I strongly recommend using old or second hand equipment for your experiments. I am not responsible for any damage to expensive instruments!
If you are new to microcontrollers, see the Getting Started pages.
Bill of Materials
Arduino Pro Mini MIDI USB HOST PCB (GitHub link below).
EITHER: Arduino Pro Mini 3V3/8MHz version plus mini USB Host shield (see photo).
OR: Adafruit Trinket M0 plus "OTG" adaptor (see below).
1x H11L1 optoisolator.
1x 1N914 or 1N4148 signal diode.
1x10Ω, 1x33Ω, 1x220Ω, 1x470Ω resistors.
2x 100nF ceramic capacitors.
1x 10uF electrolytic capacitor.
1x 100uF electrolytic capacitor.
1x 7805 regulator TO-220 format.
EITHER: 2x 5-pin MIDI DIN sockets (pcb mount, see photos for footprint)
OR: 2x 3.5mm stereo TRS sockets (pcb mount, see photos for footprint).
2x 2.1mm barrel jack sockets (pcb mount, see photos for footprints).
1x 6-pin DIP socket (optional).
1x 3-pin slider switch (optional).
2x jumpers.
Pin headers.
Pin header sockets for microcontroller (optional).
Build Steps
Taking a typical "low to high" soldering approach, this is the suggested order of assembly:
All resistors and diode.
DIP socket and TRS sockets (if used).
Disc capacitors.
Slider switch (2.54mm pitch connectors).
Jumper headers.
Pin header sockets for microcontroller (if used).
Barrel jack sockets.
Electrolytic capacitors.
7805 regulator.
DIN sockets.
Microcontroller (see notes if using the Arduino Pro Mini).
Here are some build photos.
The capacitor within the footprint of the Arduino Pro Mini has to be mounted flat. Alternatively it could be mounted on the underside of the board.
If TRS sockets are required, these are added next.
Otherwise continue on with the other components in whatever order appears to make sense.
Adafruit Trinket M0 Version
If the Adafruit Trinket M0 is used that can be added directly into the appropriate sockets.
IMPORTANT: The Trinket requires power via one of its pins which overlaps with the footprint of the Arduino Pro Mini. This means that the following solder jumper must be soldered to make the link to the 5V in.
The Trinket itself should be mounted as shown below. The photos also show a "USB OTG" adaptor which will also be required.
Arduino Pro Mini Version
The Pro Mini needs connecting to the mini USB Host shield, but before that there is one patch required to the USB Host shield to allow it to support 5V USB operation.
As it comes, the USB VCC line is connected to the main power line of the USB Host shield, but as the shield runs at 3V3 volts, this means USB is also running at 3V3 volts. This apparently can work for many devices, but not all, but there is a way to support 5V operation when used with an Arduino Pro Mini as long as the Pro Mini is powered via its RAW input with a 5V supply. This is what I'm doing here.
To enable 5V option, a PCB trace has to be cut as shown below (just down and to the left of the first hole near the top of the board next to the USB socket).
Header pins link the two boards together, but they will also have to be used to connect to the main PCB. I've used normal sized header pins, but notice how they are soldered on "upside down" - i.e. the longer part of the pin is above the PCB and that is the side that is soldered on.
Then the VBUS pad/connector needs patching over to the pin to hook up to the RAW connection on the Pro Mini.
I've mounted the Arduino on top of the shield. If the Arduino hasn't been programmed, then programming header pins will also be required.
Warning: If using a programmer with a slider switch to select between 5V and 3V3, the cheap ones (like the one I have) DO NOT change the VCC voltage - only the UART logic levels. For mine, I need to select 3V3 via the slider switch and then connect 5V to RAW not to the VCC programming input. Check the voltages prior to using if you're not sure.
With no VCC/5V connection once the Arduino is installed I can only reprogram it if it is powered independently of the USB programming link - i.e. via the barrel jack.
Additional MIDI Indicator
Once I started testing it, I wanted to enable a MIDI LED. Usually I'd use the built-in LED for this, but that is on pin D13 which is in use for the SPI interface to the USB host shield.
Instead I soldered on an LED and 1K resistor between D2 and GND as shown below.
The anode (long leg) of the LED is soldered to D2 and the resistor is soldered between the LED and GND.
Testing
I recommend performing the general tests described here: PCBs.
It is worth checking the operation of the 5V power supply independently.
It may also be worthwhile checking the operation of the USB host functionality on the microcontroller prior to fixing to the board.
PCB Errata
There are the following issues with this PCB:
The silkscreen for the on/off switch implies (to me) that up is "off", but up is actually "on". I'd either label it as OFF/ON or reroute the traces to match.
Enhancements:
A slightly better arrangement for the MIDI sockets could be on opposite sides of the board. This could allow for a MIDI and power IN on one side and MIDI and power OUT on the other. However, if used standalone, then actually having them side-by-side possibly makes more sense anyway.
I can't use the on-board LED for indications as that is on D13 which is required for the SPI link to the host board, so incorporating an additional LED would be useful.
It might also be useful to have a RAW/5V IN header for direct powering of the board, especially when programming in situ.
In the video at the start of this post you can see my board being used to power and drive (over MIDI) my Shruthi, which to be honest, was the main reason for making it!
Now I just need to make a couple of neat, custom MIDI and power cables to link the two together.
No comments:
Post a Comment