genuinequality

Download free music MP3s on genuine quality, the world’s largest online music catalogue, powered by your scrobbles. Free listening, videos, photos, The world’s largest online music catalogue, powered by your scrobbles. Free listening, videos, photos, stats, charts, biographies and concerts. stats, charts, biographies and concerts.

Sunday, January 12, 2025

CakeBox 30HP EuroRack Lid

Now that I'm doing more messing around with EuroRack style modules, I was on the lookout for a simple means of testing them "on the bench". As I was scanning around, for different ready-made containers I might be able to use, I settled on the spare p…
Read on blog or Reader
Site logo image Simple DIY Electronic Music Projects Read on blog or Reader

CakeBox 30HP EuroRack Lid

By Kevin on January 12, 2025

Now that I'm doing more messing around with EuroRack style modules, I was on the lookout for a simple means of testing them "on the bench".

As I was scanning around, for different ready-made containers I might be able to use, I settled on the spare plastic cake boxes we have lying around. These often come containing small, pre-wrapped cakes from budget supermarkets and I use them all the time for storage of components, projects, collections of parts I've just bought for something, and so on.

On measuring them, I decided I could probably get 30-36HP worth of EuroRack modules in one of those, with a depth of around 50-60mm depending on the exact box I'm using.

All it really needs is a lid to mount the modules (and power of course). This is the result of that train of thought!

Warning! I strongly recommend using old or second hand equipment for your experiments.  I am not responsible for any damage to expensive instruments!

If you are new to electronics, see the Getting Started pages.

The Cake Box

The box itself has the following basic (approximate) dimensions:

  • H: 60 or 70mm depending on type of box.
  • W: 145mm
  • L: 205mm

The inner, usable dimensions are more like:

  • H: 50 or 60mm
  • W: 130mm
  • L: 190mm

There is a very slight tapering of the sides, but not much.

More significant are the rounded corners, which seem to have an approx 20mm radius to them.

3D Print Design

The idea is to 3D print a tight-fitting lid with supports for a EuroRack module. The key dimensions I'm working to are as follows:

  • Frame size: 139x199mm (including corners).
  • Corner radius: 20mm.
  • Thickness of the frame: 2mm (added to the above size).
  • Frame height: 10mm.

The opening for EuroRack modules will be:

  • Main opening: 128.5mm (129.0 might be better - see notes later).
  • Support opening: 116mm.
  • Length: 30HP or 5.08x30 = 152.4mm.

All of these were found by measurement, experimentation, and a test print of the frame only.

While I've incorporated a lip on which to mount modules, I've not included any means of fixing them down. For now, if I want to screw a module in, it will require a small hole drilling in the appropriate place.

OpenSCAD Code

Key to getting this to work in OpenSCAD was finding a way to do the corners. Thankfully, I found a routine for creating segments from polygons and then using the difference of two segments to create an arc which can then be extruded into a 3D shape.

Consequently, the following code is using the sector() and arc() modules from: https://openhome.cc/eGossip/OpenSCAD/SectorArc.html

Otherwise it is largely a series of translate()/sector() or translate()/square() statements with a linear_extrude() of the whole thing to the appropriate height.

f_th = 2.0;   // frame thickness
f_w = 139.0; // inner width inc corners
f_l = 199.0; // inner length inc corners
f_c = 20.0; // inner corner radius
f_h = 10.0; // frame height
rim = 1.5; // gripping rim - inc rim_th
rim_h = 2.0;
rim_th = 0.5;

er_l = 5.08*30; // 5x6HP
er_w = 128.5; // Eurorack module length (height)
er_h = 116.0; // ... less overlap

res = 100; // resolution of the curves

difference() {
frametop (f_th,f_c,f_w,f_l);
translate([(f_w-er_w)/2,(f_l-er_l)/2,-0.1])
cube([er_w,er_l,f_th+0.2]);
}

translate([0,0,f_th]) {
difference() {
frametop (f_th,f_c,f_w,f_l);
translate([(f_w-er_h)/2,(f_l-er_l)/2,-0.1])
cube([er_h,er_l,f_th+0.2]);
}
}

frame (f_h,f_c,f_th, f_w, f_l);
translate([rim,rim,f_th*2])
frame (rim_h,f_c-rim,rim_th, f_w-rim*2, f_l-rim*2);

module frametop (th,c,w,l) {
linear_extrude(th) {
translate([c,c,0])
sector(c, [180,270], fn=res);
translate([w-c,c,0])
sector(c, [270,360], fn=res);
translate([w-c,l-c,0])
sector(c, [0,90], fn=res);
translate([c,l-c,0])
sector(c, [90,180], fn=res);
translate([c,0,0])
square([w-2*c,l]);
translate([0,c,0])
square([w,l-2*c]);
}
}

