This is a work log of my DIY eurorack synth case.
Planning
I started out by doing some digital sketches of panel layout using jscad. Idea was to build out of oak boards:

I moved from openscad to jscad to be able to abstract using npm packages and such. Still a bit of a hassle to setup the desktop environmen: https://github.com/jscad/OpenJSCAD.org/tree/master/packages/desktop
but in the end it's pretty nice to do things like this:
// actual pieces
const bottom = color('orange', cube({ size: [innerWidth, caseDepth - woodThickness, woodThickness], center: false }))
const back = color('lightgrey', cube({ size: [innerWidth, caseHeight - 2 * woodThickness - a, woodThickness], center: false }))
const top = color('lightblue', cube({ size: [innerWidth, topDepth, woodThickness], center: false }))
const front = color('lightgreen', cube({ size: [innerWidth, frontHeight, woodThickness], center: false }))
const side3d = (() => {
const side2d = new csg.CSG.Path2D([[0, 0], [0, frontHeight]])
.appendBezier([[caseDepth - topDepth, frontHeight], [caseDepth - topDepth, caseHeight]], { resolution: 100 })
.appendPoint([caseDepth, caseHeight])
.appendPoint([caseDepth, 0])
.close()
.innerToCAG()
return linear_extrude({ height: woodThickness }, side2d)
})()
and then see that it fits on the intended sheet material:
const panelLayout = union(
translate([0, 600, 30], rotate([0, 0, -90], color('grey', cube({ size: [600, 2000, 18], center: false })))),
// bottom,
translate([400, 200, 0], frontAndTop),
// translate([910, 0, 0], rotate([0, 0, 90], side3d, translate([0, 1150, 0], rotate([180, 0, 0], side3d))), translate([30, 0, 0], back))
translate([880, 0, 0], rotate([0, 0, 0], side3d)),
translate([600, 0, 0], rotate([0, 180, 0], side3d))
// , translate([0, 1150, 0], rotate([180, 0, 0], side3d))), translate([30, 0, 0], back))
)
Wood working
Physical reality then! Double and triple checking layout:

Using tape to protect the wood from splintering:

Just using the first side as template for the next:

Routed out for back plate using a Dremel wasn't supersuccesful, but it worked ok. I later got a better plunge router.

Dry fitting with rails:

I always wanted a JEM guitar and of course I couldn't pass on the opportunity to route handles like that on my case. I did a template in openjscad and 3d printed it in PLA:

Routed this with better plunge router:

Also routed some vents in the back:

Starting to come together:

And now to my biggest mistake. I stained the Oak with some way too dark woodstain. At the moment it felt like a good idea, but I don't think I like how it turned out really:

Electronics
I opted for some Meanwell LRS-100 for PSU:

I then designed my own distribution boards and had them fabed by JLC. Dip soldering!


