This is a MIDI controller, that slides on the Akai APC MINI MK2 MIDI controller and adds 9 potentiometers to it as well as a USB port for another device.
Currently, I am too lazy to make a full schematic (might add it later if anyone gets interested in this project), but this is the overview of what is happening in the device:
The brains of this device is an Arduino Pro Micro board. It senses the potentiometers and sends MIDI signals to the computer, so this is essentialy a standalone MIDI controller that can be used without the APC mini. In order to connect the APC mini and Arduino to the computer through a single USB, there is a custom USB hub on board, which is basically just an SL2.1A chip on a breakout board with a 12MHz crystal and two small 10uF capacitors. This hub can host up to 4 devices so in order to use more of its potential, there is a USB A port on the back of the device for connecting any other USB 2.0 devices. All is housed in a two-part 3D printed case, which is printable on an Ender 3 sized print bed.
1x Arduino Pro Micro Board
9x WH148 10k Potentiometers
1x USB breakout connector or a cable that you splice up for the arduino
1x SL2.1A USB hub chip
1x SOP16 breakout board
1x 12Mhz crystal oscillator
2x 10uF capacitors
2x 100uF capacitors (not really needed, but it is good practice to include them)
1x USB-C Female breakout board (Specifically this one)
1x USB-A Breakout Board (Specifically this one)
1x USB-B Right angled cable (Specifically this one)
...a lot of wirezzz (i used multiple colors of 26 AWG stranded wire)
1x 3D printed case
9x Potentiometer knobs of your choice
10x M3 12mm bolts
10x M3 square nuts
2x M2 8mm bolts
2x M2 nuts
2x 15*2mm rubber feet (optional, I used these)
Solder long enough leads to the VBUS, GND, D+ and D- terminals of the board. Solder in a 100uF capacitor (be careful of the polarity).
Solder long enough leads to the breakout USB connector for your Arduino, or if you decided to sacrifice a cable instead, strip it.
Solder long enough leads to the VBUS, GND, D+ and D- terminals of the board. Solder in a 100uF capacitor (be careful of the polarity).
- Solder the potentiometers in parallel.
- Solder long enough leads to the potentiometers for sensing the divided voltage (yellow, green and blue wires in the picture). These will go to the Arduino's analog inputs.
- Solder long enough power leads to the potentiometers (red and black wires).
- Solder the SL2.1A chip to the breakout board in the correct orientation.
- Solder the 12MHz crystal to XIN and XOUT. The orientation doesn't matter.
- Solder a 10uF capacitor between VDD33 and GND
- Solder a 10uF capacitor between VDD18 and GND
- Solder long enough power leads to VDD5 and GND
- Solder the USB data leads from the USB-C breakout board to DP and DM.
- Solder the USB data leads from the Arduino USB, USB-B angled cable and USB-A breakout board to the DPx and DMx terminals.
This is what mine looked like. It looks really messy (mostly because of the hot glue), but it works great.
Solder the potentiometer power leads to VCC and GND. Solder the potentiometer sense leads to pins A0, A1, A2, A3, 4 (A6), 6 (A7), 8 (A8), 9 (A9), 10 (A10). Don't forget to plug in the USB.
When I did this I wanted to be able to disconnect the potentiometers from the board, because I thought it would help ease the building process. I first soldered pins onto the Arduino and then crimped dupont connectors onto the sense leads. For the power leads, I used a small molex connector. In hindsight, I should've soldered everything on the board, because the connectors didn't quite fit in the case and the pins on the board had to be bent.
At this point, the electronics should look somewhat like this:
I used heatshrink and hot glue (wow so proffesional)
Insert square nuts in the slots under the screw holes. Stuff everything inside. It helps if you use double sided tape to secure the USB hub and the Arduino to the floor of the case. Screw it all together...aaand you're done! Hope everything works:)