I'm also working on a better, upgraded version. Updates on that soon.
Originally, I posted the development of this on Hackaday. I'll be mirroring those posts here on this blog now.
Special thanks:
A special thanks has to go PCBWay, for providing me with free PCBs (and discounts on PCBs when I ask for too many of them, because this project is voluminous).
I would also like to thank my girlfriend, who gave me enough money to buy the first set of electronics I needed to make version 1 of this project. It was very expensive.
This post was originally written on Hackaday, 02/21/2025 at 11:24:
Once all the components spent their time in transit and were all collected on my workbench, I decided the first order of business was to dry-fit everything together; it wouldn't do if any of the parts I ordered were off or mis-sized, either by fault of my own design or otherwise!
First up, the plates:
here you can also see a comparison between JLCPCB's default matte black, and PCBWay's default shiny black. I was a bit iffy about the shiny black to start with, but it's grown on me.
so far so good!
The next part is where it gets tricky.
In order to dry-fit the more interesting 1U and 2U parts, I'm going to need to assemble the adapters I designed. The screws for them haven't arrived yet, but I ordered some other not-quite-as-nice ones from my local hardware store, and they will do for now.
I designed each of the parts such that they would be quite tight, but even so I did need to take a small file to them to get them to fully fit together. If I were to re-design them, I would add areas into the inner corners of each of the fingers to make sure the mill didn't leave too much material in between them. Thankfully, they didn't need much filing, and after a few attempts, they went together nicely.
Lining the two parts up with some blu-tac to hold it all together while I work, I first soldered just one corner on, then the other, and when I was happy with the angle I finished the middle sections.
Humble beginnings.
PCBs have a bit of slack in them, and I took advantage of that as I worked the corners. I could finish one corner, check the angle of the plates, and bend the other corner into shape while the solder was hot, then simply re-heat the opposite corner to release the stress.
I designed many separate PCB-Attachment sections into the design because I wasn't sure if one single large slot would work, in terms of being able to heat it all up with my soldering iron while the solder melted into place, but I also kept in mind that the very tiny (1.25mm) slots might be too small to bother doing individually. I played around with a few combinations until I found one that worked nicely for me, which ended up being sets of 3 soldered together with one set between each. This was much easier to solder, and not too finicky to deal with.
Lining them up on the table once they were done, I could get the screws tightened on the rails and make sure they were tried and true. The PCBs were nice and strong, and the rails light, so they didn't need much tightening, and all in all it was fairly painless!
I then put the rails into the case, and made sure they fit, and.. oh that's really quite nice, isn't it?
Maybe I will mention this in the Eurorack community, I'm sure someone would love a nice homemade alternative to some of the 3U-to-1U adapters, especially one as flexible as this! Just order the lengths you want, and solder it, and it's done! Perhaps I will do this alongside the publishing of this log update.
Anyway, now that I have the rail adapters done, I can screw in each of the individual electrical components into their respective PCB plates, and this is what that looks like:
Oooh isn't that just pretty!
It's got the sauce, as the kids say.
I'd post that to my aesthetic tumblr under #tactile.
actually, I might just do that too brb.
Eurorack ButtonBoard Log #9: The Rest Of The Fucking Owl
This post was originally written on Hackaday, 02/21/2025 at 11:53:
Oh boy. This was a journey. Up until now, it had been smooth sailing; things I could do fairly quickly, nice neat updates I could make here and there, fun things to occupy my time. It was not to last.
Now, I'm not electrical engineer; I've not so much as even replaced a mains breaker. I'm barely literate. I dropped out of High School, I can't remember things well, and often repeat myself.
My previous soldering experience includes one keyboard I made from a kit I bought, and one other PCB project many years ago.
This project was ambitious.
It was A Time.
I had fun, yes, but it had its ups and downs. This update will attempt to highlight some of those ups, and some of those downs.
The first Attempt
Soldering the first component to the first plate was a big high; cutting the wires to length, trimming the leads, soldering it on. But it was tedious, and I wasn't even sure if I wanted to keep all the wires on top. What if I got to the end, and decided that actually I wanted all the wiring underneath, inside the case? That would be prettier, it would match the aesthetic of a proper buttonboard better, and it would be less prone to breakage. So after finishing this, I decided to change my mind;
The Second attempt
Thankfully, my brain is often bigger than I am. The headers I chose to use for the plates were the longer "Stacking Headers" AdaFruit have; they have a much longer male end, made for attaching several sets of headers together with PCBs between them. This meant I could use header leads on the undersides; solder one end to the component, and use the female end of the header to stick into the plate's header. This meant I could access them from the top, and also that I could unwire them without needing to de-solder them, if I ever decided to keep all the wires inside.
The Other Components
Repeating the process for the rest of the components, using one stripped end of the headers this time instead of soldering directly to the dupont leads like a dumbass, I managed to make some solid progress.
This took a few days! Maybe even a week or two.
I honestly don't remember. I'm writing all these updates in retrospect, since I have ADHD and have no concept of doing things properly. Everything must be done in a rush at the last possible moment, or not at all.
It took a while, regardless. My hands hurt. The tips of my fingers tingled. I googled lead poisoning and its effects comparing leaded solder with non-leaded to make sure I was washing my hands often enough, and ignored the "tingling extremities are a sign of acute lead poisoning" articles, since I knew, logically, that I was just sore from physical activity. I ordered some latex gloves online.
The First Wiring Attempt
So I wanted to test that everything worked before screwing it all together. That's okay; I made all the leads removable for each component, so I can just connect a breadboard to each component via the wires already soldered to them! I'm thinking farther ahead than even I knew. Except now I need to wire the controllers too, and actually while I'm at it why don't I try and fit all the wiring in the case? There's plenty of space in there, surely I can fit the breadboard and the extra-long wires all in there! Lets give it a go.
Except I didn't consider the height of the dupont wires when I designed the 1U plates for the controllers:
No matter, I can solder male headers directly to the wires, at a right-angle, and make my own dupont wires! I'm a genius!
Yeah, that works just fine.
Connecting all the extra wiring together, on a breadboard, was easy enough. It's a *lot* of wires though! so much spaghetti. It did remind me of one thing I had overlooked, which is that many of the components need to be routed to 3.3V or Ground, and if I were to wire this up on the top, I would have no place to wire them up; I hadn't ordered any of the perfboard plates I designed, and I hadn't designed any power or ground buses into the controller board or plates, so I might have to try and shove all these wires into the case anyway!
Gotta get those wires grounded somehow, and I'm already half-way towards getting it all inside anyway, so once again I'm thinking farther ahead than I thought, and once again its turning out in my favour! I'm on cloud nine! I'm unstoppable-
ah.
Yeah, that wont work.
A Crossroads
I've got two choices now; go full-ham, hand-solder the wires inside the case, learn how to connect things properly. This is the way I should go, if I want this to be something other people want to have in their house, on their desk. This is the way it *should* be done.
I do not want to do this.
It sounds tedious, complicated, permanent. Difficult.
Scary.
Or: find a way to have a ground and a 3v3 bus on the outside.
I look closely at my breadboard. I've never really paid that much attention to it; just taken it for granted. Now it is providing the one last thing I lack for this to work. I hold it in my hands, turning it over. The front is plain, serviceable. The sides are slightly warped; a sign I cheaped out on these when I ordered them all those years ago. AdaFruit have upgraded the ones they serve on their website now, with a metal base to stop the warping. Maybe I should order some. The back of mine are slightly mushy- there's a sticker here, two-sided tape with some intermediate sponge holding it together. The other side of the tape is untouched, ready and waiting all these years for something to stick to, but why would i-
oh.
I can just stick the breadboard to the back of the case, and-
yeah that'll work.
I use some 22AWG wires, colour-coded Red for 3v3 and black for ground, and connect some parts up to the breadboard for my ground and voltage connections.
Yeah that'll work nicely.
This was a fun process; cutting the wires to length, bending and smoothing them Just So to get them to fit along the gaps and spaces between the components. It's meditative, like vacuuming. Do you like vacuuming? I do. The repetition allows for the mind to wander and drift. Maybe you prefer some other activity, like folding the laundry, or washing dishes. Mine's vacuuming.
This Thing All Things Devours
So I finish wiring the thing up. I wrote the firmware as I was assembling it on the breadboard, and it was working then- but it's not working now. I don't know what I did differently. Obviously a lot; the wiring got completely gutted and re-done, but it took me a few weeks! I don't know if I have the constitution to figure it out.
I don't own a voltmeter or whatever they're called; I should own one. How I've made it so far in my endeavours without one is a miracle. But what if I've just fucked it up somehow? Shorted a wire somewhere in the controller; those wires were awful close to the rails.
I sit on it a while.
A week, and then two.
A month.
I have Long Covid. I caught it years ago, but the fatigue haunts me. I can go weeks with nothing wrong, and I feel like I could lift the whole world on my shoulders, like I was never sick, like it's finally left me for good, and then one day I'll wake up and feel like shit. Like I didn't sleep at all. Like I ran a marathon during the night. One such event hit me during this period of limbo for this project. It was not fun. But every day, the Eurorack Button Board would be sitting there, on my desk, waiting. Patiently, like the immutable physical object it is.
Everything decays, but the decay of things like this are on a timescale greater than that of life. It will outlive me. I will be long-gone, but the Eurorack Button Board will still be here, a testament to my aspirations. A monument to my failures and my ambition, my crudeness and my genius.
Sometimes you need to leave a project for a day in order to figure something out. Sleep on it, or take a walk, or read a book.
With Long Covid, that one day away from the project becomes a week, a month. I persevered.
I open KiCAD one day; I think I've figured it out.
I look closely at the pins of the controller's plate, and vertical mounted PCB. I had originally decided the pins should be somewhat related to the controller they were connected to; imagine the USB port of the controller to be on the left of the headers; the bottom row of headers on the plate would be the left row of headers on the controller, and so with the right. But in my excitement in the sponsorship, I rushed things; I got ahead of myself. I messed up.
I look at one pin on the PCB design in KiCAD, and its corresponding header on the plate is on the left; this is correct. I look at the other pin on the other side of the controller, and its corresponding header on the plate is on the other side! It's flipped horizontally. Oh no!
I had tried all other combinations; what if the headers were both flipped horizontally, what if the headers were flipped vertically; the left one on top, and the right one on the bottom. No; The left one was correctly on the bottom, but the right one was flipped horizontally on the top!
Of course, this wasn't a problem when I was testing things on the breadboard, since I was connecting directly to the side of the controller via the headers directly next to their corresponding controller pin.
I re-wire things up; One button works. I wire a slider up, it works too. I wire the knobs, the keyboard matrices, the toggle switches, the rotary encoders. They work.
I launch a game- I bind the buttons, and the knobs, and the sliders; it works. I've done it.
Tomorrow (for realsies) I will take some final pictures and finish up the documentation. For now, my ADHD meds have run out, and I need to sleep.
Eurorack ButtonBoard Log #8: If It's Stupid And It Works, It's Not Stupid.
This post was originally written on Hackaday, 02/21/2025 at 11:34:
When designing the components, I wanted the USB controller to be a part of the design, instead of just hidden inside the case.
Part of the aesthetic of this project is to mirror the beauty of the Eurorack scene by making the chaotic wiring a part of the design, and that means the headers of the controller need to be just as exposed as the components I'm connecting to them. Since I also wanted to make sure none of the exposed sections of the design had anything poisonous on them, that meant I couldn't simply have the controllers connected flat on the plate with some headers. I briefly experimented with this, but they took up a comparatively large area, meant the attachment points would have to be underneath the controller, and meant I couldn't just have them side-by-side (since the USB connector would interfere with whatever was next to them). So a more... *complicated* solution was required.
If I used right-angle header connectors as a physical connection as well as an electronic one, I could mount the controller vertically *inside* the case, with the USB port pointing out the same as all the headers, and it would take up much less space! So this is what I went ahead with. Now with the parts in front of me, I wasn't sure quite where to start; the fugue state I designed them in long past, figuring out the correct assembly order such that none of the parts became inaccessible to soon proved challenging.
I managed to get the two sets of female headers, and one half of the right-angle headers, soldered on, and the other female headers and the other half of the right-angle headers soldered on, so all's well that ends well! It sure was a lot of soldering! Gee I sure hope it all works out...
Once I had them assembled, I realized an error! A mistake! A design aspect I had neglected to consider! The headers overlapping the plate next to it I can work around, this part of the design has several blank plates on it for a reason, but the headers are exposed!
It wasn't that big of a deal, but now that it was in my hands, I could see that the top section of the right-angled headers poked out of the plate, and would expose the toxic leaded solder to my beautiful fingies whenever I were to fiddle with this after its assembly! This I could not abide, and my quick fix was to just… throw some hot glue over them and draw on it with some sharpie to make it look not quite so bad lmao.
This will, thankfully, be hidden behind all the chaos of the wiring once it's all done and dusted, but until then it does look quite comical compared to the quality of everything else so far.
This post was originally written on Hackaday, 02/21/2025 at 11:25:
So the nice thin screws for the adapter plates came in the mail! It turns out the cheap ones I got from my local hardware store fit fine anyway, but the new ones are a lot nicer:
This post was originally written on Hackaday, 02/21/2025 at 10:57:
Since I'm trying to fit 1U (and now 2U) modules into a 3U case, I'm going to need some kind of adapter. There were a few I could find online by searching Modular Grid, but none of them were flexible enough or in stock enough for me to humor them as real alternatives. Instead, I decided I would make my own!
I had an epiphany one day, while designing some of the modules for this project. I was toiling away inside blender, doing what I do and hyperfocusing on what would probably never come to fruition, when it happened.
I stopped what I was doing, sat back in my chair, and just like that, I had it. I moved my hands together, crossed each finger over the other; that was it! I would make a fingerey-sandwichey-thing with PCBs at right-angles to each other, and use solder pads to hold it together like glue. Just like one would with a laser-cut wood project!
I'm sure there's a word for what this is, and I'm sure I'm not the only one to have this idea, but it felt magical to have come up with the idea on my own, even if it wasn't a unique one.
I got to googling, and found some nice DIY Eurorack case rails made by SynthRacks. There was some thorough documentation (which I love), with lots of pictures! Very nice, I thought. There are even custom HP length options! Perfect.
I couldn't find exact measurements of where the mounting hole would go, so I designed a slot instead of just a hole, for the screw to mount the rail to the PCB, and designed groves for the PCBs to mount to each other, and added some small surface-mounted areas for the solder to attach each part of the PCBs together. I found some nice screws on AliExpress with a recessed hex slot inside the shaft, so the screw had a much slimmer profile; this was important, since I wanted the adapter to take up only a single HP for each side of the adapter; this is what the alternatives I was looking at ordering used, and I didn't want to be shown-up by someone else!
Here's what I came up with:
The PCBs attach together with finger linkages, and have holes for rails to mount to, and holes to be mounted to the rails of a 3U case.
I designed this 2U adapter too, since if I'm going down from 3U to 1U, why not 2U down to 1U too? This gives me more flexibility for mounting options, like here where I've only got one rail for the 3U adapter, so I can have 2U modules next to the 1U modules.
Here they are in place with an Eurorack case.
Now it was just a matter of picking the right HP lengths for the modules I wanted to fit in them, and Order the parts, and hope I didn't screw anything up, and that my weird hack actually works! No big deal. We shall see.
This post was originally written on Hackaday, 02/21/2025 at 10:38:
Finding the parts to use, and making sure those parts fit witin the Eurorack standard was a fun and interesting challenge.
Following the Eurorack sizing guides from Doepfer and Intellijel, I could tell that I have only a certain amount of space in each module, if I want to be able to use a normal Eurorack case to keep it all in once it's done.
Some parts, like this Motorized Slide Potentiometer would be quite fun, but sadly are too long for a standard 3U module; I would have to find (or make) a case that was 4U in height. I didn't want to go quite that far for this project.
Other parts, like this smaller 75mm Slide Potentiometer fit just fine in 3U.
Some other parts would fit in 3U, but there would be a lot of wasted space around them, like this Mini Analog Joystick.
Perhaps if I smudge the Eurorack format a little bit? keep 3U and 1U modules, but also have modules that would fit into 2U? I mean, if I'm putting 1U modules into a 3U case, I'm going to have 2U left over... and sure I could fill that with two more 1U modules, but why not just have some 2U modules? That could be fun!
I'm not here for an Artisinal Experience
I'd previously ordered some PCBs from several places for other projects, and knew intuitively that what I was after for this project could easily be made and shipped to me for cheap as PCBs, and would quite easily fit the bill of requirements for an Eurorack module. by buying a Eurorack case, and filling it with PCBs-as-plates for the modules, and mounting the Electrical components directly to them, I could get away with a minimal amount of manual labour. All I would need do is solder it all together, and I wouldn't need to faff about with a custom 3D-printed-anything, or manually drilling holes, or any of that fun stuff. Just made-to-order goodness.
The Fun Part
I created some crude approximations of some components I found online (mostly AdaFruit, and AliExpress), and imported them into Blender. These will be my playing blocks.
I then designed some rough outlines of the Eurorack rails.
Making frequent comparisons to the sizes of the front face of the modules on the Doepfer website, and the sizes of the PCB on the Intellijel website, I could ensure that whatever component I designed around would fit in the spaces I wanted to put it.
I played around with positioning and sizing of the components, I came up with several sizes of module that fit each of the parts I wanted to use. This is what they look like:
Since I'll be wiring this all up by hand, I only really have to worry about whether there will be enough finger space between each component once it's all assembled. So long as the part fits, I can add more blank spacers between the parts if I find it's all too cramped.