The newest version of the Cutlassiezer eurorack board is entirely SMD. This was to allow it to be as compact as possible. The component count has grown with each iteration. The concept is it’s a flexible back board that can support multiple ‘break-out’ front boards. So far, I’ve only made one front board, which breaks out, audio in, and audio out, 6 pots, and 6 CV inputs. Most of the SMD components on this board are 0805 size, which is totally doable to solder by hand, the audio codec is 0.5mm pitch which is trickier, but possible, a microscope is handy though. I wanted to be able to assembly a bunch of these, both for myself and to give to friends. Doing these all by hand would be time consuming, so I wanted to find a quicker option. I’m very lucky to have access to a friend’s workshop with a reflow oven and a laser cutter. If you don’t have access to such well-kitted out and generous friend, then check out your local hackspace, they’re likely they have both.
I wanted to try out using a reflow oven. A reflow oven is basically similar to a standard oven but has a well controlled ‘thermal profile’ which regulates the heat, so the temperature ramps up and down in a controlled manner, as ICs can be damaged if heat up or cooled down too quickly.
The reflow oven I used
The reflow process is essentially:
Make a stencil to allow you to apply solder paste only to the areas of the board where the pads on the PCB are. Solder paste is just ground up solder mixed with flux.
Align the stencil over the PCB so the holes match in the stencil match the pads exactly. Normally you’d have some sort of frame to make alignment straightforward, but I did mine by eye and a rudimentary gig made of other PCBs (see below).
Smooth the solder paste over the stencil onto the PCB so a very thin layer of PCB sits on each pad. This is similar to applying paint to a screen print.
Painstakingly place each component on the board with tweezers.
‘Cook’ in the re-flow oven. This will melt the solder paste, and when finished you should be left with a beautiful and professionally finished board.
Generally you would use an aluminium stencil, they have to be very thin (sub 1mm), so need to be strong enough to withstand multiple uses. You can often get these machined by the PCB labs you have your board made at. As I was just experimenting I was happy with something relatively disposable. I cut my stencil out of Mylar sheet using a laser cutter. I exported only the pad positions from Eagle as a PDF, and set the laser cutter to ‘etch’ these out of the sheet. I used etching to avoid that added thickness of the laser that would result when cutting.
Stencil about to be laser cut
The finished stencil
A rudimentary ‘jig’ for aligning stencil
I made 2 boards. The whole process (including cutting the stencil), took less time than soldering a single board by hand, and the process was fun. On one of the boards the audio codec had some bridged contacts, presumably because I hadn’t aligned it well enough, but this was reasonably easily solved with a hot air gun (to re-align the chip), and a soldering iron with desolder braid.
Nothing is more motivating than an imminent deadline, and my gig in Berlin served as a good end point to get my new case finished, and a brand new module into it.
The case was built out of a Habitat trunk, see more details here. I’m pretty pleased with how it turned out. It’s nice and light, and hopefully pretty sturdy. It survived the flight back from Berlin anyway.
The new module is actually just a re-working of the GlitchDelay, but it’s using the new PCB I’ve designed. Which uses Teensy 3.5 (again) coupled with an external WM8731 codec (for reduced noise), and has 6 buffered CV inputs. It’s all SMD to keep the size down. The idea is that I’ll be able to produce different front panels, for different module functionality, but keep the back panel the same. I laser cut a panel on ply-wood for the first time. The contrast between the etched and non-etched material is much higher than with the acrylic, which I like.
Next on the agenda is to modify the case to squeeze a row of 1U modules in. Ideally I can just use this case, with external noise boxes/instruments when playing out live.
Just back from visiting Berlin. Went to Superbooth, met some lovely people, played the Koma Elektronik afterparty, and generally had a wonderful time. As you can see in the photo below, I finished my eurorack case off. I’ll add more details about the new modules soon. Airport security were slightly baffled by the objects in my suitcase. I was a little concerned when I got taken to an interview booth, but only some minor swabbing of case and clothes transpired.
Berlin is quickly raising up my favourite city rankings, and must be close to toppling New York from the top spot. I love the fact that you never struggle to find somewhere cool, unusual, and interesting to eat, drink or hangout. Thanks Berlin, I miss you already x
Happy Easter! I’ve spent my time off crafting a DIY case to house the modules I’ve been building. As I’ve been trying to perform using only DIY instruments and effects I’ve built myself, then as Jedi must craft their own lightsaber, it seems fitting I should create my own case. Actually, I already have my Chilli Box case, but I’ve rather outgrown it, size-wise.
The case is based around a Habitat trunk which I got in the sale. I used aluminium rails from Mouser, which I set M2.5 nuts into. I cut these down to the correct length with a hacksaw. These were then mounted onto an aluminium mounting frame from Thonk. The frame went together ok, although, getting the supplied bolts to cut a thread into the aluminium rail was a bit tricky, and I managed to rather chew up the head on one of the bolts. Hopefully I don’t need to get that out again!
The trunk case has a lip all the way around so I ‘plugged’ this by screwing a block of wood on each side, flush with the lip, that I could then mount the frame into.
The power supply was just a cheap Chinese board from eBay (TPS5430), that I added a couple of extra filtering capacitors to, and then used Vero board to mount header to for the ribbon cabled to connect to. The filtering caps were 100uF and 10uF, chosen more due to what was on hand than by any form of science.
Still need to mount and test it with all my modules, let’s see what new and exciting problems that brings..
For the past few months (yes, it’s a slow process), I’ve been working on a new version of my Teensy based eurorack boards. Whereas my previous boards have used either the Teensy’s built-in ADC and DAC, or the PJRC audio shield, this one uses a separate chip, known as an audio codec, called the WM8731, to perform these duties. The benefits are increased audio quality over the built in ADC/DAC, without the need of the more expensive, and physically large, audio shield. It’s been a bit more challenging than I expected. The first PCB prototype I had made had a number of issues with it. Some were just careless mistakes, others originated from a lack of understanding of the WM8731, and how it uses I2C and I2S protocols. My first board is a mess of soldered on wires and extra resistors to fix issues. It was a useful learning experience, and allowed me to fix the errors and produce a new PCB. Today though, I finally got everything working.
The main difficulty was that debugging digital chips is hard. If you don’t set everything up correctly it just doesn’t work. Then you’re left scratching your head trying to get to the root of the issue. Is it the circuit that’s wrong? The soldering? The code? Did I burn out the chip when soldering? This meant the whole process took a long time. Also, the chip is SMALL. It’s 0.5mm pitch which is quite tricky to solder by hand. This is my first fully SMD board, so I’m a bit of a novice with SMD. Most of the other components where fine, but this one was a real pain. I tried ‘drag soldering’ which people say is ‘easy’, but I found I just bridged all the legs together. So I opted for slowly and painstakingly soldering each leg, accompanied with copious swearing!
I’ll post more details on this as I develop it. First job is to port my current effects to this board, and incorporate 6 CV inputs. Finally, I’ll be able to make use of one of the main advantages of modular!
I’m going to be in Hastings this weekend, for Thee Saturday Sonics. I’ll be doing a talk about DIY instruments and also an improvised performance to show off some of the devices I’ve been building recently. It’s totally free, and on all day. I’ll be on at 2pm. Hopefully see you there!
On Saturday (1st December) I was up in London at the House of Vans, speaking about getting started in digital module design for Eurorack. It was a really fun day. My talk was fairly well attended and I got some positive comments and questions which is always a bonus. The venue itself doubles as a skate park, so there were lots of confused looking skaters kids wandering around, bemused by the sheer quantity of wires I expect. Thanks to Tom Whitwell and all involved for inviting me.
I found it inspiring to see everyone’s modular systems. Although it mainly inspired me to build more modules, whereas I need to start making music with my current ones! More on that later.
I’ve never owned a Monome, but always loved them. They look beautiful, the apps are inspiring, and let’s face it, they revolutionised midi controllers. There’d be no Launch Pad if it weren’t for the Monome Grid. One of the very early apps on the Grid, was MLR, designed by Brian Crabtree, the creator of Monome.
I wanted to try and create something similar to this, albeit a crude and inferior version. I’ve designed an add-on board for my Cutlassiezer PCB, as used on the Glitch Delay. This is based around a PIC chip which communicates to the main Teensy based board via I2C.
In this video, the Kalimba is being amplified by the Microphonie, and then into my KhronoKrusher delay module, then into the looper.
On the main board you can see prototyped on vero-board, the PIC uses a shift register to shift a single ‘ON’ bit through the register. At each bit location, the ON bit can optionally turn on the LED and read the value of the associated switch. This technique was borrowed from the Le Strum by sixty four pixels. The Teensy sends the desired LED states across the I2C bus, and the PIC chip sends back the current state of the switches. Here’s the schematic from Eagle (click to view an enlarged, readable version).
This is just a work in progress at the moment. I’ll give further updates as I progress. As always, the code is available on GitHub here.
I’ve been off work recovering from an inner ear operation, which I might talk about more in the future. In between lying on the sofa and general convalescing I’ve managed to finish a new track. The first thing I’ve actually completed since I released the album.
In the run up to Electromagnetic Field Festival which I played earlier in the year, I was preparing for a performance using only instruments and effects I’d built myself, either from kits or of my own design. The problem was, most of my modules are effects, they transform sound, but they can’t really generate sound from nothing. I had an idea to make a module which would just play piano sounds controlled by CV and gate. Here’s a video of the performance, similar to the one I played at EMF.
The Piano Player module
I decided to base the module on Music Thing Modular’s Radio Music/Chord Organ module by Tom Whitwell. It already has inputs for CV and Gate, and is Teensy based, which I’m well versed in. Time was limited so I didn’t want to have to build the hardware as well as write the software. I ordered the module from Thonk as well as a Penrose Quantiser, although I didn’t have time to build this in the end, so ended up doing the quantising in software.
The Teensy 3.2 has fairly limited memory (64k ram, 256k flash), so I only had space for a single piano sample, which is stored in the flash memory. I then had to write the code which could play this sample back at any pitch, using cubic interpolation to smooth the resulting sound. I wanted the module to have polyphony, so the sounds could overlap, without cutting off the tail of the previous sample. The Teensy 3.2 doesn’t have a floating point unit. This means it has to emulate all floating point (fractional numbers) in software, which is very slow. Initially I struggled to achieve multiple voices at once due to poor performance. I solved the problem by writing a fixed point maths library. This replaces floating point maths calculations with integer based ones, which are faster. You do accrue some loss of accuracy doing this, but it was almost x10 faster, and I was unable to hear any artefacts. This extra boost in speed gave me enough remaining CPU power to add reverb, using the freeverb algorithm in the Teensy audio library. See the source on GitHub for more details.
In this video, the Piano module is being fed random voltages from the Turing Machine (also from Music Thing). I then quantise this signal internally in software to be in the key of C. Once I’ve built my hardware quantiser I can remove this step. Theoretically this module could play any sample, the sample just needs turning into a .h include file which can be included in the source of the project. I created this using wav2sketch. If you want more samples, or larger ones, you’d need more memory. A Teensy 3.5 could be used to achieve this (as I use in some of my other modules). It does look like you could physically fit this onto the Radio Music board, the only problems I can see might be power related issues, such as discussed here http://www.cutlasses.co.uk/tech/redux-the-redux/