← Blog

A parametric Eurorack case designer

EurorackCNCWork in progress

I also vibe coded a standalone app for designing Eurorack cases for modular synthesizers. It's all parametric design, and it natively exports files for CNC machine and laser cutting software.

After designing one case manually, using traditional polygonal modelling in Maya, converting it to vectors and then laser cutting those vectors, I quickly realised how long it takes to fix errors and iterate on a design, let alone make multiple cases with different configurations.

So I built this tool, because I wanted the ability to design endless variations: different module heights (3U, 1U), custom LED screens, custom artwork panels, integrated LED lighting in the side panels, custom patch bay layouts, whatever a specific build calls for. Instead of redrawing everything from scratch each time, the tool generates the actual case around whatever configuration I decide on.

It takes into account the actual rail hardware I'm using and the thickness of whatever wood I've got, and every joint, slot, hole and panel gap sizes itself off those numbers automatically. Switch to a different rail, use thicker or thinner material, tweak the gap between any two panels: it all just adjusts, rather than me having to redesign the whole case every time something changes.

The case designer in split view: the curved side profile with its rows and holes in 2D, and the finished wooden case in 3D

The curve

In this view, the rows section on the left lets me specify how many module rows I want, the module size (3U or 1U), whether I want a custom patch bay and its size, and the angle of the first and last rows. It then creates a perfect arc for the orientation of the rows in between, taking the dimensions of each row and the patch bay into account.

Then it calculates where all the holes need to be drilled. I can even specify the size of the bolt heads, so every bolt is countersunk when it's screwed in.

This is one of my favourite parts. The front of the case follows a curve, and that curve has to stay smooth no matter what's actually in the rack. If I add a module, remove one, swap a 3U row for a 1U row or mix in a patch bay, the tool recalculates the whole arc on the fly, so it still comes out as a clean, consistent curve rather than kinking around whatever happens to be plugged in.

It's not just splitting the bend evenly per module either: it weights it by the real physical size of each piece, so the curve stays true whether the rack is all 3U or a mix of everything.

A taller version of the case in 3D, with extra rows of different sizes

With a few clicks I added some extra rows in different module sizes: 1U modules, and a custom patch bay to connect audio, CV and MIDI into the case.

Those signals drive the custom coded microcontrollers that power the LED strips running along the perimeter of the panels, and the LED matrix panels at the very top of the case, which visualise the audio, CV and MIDI data.

Close-up of the 3D case showing countersunk bolt holes and the channels for LED strips and diffusers

A close-up showing the fidelity of the design: the parametric holes that let the bolt heads sit countersunk, and the parametric channels for the LED strips and diffusers. Those are proper stepped pockets for a strip and diffuser, designed directly into the side panels rather than bolted on afterwards.

Everything is created parametrically in the 2D view and then automatically extruded into 3D, with zero polygonal modelling. That's a first for me, and it's actually much simpler and 10 to 20 times quicker to iterate on. The live 2D and 3D previews mean I can see a case coming together before committing to cutting anything.

This is part of a whole range of new projects I'm working on that use my node based, audio, CV and MIDI reactive LED and screen software, which I'm also vibe coding.

The initial laser cut prototype is done, and now this tool is almost finished, I'll be ready to start CNC cutting the first real version soon.

More posts