Interview with Michael Zarimis on How to Build MIDI Controllers from Scratch
MISA Digital is a new, innovative MIDI controller company.
They have various instruments such as their nsc-16, nsc-32, their popular tri-bass, and the kitara.
We have a lot to learn from the founder, Michael Zarimis! He doesn’t use any sort of prototyping platform, such as the Arduino. He builds MIDI controllers completely from scratch.
In this interview, I asked him all about his design process, workflow, and even where to get started as a beginner that’s interested in building custom controllers.
You can check out his latest MIDI controllers on the MISA Digital website.
I hope you enjoy this interview.
I want you to keep in mind that Michael has been doing this for many years. If anything sounds way over your head, don’t let that intimidate you. If you’re just a musician who wants to make custom MIDI instruments without learning a t0n of circuitry, platforms such as Arduino, Brain Jr, and even the Makey-Makey, will dramatically simplify the process.
Above: One of Misa Digital’s products, the Kitara.
How long have you been designing and building midi controllers?
I started designing MIDI electronics in 2005 (11 years). Prior to that I had been learning about embedded systems since around 1998, mostly video game consoles like SNES and GBA.
What was the biggest learning curve faced in building custom controllers?
Since my background is in software and electronics, I’d say the biggest learning curve for me has been on the mechanical engineering side.
Specifically, designing and building the enclosures. I taught myself CAD, but it’s more than just that. It’s about learning HOW things are made. Processes like injection moulding, sheet metal, powder coating and their advantages/disadvantages. Learning about fasteners and when to use the different types etc. How to design something so that it is easy to assemble. Those sorts of things were originally outside my area of expertise and it tooks some time to learn about them.
It’s about learning HOW things are made. Processes like injection moulding, sheet metal, powder coating and their advantages/disadvantages. Learning about fasteners and when to use the different types etc. How to design something so that it is easy to assemble. Those sorts of things were originally outside my area of expertise and it tooks some time to learn about them.
Where do you recommend beginners to start?
The way I started is with a breadboard and a microcontroller. You don’t need many components to get that up and running, and adding some MIDI circuitry is a good learning exercise.
From a programming perspective, learn [to code in] C.
How much does a midi controller like the Misa NSC-32 cost to build?
A lot! When you consider how many LEDs there are, and the size of the PCBs, it all adds up.
Describe your workflow for building midi controllers
(from prototyping, to building an enclosure)
The work flow is as follows:
- Come up with the idea.
- Draw the final product on paper.
- Draw a basic system diagram that shows how all the components should link together.
- Draw more detail for each part of the system.
- Draw the schematic on paper.
- Translate the schematic to PCB software.
- Draw a high-level PCB layout on paper.
- Draw the PCB layout with PCB CAD.
- Design the enclosure using CAD software, including thinking about what sort of processes to want to use.
- Order the PCBs.
- Write the software.
- When the PCBs arrive, integrate the hardware with the software.
- Write the remainder of the software. (This includes the application level code.
Final step: Once you have a working prototype in a real enclosure, it gets sent to a lab to get the various EMC certifications. If it fails, it may require some simple rectification work, or in the worst case PCB re-layout work.
Elaboration on step #3: For example, one box might represent the microcontroller, another might represent the MIDI I/O, another might represent some faders, buttons, preset memory etc.
Elaboration on step #4: For example, what does the fader sub-system look like? Is the MCU ADC suitable or is an external one required? How does the MCU talk to the external memory? I2C, SPI etc? The first answer is not always possible given the constraints, so consider all the components in a state of flux until the very end.
Elaboration on step #8: The most important skill that I have learned recently is the art of 3D PCBs. Being able to design your PCB and save it as a 3D STEP file is the best thing ever. It means you can import it in to another CAD program for designing the enclosure. It takes a bit longer because you need to also design the components in 3D. But it protects you against any clearance issues etc. It is so important, I can’t believe I used to not do this.
Elaboration on step #9: The PCBs are imported as STEP files to make sure everything fits together nicely.
Elaboration on step #10: This process might take 4-6 weeks, and this waiting time is the perfect time to start writing the software.
Elaboration on step #11: I strongly believe that embedded software can be mostly written without the hardware being present. I unit test everything, and write all the IC drivers in advance before the PCBs arrive. I don’t expect everything to work perfectly when integrated in to the hardware, but usually it doesn’t take long to fix any mistakes. The key is to clearly separate the main logic code from the hardware interface code.
Elaboration on step #12: This includes checking if there are any hardware design mistakes. You don’t want anything to be fundamentally broken because you’ll have just lost 6 weeks and $$! Sometimes you need to “cut and strap” the boards in order to get everything working. Then update the PCB designs and send them off for another revision.
What’s your go-to equipment/software?
I have used Altium and Eagle for PCBs. And GCC for C compiler.
You mentioned that you first get a PCB made in China. Do you ever use breadboards to prototype instead?
I used breadboards when I first started learning electronics. But I realized that a lot of my issues getting the circuitry to work actually involved the breadboard itself. Like a loose connection would stop everything from working. I could lose a day just trying to find that one wire that had somehow come out.
So instead I go directly from schematic to PCB, and this is the way it is done at most other companies as well. The other issue with breadboards is that they only work nicely with DIP ICs, not surface mount ICs.
What are the advantages of building everything from scratch VS. using a prototyping board such as Arduino?
The main advantage of building everything from scratch is the flexibility of having the system behave exactly how you want it. As a basic example, you can optimize for speed and cost by choosing a microcontroller that has exactly the peripherals that you require.
Final Notes:
Hey, everyone! Doug here again. I really appreciate you taking the time to read this interview I had with Michael Zarimis.
There were a lot of big takeaways. I’ve learned a lot about streamlining the design process.
The Arduino is a fantastic platform and I highly recommend (especially if you have little to no circuitry experience) building your first MIDI controller with it. However, if you’re up for a lot of studying and a good challenge, building a MIDI controller COMPLETELY from scratch is a good achievement.
Let us know if you have any questions about building MIDI controllers in the comment section below!
Leave a Comment
4 comments
This is a great blog for someone who is so used to the software side of things. Lots of info, easy to grasp and a pleasure to read! Loving your circuitry part 1 article as well – keep it up!
Glad you enjoyed it, Rob!
Great article, nice look into a professional workshop.
Thanks Doug,
from Surrey, Canada,
David
Appreciate it, David!