Hi all!
I’ve finally gotten around to posting the pics of the MIDI control service project I was working on. Here are the details on this guy:
Total Cost to Build: ~$60 if you count the hot glue gun, $45 ish if you don’t
Total Time to Build: ~A month of planning, a weekend of building, a few weeks of tweaking software
How’s it made?
The guts
This project has the following components:
- 1 wooden cigar box from a hobby shop ($7)
- 1 clone Arduino Mega from Amazon ($9)
- 4 faders and 8 pots from digikey ($18)
- 1 1602A LCD from Amazon ($8)
- 1 rotary knob with pushbutton from Amazon ($3)
- 4 LEDs in different colors (freeee – I have a bunch already)
- 1 SPDT switch from Amazon ($1)
- 1 hot glue gun and hot glue sticks from hobby shop ($15)
Manufacturing
I first drew out a few templates on graph paper of what I wanted the end product to look like. Then I took each variation and taped it to the box’s top and tried to visualize using it in that form factor. Once I had decided on the way it was to be laid out, I went to the shop.
I taped over (with clear tape) where I would cut and drill so the layout template wouldn’t tear off, then I used a drill press to put holes in the right places and the jigsaw to my the slots and the LCD hole.
The Assembly
The first parts I put in were the faders. I used Gorilla Glue to tack them in position, and I let them cure for about 2 days. Then I put in all the other pots, switches, and hot-glued the LCD in place. Finally I put in the LEDs and hot-glued them in place.
Here’s a picture before all the hardware was in:
I used solid core wire and high quality solder to build the wiring harness. The last step in assembly was to cut a slot for the USB cable go through the side of the box and wire up the microcontroller.
The uC
I used the Arduino Mega form factor, but did not use the IDE. The code I used was AVR-libc based and was an extension of the littleKernel project I had been working on. I eventually added the optiboot bootloader so I didn’t need to pull the Mega from the box to update the code. I’ll get around to putting the code up eventually (probably).
What does it do?
Here, a feature list makes sense:
- MIDI TX and RX lights
- Power good light
- Debug light (always good to have)
- Reset switch
- 12 control surfaces which can be independently mapped to different MIDI channels and Change Control numbers
- LCD and scroll knob user interface for setting up the aforementioned options
- A settings Save and Recall function using the uC EEPROM
- A settings Dump and Load function using the serial interface
All in all, this was a really fun project. Perhaps I’ll put up a demo of me using it with a DAW…
Anyhow, here are the pics of the final product and an early prototype for reference! Thanks for reading!