Disclaimer: this is my first big 3d print project, and I was learning Freecad as I went. And Kicad. And 3d printing.
The version of the custom software shown in the pictures isn't fit for general release but I do hope to release the next version of it by the end of this year.
The motherboard (mini-ITX, recent AMD cpu with built in GPU), psu (HD-PLEX AC-DC and DC-DC modules) and main screen (waveshare 13" touchscreen) are screwed into a U shaped aluminium piece I ordered from Front Panel Designer / schaeffer-ag.de. This works pretty well to keep the whole thing rigid.
Everything else is 3D printed in PLA, there are several M4 threaded rods running the width of the unit holding all the ribs together, and working as the axis of the hinge (though there are 3d printed macaroni tube bearings on that one to stop the thread chewing the plastic). I used a sidewinder X1 so parts are designed around the 30cm sq print bed.
The midi controller part is 2 pcbs. The mechanical keyswitch buttons are on one, with 4 leds that count beats when the software is playing. The other large pcb has a teensy3.2, a pair of multiplexers for the analogue input from the 16 alpha 360degree continuous potentiometers - 2 channels from each, and a led driver board (adafruit) for the RGB leds.
I've used ALPHA RV112FF-40-15A-0B10K pots - the ones from this series I could find in small quantities. They have very short shafts which limited the design a little. To take advantage of the very high accuracy I designed large diameter control knobs, but these don't feel as stable as they would on proper panel mount pots because of the short shafts.
I cannibalised this driver example by Bjorn Brandal for my firmware.
50% of the work of the whole project was finding the correct short right angle left angle up angle mini micro etc usb cables to connect everything.
Cooling is a low profile Noctua cooler with 2 additional small fans blowing air out and up at the top.
I didn't think about a latch to hold it closed until too late, so there's a velcro strap. The issue with the short shafts mentioned above, and I found that when a lot of the RGB leds light up there was noise on the pot readings that hadn't shown up when the board was connected to my other PC. So in the firmware attached the resolution is dialed down to only 512 pulses per revolution.
Finally once it was mostly done I had some shows and never got round to doing a fan cover or the little piece that goes under the small touchscreen at the front.
Performance-wise I'm very happy - a big leap in actual audio performance vs my old laptop - more than just a faster processor I think the increased cache and memory/PCI bandwidth helps a lot with low latency max/msp stuff. And it's been completely stable - even in tough environments - at a jazz festival in Poland last summer my musical partner's macbook died in the summer sun while this didn't even spin up the top fans!
As an interface for music it's good, the big accurate controls have suited the more gentle, subtle kind of shows I've been playing the last couple of years and the touch interface I built really did feel like it brought me closer to being very improvisational and free on stage. But I've got ideas for improvements..
I made this record using it (and also my next LP)