These are the capabilities that the GB Midi project currently possesses. This page will grow as I learn more about different aspects of design/production. I'm working very hard, with many hours of my week to further this project. Developing these capabilities at home is a real challenge. My shop is small, so I need to be very specific with the implementation of tooling. It's very exciting, as I am able to produce controllers, start to finish using the following capabilities, in my own shop.
Concept Design, Prototyping, Testing
Concept Design is a lot of fun. I carry around a notebook and daydream about DJ controllers, how my DAW (Digital Audio Workstation) works, and how the two could work together. I always think about what I want in front of me to mix/produce the music I'm into. Just start sketching what your ideal controller would look like, and make notes about how certain controls would work. Remember, you're controlling the DAW with a USB device. You can map to all sorts of stuff through the controller.
Mechanical Design and CNC Machining
Once the concept is nailed down, it's time to start drawing the thing in CAD. I use professional CAD software to draw controllers. It allows me to assemble all the virtual pieces, making sure the PCB, components and body of the controller will fit together properly. I then transition to my CAM software to design the machining process for the piece. Machining the wood components is done on my heavily modified Shapeoko 3.
PCB Design and Production
I design all my own circuit boards, starting from my boilerplate USB and microcontroller circuit. The PCB designs are sent to a board shop, professionally manufactured, then sent back to me one week later. I then apply solder paste to the boards, tweezer on every single IC, capacitor and resistor, then run the boards through my reflow oven. Custom PCB design and assembly is key to the GB Midi project.
Firmware Design, Controller Behavoir
This part is really fun. I've got the PCB all built and ready to rock, the microcontoller just needs instructions. I write the firmware to setup the behavior of the entire controller. If there's a knob on the mixer that you'd like to spew out two different midi notes, or only work when a pushbutton is down, this is the stage where we make that happen. The firmware also sets up the USB Midi protocol and allows the controller to be recognized as a USB Midi Device by your OS.
This is a new capability and still under development. Midi Remote Scripts can be written to sit between the controller and your DAW. It's an interpretation layer that allows you to do some very powerful things. You can set the script up to watch for changes in the DJ Software and send messages to the controller, based on those changes. If you really want to see the power of scripting, check out Will Marshal and his APC scripts.
So what you've got in the end is a one of kind controller. It's an extensive process, but yields totally unique results. I'm working very hard to streamline this process in every regard, so I can produce these controllers quickly. There's a lot of aspects I'm still developing, and will continue to update this capabilities page. Any suggestions or questions regarding any of these capabilities are totally welcome! I've learned so much from the DIY/maker community and want to help wherever I can.