A quick pictorial ! on the process of creating keycaps.
I’ve missed out a few pictures, but this covers the basics. Using a timer, it’s around half hour all-up per keyboard. Sometimes a little more if a print fails!
Tried to make a ‘GOLD’ keyboard but need to research a little on how to keep the particles suspended. This one failed due to too much gold. It all sunk to the bottom causing layers to become underexposed and ultimately sticking to the FEP
Also tried to make a crystal clear keyboard…unfortunately I topped up the vat with a tiny bit of the gold mix from a poorly labelled bottle I use f or mixing (I didn’t write any label!) I’ll give these away with a kit to the first person that asks 🙂
Quite late into development, I’d realised that the F keys were supposed to be a different colour. So, I add two sets of F keys to kits. Some early ones went out without the extras. Happy to send some out if you shout.
Was just about to order another 4000 switches and take the hit…Decided to check the tracking number and FINALLY, after a month in Limbo, the switches have been released from Liege, the infamously slow sorting centre in Brussels.
SO, should be here next week and i can Finally get sending kits out!
Sorry again about the delays, I’ve now bought excessive stock so, should be able to turn around things quite quickly.
also built up a little stock of the keycaps which can be included in the kits at no additional postage cost
Happy chappy this morning. They finished printing last night, my draining widget worked a treat – I’ll put a quick GIF up soon.
But, forgot about them until a mad panic at close to 1AM remembering I’d left them on the printer. With these, you can’t as the resin in the concave surfaces will part set in the morning and cause an uneven surface.
So, quickly washed them in IPA, regretted it immediately as it was dirty. Did another wash in IPA to clean the resin and straight to the hot water tap and larger bowl with a brush to clean off the bits. I’ll strain out the bowl later.
Final tweak needed now is the amount of grip to the switches themselves, shrinkage is variable at the moment, can’t go too small or keycaps may break when putting on, can’t go too big or they’ll be too wobbly and fall off.
May need to go middle ground and require a tiny blob of something sticky in each keycap, I’ll know soon enough!
Has some successes with varying mixes of pigments! Wifey demanded I do a bronze one.
Fine adjustments needed only now and it’ll be a wrap.
….problem is, fine adjustments’ll probably take another 80% of the total :-p
Now, gotta figure out how to get Arduinos quickly as 50 wrong ones just turned up and due to Chinese New Year my expedited (expensive) DHL delivery won’t leave for a couple of weeks, D’oh! Best laid plans….
Well, final furlong for the 3D printing part anyway! Next step, investigating colouring in
Couple of successful prints! Rev 6 – just binging in stuff and hoping it works.
Rev 7 – more scientific and better CAD – all letters are now 0.2mm wider and deeper. This tiny tweak shows spectacularly well just how big a difference small changes can make.
Still some more CAD to do but soo close to final now!
And, finally, the print itself. I’ve learned that supports are critical here. Lots of them!
There’s actually as much material here in the supports as there is in the keycaps, but if you scrimp a little and try to reduce the amount, check out the top left of the picture below. I lost the return key and a few smaller keys were taken with it.
This was a calculated ‘risk’ by leaving this section to just have the standard auto generated supports, every other area had super dense supports.
There will be a middle ground, which I’m working on as I’d like to offer these cheaply…less resin used = cheaper to make!
Also, note the rest of the supports. THey are SO EASY to remove. When I offer these keycaps for sale, again to reduce cost, I’ll probably leave them as you see here. Makes for more robust packing and if you decide to paint them, you already have them held down on a convenient stand!
If that prints, I can try adding black pigment to make it darker brown.
If it doesn’t, I can try using a CMYK mix of colours to make the correct Brown
Once I get that shade, I can try different resin bases to see what gives the best finish! Maybe clear + brown or white +CMYK will do the job!
I’ll be iterating the CAD model and the colouring at the same time!
Hopefully this new CAD model will fix the minor offset issues with the keyboard, shifting all the keys slightly to the right also allowing me to finally reveal a working test fit!
One small thing I picked up when test fitting my first attempt, I’d not perfectly centred the left shift key button and Return buttons on the PCB. It doesn’t matter in the grand scheme of things as hacking your own keycaps doesn’t need perfect alignment on the wider keys, only the 1 wide keys
Where it is annoying though is I can’t correct this error or any keycaps I make now won’t perfectly align on old keyboards! Heh, what’s 1/2mm between friends eh!
Most people would say this was caused by an over excited person, whom, upon waking early and discovering the complete print decided to not follow the correct drying / washing procedures in order to get it finished quickly!
I, err, disagree…
Either way, I now have a firm grasp of changes needed to the CAD model and also the supports needed in the slicer.
Those changes are fairly substantial, so I expect it’ll be a little while for my next update, happy to document them also if anyone’s interested.
After quite some nervous trepidation, I finally shoved some resin into the printer and achieved my first ever resin print.
And, amazingly, some stuff worked! Significantly more than I’d expected to work actually.
I’ve been quite ‘scared’ of actually starting a print, I‘ve read too much about toxicity and fumes, which aren’t things you want with two young kids.
Well, I spent a couple of hours doing some final reading, and setting up on the dining room table. Levelled the bed, levelled it again. Shoved in the resin and…a Spectacular success for me!
I know the print failed mainly due to poor supports, some text is also too fine. Both were concerns with the cad and the slicer and easily fixed 🙂 there’s probably a dozen other issues I’ve not found yet also (it’s been 30 minutes since I wash and cured them fresh off the printer)
Next step, iterating, optimising . It could be done in a few weeks at print 3, it could be print 10 and take a few months , but now I’m over the first hurdle, onwards and upwards!!
It’s going to be a while yet, but I’ve finally fixed some long standing issues with the keyboard model i’ve been building in Fusion360
The main issue was a badly created model!. I’ve junked quite a lot and started back prior to when some odd dependencies crept in and really put some roadblocks on scaling things correctly and adding finishing touches.
But, it’s been worth it
That previous picture is the underside of the Keyboard – Those holes in the keys are 2.2 x 2.8 holes. it’s a first run at fitting the key switches into the keycaps. a lot more iteration needed to hollow it out a little and create some form of inbuilt snap-fit with stress relief, but…it’s a start!
The silver / grey keys over on the left are the ‘parent’ keys
If I make an update to the curves or size of a parent key – it rolls out to all the same sized keys in its row
if I need to iterate the hole size for the key switches, I simply change a few parameters for the hole size and it rolls out to all the keys in one go.
I’ve taken so long to develop it parametrically as it’ll now be so much quicker to iterate
and, here’s a new render!……..going to spend the next few weeks iterating, and hopefully over Christmas , fire up the resin 3D printer for the first time!
A very talented Hans Liss from the Facebook group – TheC64 Mini has make a perfect assembled kit.
Drool over the photos below
Note the extras like the hacked up USB hub to make it slimline
The Extra UART connector that he’s added, and the nigh on perfect Keybaord keycap butchery!
Hans also helped by pointing out a few errors i’ve made with the original firmware sent out with the kits. I spent a couple of weeks figuring out how to fix it and have a new HEX file for those that want it.
There’s still some ‘not quite exactly commodore’ quirkery happening – which i’m working on, but i’ll bet that 99% of you won’t be able to figure it out. I’ve only found out due to Hans’s extensive knowledge of the C64 inner workings and also me, downloading the original user manual for the Commodore 64.
A funny story about multi sourcing components and the importance of testing before shipping!
I used a supplier on Aliexpress to purchase a few thousand switches in a few orders over a few months but their prices went up quite drastically after the last order (doubled!!) they weren’t the cheapest to start with but were reliable and friendly, worth the extra ££
I found another supplier who did a good deal for a full bag of 4000! Ordered them and waited, very quick delivery and friendly also (will buy again!)
I built my first test new keyboard with the new PCB and switches
It didn’t work. Well, actually, it did! Work perfectly…but in reverse :-p …..
If you mashed every key simultaneously then only released the key you want to press….it worked!! Yeah, the supplier sent me 4000 ‘inverted’ switches! My fault for not checking prior to ordering, they ‘look the same’ so ‘must be the same’ was a wrong assumption on my part! (At least they all weren’t the shift lock type!!)
It’s a VERY easy fix though (found after several panicked hours of testing and building Keyboards)…rotate the switch 180 degrees and it’s perfect!
In each kit I’ve included a small errata note and list of basic instructions to help. It’s an annoyance but for you guys it really just means the silk screen doesn’t quite match the switch orientation so just ask first. Look at the pictures and of any doubt, email/messenger/twitter/Reddit me 🙂
It’s taking way too long, but I think I now have the lettering ‘just right’ – at least on the screen.
This was printed a bit too hastily at 0.08mm layer height on an Ender 3 printer. I’d used a brand new roll of untested filament and didn’t bother changing any settings. – it’s dimensionally ‘spot on’..
I’ve purchased a 0.2mm nozzle for my next trial , it’ll take ages but i’m hoping that those fine details on the characters come out a little better.
Why it’s taking so long……..
I’m learning as I go. I’m ‘tracing’ letters i’m finding on the net, creating them as a new sketch along the whole rows. There’s 4 differently angled rows so each needs to be extruded in a different direction to ‘cut’ the key.
This first run matches the C64 keyboard font as close as I can get. I’ll then ‘archive’ this layout for future use and create a second ‘3D print’ version.
This version will forgo the accuracy of the font and make features much wider, more rounded to allow the characters to come out better once 3D printed. The complex ones like ‘run stop’ won’t ever come out great on a standard filament printer, but the letters already come out pretty good…that’s a win for me!
The full keyboard is above – and you can see part of one of the adaptors i’m designing to click them onto the keyswitches. each keycap is hollow. that small grey part will sit inside the keycap
And finally – part of what’s taking so long.
Each key/character is taking on average about 1/2 an hour to an hour to design. Lets say 45 minutes.
65 keys to label
That’s a LOT of minutes…and i’m only getting an hour or two every few nights – a good solid weekend ‘free’ would be great and have this sorted.
On top of that labelling (which is now finished) I have to try to make each letter more legible and easier to 3D print. Generally that means ‘bevels’ everywhere – you can see above that i’ve done ‘Run Stop’ and ‘Shift Lock’ but SHIFT is still to do….it’s not as easy either as ‘copy, paste’ the Shift from Shift lock – that’s a different sized font on a different sketch plane.
Just one example of the issues I’m seeing…The Letter B
The Letter B above has an issue with the geometry – just by the 0.1 – there’s a part internally up towards the arrow that shouldn’t be there – that’ll could play havoc with a slicer when set to really small layer heights
But, the Fillet also creates a zero thickness surface which looks unsightly and will probably cause issues if I don’t correct it now
So, Back to the sketch
As you can see, i’ve kept the characters with few (if any) constraints. this way has been easier to freehand and eyeball as I can drag stuff around till it looks right by ‘locking and unlocking’ lines. most constraints used to create right angles, etc have been removed after to help with the process of making it 3D
Anyways, the ‘issue’ with the fillet seems to be around the place where the two control point splines meet – i’ve highlighted one in blue above.
I re-coincide each spline (have found deleting and un-deleting works, as well as hitting coincident )
That change should hopefully roll back up the timeline to allow me to make the fillet work.
To Create the key lettering I the character by 1mm elsewhere in my workspace, then move it to over the key.
Then extrude the face of the character into the key and ‘cut’ ….
this may seem odd, but it’s a really quick and easy way of consistently creating cutouts on a row of keys and making quick changes later.
That didn’t work, so, jump into surface mode – delete the entire inner arc of the B. Re-create the arc as a ‘patch’. Stitch together the lower part of the B. Then stich the whole keycap, then re-apply fillet and…..Voila…..3/4 an hour later, one filleted B…And a learned workflow if the same thing happens on another key!
Note, as-is, the keyboard fonts are a bit innacurate. I’ve sized everything based upon the smallest characters that need to fit – i.e. run stop, etc. The individual letters could be bigger – but any bigger and they’d look too big compared to those……….
DFM – Design for manufacture.
Just because you design a 3x2mm hole, doesn’t mean it’ll print at 3×2. Generally Filament printers do outer perimeters a little larger, inner perimeters a little smaller. The first few tests i’ve done now prove this. so, After a few months of ‘out of the box working’ on my Ender, I’ve finally gotta bite the bullet and calibrate it. The plan is to create an offset in the CAD file so that I still design the holes accurately based on measurement, BUT, can add a accurate ‘calibration figure’ Fudge figure to make them a little larger or smaller as necessary.
Right now my Printer is doing slightly oval prints – which should be easy enough to sort out if my D9 Adventures were anything to go by
Now waiting on enough Arduino Pro micros and switches to start making kits up!
Each DIY kit will probably contain the following – i’ll firm up with pictures once i’m done test populating a rev2 board
70 Standard switches
70 Diodes – Through hole (possible SMT option also depending on price)
1 USB Hub
1 PCB – Rev 2 or later
1 USB cable
two small pieces of heatshrink tubing
a couple of pieces of wire
1 Arduino Pro micro – Pre-programmed with QMK firmware and custom Keymaps
a set of FDM – Filament printed keyswitches – These probably won’t be ‘perfect’ so i’ll be chucking them in as effective freebies as I won’t be releasing the keycaps as a digital file.
About that last part – I’ve spent countless hours on creating these keycaps, and still have more to go. I’ll eventually release them as a Digital file, but for now, you’ll be able to at least use the freebies to see if new keycaps are for you.
If you wanted a professionally printed set, i’ll be arranging something with a printing bureau somehow… It’s also likely i’ll be able to source reasonably costed SLA resin prints of these…watch this space
And for the money shots…….I’ve finished the top row of key text!
Now I’ve gotten the first row done, the next three should be significantly quicker.
The text is recessed into the key by about 0.4-0.6mm – between 2 and 6 layers of 3D print, not really enough to be clearly felt – but enough to be ‘seen’
After that, there’s the optimisation for printing – Filleting the edges – trialling depths and generally finding out what actually works, looks and feels good