These were fairly tricky to put together, and so the experience has been documented here in the hope that it might help others on the same quest. This isn't guaranteed to be the most efficient method, but it did work.
Olivier Gillet of Mutable Instruments has designed some fascinating modules. Check out his website, particularly the sound files.
Almost all of the synth I've been building has been analog so far, but this was the first time I'd made some digital modules containing STM32 ARM chips that needed flashing. I'd done some surface mount soldering in the past (I had a job years ago making corrections to batches of surface mount PCBs), but recently got back into it via the fantastic PCBs made by NonLinear Circuits.
The MI components are smaller on the NLC boards, however. Not hugely difficult, except for the pins on some of the chips are very close together. Olivier of Mutable Instruments doesn't actively encourage DIY, but has very generously made the hardware and software open source. I guess one of the biggest problems with supplying DIY boards or kits is receiving millions of emails saying "I made a thing! Why doesn't it work?!"
I noticed a few times that there were comments online considering DIY MI modules to be akin to "piracy", undercutting the genuine products etc. My reason for the DIY route wasn't really to save money (assembly time was too great for that), but mainly because I need the panel format to fit in with the rest of the modular. There's also the fact, of course, that the build process itself is an enjoyable and educational process. I wouldn't recommend these boards if you're just getting into soldering though - start with something like the MFOS Weird Sound Generator.
Having made modules from many sources, I've tried to keep all the labelling terminology consistent over the synth, as well as the interface layout details, panel size and graphic design etc. For example, the relevant knobs are all labelled "glide", rather than a mixture of glide, portamento and slew. So the MI panels were redesigned to match the rest of my 5U format synthesiser.
The MI PCBs were bought from amazingsynth.com. "Clouds" and "Elements" seemed a particularly interesting pair. Note in the images below they've been renamed, to indicate that they're from a third party manufacturer.
The package size of most of the passive components is 0603. Notice that 0603 is the imperial size name, and 1608 is the metric name for the same package. Notice also that the metric name for 0201 is 0603.
There is a special hell waiting for whoever designed this numbering system that has the same name for two different packages.
The components mostly came from Mouser - amazingsynth.com has "saved baskets" to make this easier, just delete out anything you might already have in stock. Parts were also ordered from RS, Farnell, eBay and Rapid Electronics, although I'm trying to phase out any reliance on Rapid as they seem to increasingly run out of stock for insanely long periods. There also seems to be a worldwide shortage of surface mount capacitors at the moment.
To check the soldering, it's useful to have a cheap digital microscope. You might also need a source of light that you can move (torch or angle poise lamp), as it helps to change the angle of the light source whilst examining solder joints.
Some other useful stuff, clockwise from left:
PCB cleaner - for cleaning up flux
ST-Link/v2 - for adding the firmware to the STM32 chip
Olimex adaptor thing - connects from the ST-Link to the JTAG header pins on the PCBs
Liquid solder - not used for this project in the end
Solder braid - used to mop up solder if you accidentally join two chip pins
Flux pen - useful
USB microscope - essential
Vacuum pen - good for positioning the bigger chips
Decent tweezers - easier than fingers
Adafruit PCB ruler - very useful to check package sizes while ordering parts
Liquid flux - smells delicious
Not shown: Xytronic 168-3CD soldering iron and Huakko 858D hot air gun.
These Aidetek boxes are great...
Wearing these while soldering doesn't help in the slightest, despite what the forums say
Most people recommend either drag or reflow soldering for the chips, but I didn't use either in the end. I painted some liquid flux onto the chip pads, gently placed the chip with a suction pen, then soldered opposite corners. I found that with a fine iron tip it was possible to add a little dab of solder to the very end of each pin, and that the flux made the solder run to where it was needed. This seemed the least risky approach, and it totally worked for me.
I downloaded the software to flash the chips from here. It has obviously been made by someone who hates human beings. I set it up on the Windows laptop I usually use to run the CNC machine, but I think there are other options for Mac and Linux. It seems not to connect if the wind's not blowing in a certain direction, so try it a few times.
The firmware was added before wiring up the panel. The orientation of the Olimex lead is indicated by a tiny dash, easier to see on the Eagle file. Dash = red stripe on the ribbon cable. You can download the free software to view Eagle files here.
After reading through 38 incredibly tedious forum pages, I added the firmware files that everyone suggested to use. Later, when everything was wired up, the LEDs on Clouds worked, but there was no audio. I emailed Adam from amazingsynth to check I had the right files, and he replied within three minutes with the correct ones. As soon as they were in, everything worked perfectly. Elements worked straight off first time. I'd hate to troubleshoot these boards - be careful when you make them.
The PCBs don't have mounting holes, so I made some encapsulating polycarb frames (dxf file for CNC here if you need it), which were then bolted to an aluminium bracket. You can see the printed BOM in the background below - components are crossed out with a highlighter as they're soldered in place.
Because my synth uses 5U instead of Eurorack, all of the pots and jacks have to be wired up to the PCB, rather than mounting them directly to the board. I used wire wrap and header pins, to which single core wire is attached, with a heatshrink sleeve.
I don't bother prototyping all of the panels that I make, but it was worth doing it for Clouds and Elements, as I did end up moving a couple of knobs and re-naming things. For example the label "Texture" became "Grain envelope".
In the background of the photo below you can see the Eagle file open, which is necessary to identify and double check components.
I'm happy with the redesign of the Clouds panel, but the one for Elements ended up being unavoidably huge and not very elegant. At least its capabilities justify the size.
The panels are 1.5mm black anodised aluminium, lettering cut with a 0.4mm cutter - more details on that process another time.
Completed Clouds. I'd like to make another, with different knob labels for the hidden "spectral madness" mode.
Warps and Plaits next!
I haven't discussed the audio here, which is of course the whole point of making the modules, but other people have documented that elsewhere. They do make some fascinating sounds though...
There are many other ways of making these modules, but here's a summary of the path I took:
Read the Mutable Instrument module page thoroughly
Buy the PCBs, tools and consumables mentioned above
Buy the ST-Link/v2, and an Olimex ARM-JTAG-20-10 JTAG fine pitch adapter to connect it to the PCBs
Order the Mouser saved baskets
Order any parts with a 28 thousand year lead time from elsewhere
Download the BOM (bill of materials, i.e. list of components) from here, and also the .brd and .sch files
Download the Eagle software to read those last two files, which you will need to figure everything out
Start by soldering the passive components, but don't solder the ones near the big chips, to keep access to the legs clear
Solder everything incredibly carefully, checking with a microscope as you go
Cross components off the list with a highlighter as they're done. Make notes of where you bought the components - useful for future reference.
Solder the chips very carefully indeed
Solder the last components around the chips
Download the ST-Link flashing environment and install it
Pester Adam for the right firmware
Connect to the PCB, while the PCB is powered by the synth supply, and flash the firmware
Make your panel and PCB mounting bracket
Wire everything up neatly
Have a final last minute check of the power pins with a multimeter to check there isn't any obvious shorting
Power on and take electro-sea-shanty-core in a totally new direction...