I started working on a vacuum table/box for stenciling PCBs like these ones by unexpectedmaker and marius heier:

youtube.com/watch?v=mEEo1tJj9D
youtube.com/watch?v=5iX61nD94c

The difference (and reason I'm making my own) is that I need mine to be huge (keyboard-sized) and so I want to laser-cut it rather than spend a week printing huge plastic parts.

I started designing in Fusion360 but switched to Cuttle after a while, here's the final parametric design:

cuttle.xyz/@s_ol/Laser-Cut-Vac

Here's the packaging idea that I mentioned a couple days ago - it's working pretty well!

There's one layer not shown here that goes over the top of everything at the end. The middle and top layer both have little spacers glued to it that are made from the cutouts that the other layers have to save material.

I've tried shaking this package as much as I dared and I can't feel the macropad moving at all!

The big package arrived today. This one basically is the end result of the last 2.5 years of work:

A bunch of 0xC.pad kits and an even greater bunch of hex keycaps! These particular 50 kits I'll assemble myself and sell, whereas the other ~350 units will be sold as DIY kits by various vendors that fkcaps organized, both in the EU and US.

Show thread

My plan for filling the gaps and protecting the 0xC.pad is to lasercut two or three layers of cardboard that perfectly fit the box and have cutouts to embed the macropad at the center (lowest layer w/ four cutouts for rubber feet, mid layer with big cutout for macropad, ...) so that nothing can move.

Show thread

random midnight obsession:
what if I had a modular PCB that can be soldered edge-to-edge to make any size Key + LED matrix?

Considering making it 2x4 instead of 4x4.

Caved and wrote a tiny http server to capture form data in json files and support minimal editing/unsubscribing to be able to do things like "receive an update when this project becomes available" or "subscribe to rare newsletter" without involving some third party that shoves tracking into everything.

Submit form is JS-free, but I currently do need JS to reload old values when editing for silly reasons in my mmm framework.

Enough coding, but maybe I'll find time to deploy later

Still trying to make up my mind about how to do the vertical assembly. The current solution is essentially the middle one, but it has two downsides: to remove the back panel, the keycaps have to be removed to access the screws, and with the screws removed the spacers slide out of position and make assembly annoying.

SMT solderable spacers (left) could work but I haven't used them before and wonder if they bring any of their own problems... also not the easiest parts to source.

Here we go - new case attached & second round of keycap samples installed!

These are looking great, it seems likely that there won't be (a need to do) another iteration 🤩

Show thread

Finally added the lanyard hole corner detail I mocked up a while back in Fusion to the cadquery models and made a new wooden plate with that, excited to mount it later!

Also trying threaded inserts now, much better than having to hold the nut while tightening the screw, but still means (some) keycaps need to come off to access the screws on the top.

merveilles.town/@s_ol/10744581

Just realized that putting I2C on the midi keyboard is a heck of a good idea because it also trivially makes more keyboards bus-able. I'll have to re-think the case shape / make an alternative version, but these might end up "stackable" after all!

Did a some scary things today to the second 0x33.board PCB that I populated last week:

1) It came out pretty warped (like the one before) but this time I paid attention before and after and it's pretty clear that it happens during hot air soldering - maybe too hot, but just the uneven piecewise soldering might be the cause.

I tried putting the board in an oven at ~150C supported just from the edges and it actually came out super straight! Surprised and happy.

did some performance optimizations and brought the loop time down from 60ms / 125ms (no change / keys pressed) to 27ms / 36ms 😀

Definitely much more reasonable now. Still not using any custom native code, which is an option in the future. ~12ms fixed are just the HSV to RGB conversions that are happening for each key every frame, that could probably be improved with native code.

Got some new parts in - it's just passives, but it's my first SMT reels!

I spooled some up into the SMT mags to bring to the lab sometime soon and test the new PCB revision :)

One of the reels had this lonely capacitor in the middle of the empty part at the start of the reel... I guess that means they *do* fill that part but then throw those components out so they aren't used? Seems this poor fella clung on

Spent a train ride getting to know the blender animation module enough to render a couple static images for 0xC.pad assembly instructions:

s-ol.nu/0xC.pad (warning: heavy, poorly compressed images. will fix soon)

More MIDI testing. This interface is still behaving strangely (extra garbage messages coming in) but at least the main messages are arriving now 😉

doing some more MIDI testing - still have wrong resistor values in this prototype, so I'm actually *happy* that it's not working well (dropping ~40% of messages). That way when I put in the ones I *think* should be in there and it starts working 100%, I can be pretty certain it's actually done the right way 😉

just laser-cut a new cover plate with countersunk screw heads (so sexy) and a 3d printed diffusor for the mode LED. The diffusor has my avatar image on it, but I still have to fill the "low" spots with black varnish to make it more visible :)

Don't quite have enough keys to fill up the bigger keyboard, but here's the pre-production keys on the left (and the home-machined ones on the right)

Show thread
Show older
Merveilles

Revel in the marvels of the universe. We are a collective of forward-thinking individuals who strive to better ourselves and our surroundings through constant creation. We express ourselves through music, art, games, and writing. We also put great value in play. A warm welcome to any like-minded people who feel these ideals resonate with them.