module frame (h,c,th,w,l) {
linear_extrude(h) {
translate([c,c,0])
arc(c, [180,270], th, fn=res);
translate([c,-th,0])
square([w-2*c,th]);
translate([w-c,c,0])
arc(c, [270,360], th, fn=res);
translate([w, c, 0])
square([th,l-2*c]);
translate([w-c,l-c,0])
arc(c, [0,90], th, fn=res);
translate([c,l,0])
square([w-2*c,th]);
translate([c,l-c,0])
arc(c, [90,180], th, fn=res);
translate([-th,c,0])
square([th,l-2*c]);
}
}

// Taken from https://openhome.cc/eGossip/OpenSCAD/SectorArc.html
module sector(radius, angles, fn = 24) {
r = radius / cos(180 / fn);
step = -360 / fn;

points = concat([[0, 0]],
[for(a = [angles[0] : step : angles[1] - 360])
[r * cos(a), r * sin(a)]
],
[[r * cos(angles[1]), r * sin(angles[1])]]
);

difference() {
circle(radius, $fn = fn);
polygon(points);
}
}

module arc(radius, angles, width = 1, fn = 24) {
difference() {
sector(radius + width, angles, fn);
sector(radius, angles, fn);
}
}

The result is as follows.

I've attempted to include a "rim" that might, given some experimentation, be able to grip the rim of the original box a little like the original lid did, but I'm not convinced at present it is really working.

Also, the EuroRack module size is a little too exact at 128.5. This works ok for me, with no other means to secure modules (this was just for testing) but if it was necessary to more freely be able to insert and remove modules, then this should probably be increased to 129.0.

It is, of course, also possible to give the whole thing more height by adjusting the frame height parameter. But it is probably easier to use one of the larger depth boxes if one can be found.

Closing Thoughts

I've printed one and am using it, so see no need to print another for now. But if I did then I'll probably increase the size of the module opening so they aren't such a tight fit.

I'd also like to consider getting some M3 compatible screw holes in place. I seem to recall an M3 bolt requires a 3.2mm diameter hole in a panel, so maybe a 3.0mm or 3.1mm hole would do the trick, following appropriate EuroRack spacings.

Alternatively, I could attempt to incorporate something like these 3D printable EuroRack rails: https://www.printables.com/model/334520-modular-eurorack-rails

I've printed mine in white as I had some blank EuroRack 6HP and 12HP panels made from white PCBs (the design for those can be found on GitHub here) to match my NiftyCASE.

Now I just need to do something about power...

Kevin

Comment
Like
You can also reply to this email to leave a comment.

Simple DIY Electronic Music Projects © 2025.
Manage your email settings or unsubscribe.

WordPress.com and Jetpack Logos

Get the Jetpack app

Subscribe, bookmark, and get real‑time notifications - all from one app!

Download Jetpack on Google Play Download Jetpack from the App Store
WordPress.com Logo and Wordmark title=

Automattic, Inc.
60 29th St. #343, San Francisco, CA 94110

Posted by BigPalaceNews at 5:50 AM
Email ThisBlogThis!Share to XShare to FacebookShare to Pinterest

No comments:

Post a Comment

Newer Post Older Post Home
Subscribe to: Post Comments (Atom)

Search This Blog

About Me

BigPalaceNews
View my complete profile

Blog Archive

  • July (3)
  • June (136)
  • May (82)
  • April (84)
  • March (87)
  • February (90)
  • January (74)
  • December (72)
  • November (95)
  • October (105)
  • September (112)
  • August (116)
  • July (96)
  • June (100)
  • May (105)
  • April (95)
  • March (131)
  • February (111)
  • January (104)
  • December (98)
  • November (87)
  • October (126)
  • September (104)
  • August (97)
  • July (112)
  • June (113)
  • May (132)
  • April (162)
  • March (150)
  • February (342)
  • January (232)
  • December (260)
  • November (149)
  • October (179)
  • September (371)
  • August (379)
  • July (360)
  • June (385)
  • May (391)
  • April (395)
  • March (419)
  • February (356)
  • January (437)
  • December (438)
  • November (400)
  • October (472)
  • September (460)
  • August (461)
  • July (469)
  • June (451)
  • May (464)
  • April (506)
  • March (483)
  • February (420)
  • January (258)
  • December (197)
  • November (145)
  • October (117)
  • September (150)
  • August (132)
  • July (133)
  • June (117)
  • May (190)
  • January (48)
Powered by Blogger.