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 🙂
Some quick steps right now – photos to follow.. Suggest have two tabs open, this one and the other PICTURES tab for reference
Some videos are up on youtube also
SUMMARY- SOLDER PARTS ONLY IN THIS ORDER
Cut one leg shorter on the diodes – Use scissors . About 1-1.5cm is good
bend the short leg side to a right angle
Note the orientation of the diode – The F Key diodes have a diode picture on them. The white bar matches the location of the black bar on the diode.
put diode in holes and bend slightly to lock in
repeat for all diodes
Solder all diodes
clip the excess legs back
you have a few spare diodes so don’t be afraid to experiment on one or two to get the right bend / fit
Probably best to solder these in now before you forget
I’ve found it useful to PLACE the arduino on the headers (DO NOT SOLDER YET) so it keeps the headers parallel
Make sure the black part of the headers is on the underside of the PCB
Solder one pin of each header
SWITCHES – STEP 1, JUST TACKING IN PLACE
Pay attention to orientation
don’t worry about straightening the switches at this stage, the goal is to just ‘tack’ them in with a single solder blob to hold them in place. They can be wonky, it doesn’t matter.
DO NOT SOLDER MORE THAN 1 PIN OF EACH SWITCH IN ONE GO
The switches are easily heat damaged – they become ‘sticky’ and no longer move smoothly if the plastic is melted due to excessive heat. During the entire soldering procedure for the switches, do ONE leg, move to the next switch. when all are done, move back to the first switch and repeat.
I’ve damaged only 2 switches this way soldering the prototypes but it can happen if you’re not careful
Note that the white part of each switch is asymetrical. One side has a ‘dip’ / inset which guides the switch up and down. the other side is smooth
there’s a marking on the PCB to represent this dip / inset.
ALL switches go the same way
Get a sheet of paper
Insert the top row of switches into the PCB
Place PCB on sheet of paper and fold paper over the top, tightly
flip the PCB over
hopefully all the switches stay in place
Solder just ONE leg of each switch – any one – say the top right
Repeat for Row 2
DO NOT FORGET TO SOLDER THE ARDUINO HEADERS IN PLACE
Repeat for Row 3
DO NOT FORGET TO SOLDER THE ARDUINO HEADERS IN PLACE
Repeat for for row 4
(Hopefully you didn’t forget to solder the Arduino headers in place?)
and finally the space bar
SWITCHES – STEP 2, Straightening
This is probably the most important step to getting a good looking keyboard with all the switches aligned. Spend some time getting this right, you have a handful of ‘spare’ switches so now’s the time to make mistakes and fix them whilst there’s only a single solder blob on them
I’ll post a few videos shortly but there’s a technique.
Hold the board in the air
Use your index finger to push in, and slightly down on each switch whilst soldering the previous blob. The goal is to move the whole switch slightly so that it’s slightly at the top, or the bottom of its footprint.
when you melt the solder whilst pushing in and down, the switch will move slightly, sometimes you’ll hear a little click or snap as the solder melts
repeat this for each switch, pushing in and down slightly – when you look at the final position, there’ll be some of the pad visible at the top of each switch
NOW IS THE TIME TO TEST EACH SWITCH FOR SMOOTH MOVEMENT
of the 5 keyboards i’ve soldered, I’ve had two defective switches, this is partly the reason why there’s a few extras in the kit
of the 5 keyboards i’ve soldered, I’ve broken 3 switches by either over-heating, or trying to remove after putting them in backwards. unless you’ve got a hot air gun, they’re tricky to remove intact, hence check NOW whilst there’s only one solder blob!
When you get close to one side of the keyboard, you’ll have to fiddle a bit to keep pushing the switches in the same direction. I’ve found that changing technique a little and ‘flip’ the board lengthwise works. hold the board against yourself and use your thumb to pull the switch down instead of push
repeat the alignment technique for ALL switches!
SWITCHES – STEP 3, Final soldering
This is the easy / relaxing bit!
DO NOT SOLDER MORE THAN ONE LEG OF EACH SWITCH AT A TIME
do it by rows, clusters, however works for you, but here’s what worked for me
Solder ONE pad of each switch, then move to the next
once all switches are done, start from the beginning
Solder another pad, etc etc
A SMALL CHEAT – You only actually need to solder 3 points. Two on the ‘bottom’ of the switch – these are the electrical contacts. ONE on the ‘top’ – this is for mechanical stability. As you look at the keyboard, the bottom two pins are the important electrical ones. Pick any on the top
on my prototype, I found soldering all 6 pins tiring, so on my second version I just soldered 3 and it worked perfect. Up to you, but DONT SOLDER MORE THAN 1 PIN AT A TIME
Note the orientation of the Arduino by the Small USB socket and a mark on the PCB. Also the silk screen on the PCB will match the letters on the Arduino.
these need a little more heat to solder to the pins
BEFORE this point (or, worst case, at this point) I’d highly recommend you clean the keyboard thoroughly and go, purchase some clearcote / clear lacquer. I haven’t done it yet but will be spraying my next keyboard to get some longevity on the text and paint……...
The mould’s quite bubbly and not really useful for much other than being a support…But, if done with more care – who knows!, Maybe C64Mini Chocolate keyboards?
Next step, Power Tools!
Still not entirely sure if it’s even possible to quickly and repeatedly butcher the C64Mini’s keyboard reliably with good quality.
For doing your own / one off’s, this step, you can take as long as you want. if you plan on doing a few though, taking a day or two individually dremmeling out the keys isn’t my idea of fun.
I do have a CNC – so, worst case I’ll have to learn how to actually use it, then I’d just need to make a protective jig, sit the keyboard on and just CNC the keys out. I’m not really in the mood to spend a few weekends firing that workflow up yet
The Angle grinder wasn’t really a success…..The blade’s too small and the sanding is going to be too uneven. There’s no way this will work .
Ok, first thoughts, it seems to work, abeit slowly and with making my hand a bit sore….
At this point, I figured if I use something soft and large, I could hold the keyboard in place and sand it without hurting my hands so much…..
Puzzled over this one for quite a while till I looked down……..
Found an incredibly inefficient lawn cutting method! – Orbital sanding
Seems to have done the trick!…Pressing down into the grass holds the keyboard in place and also helps resist the vibration of the sander, making it sand more efficiently…………Win Win….Also i’ll patent pend using oribital sanders for domestic grass management.
I moved to another bit of the lawn to avoid totally destroying a good bit of the grass…….I found that sanding till you can see the blacks of its eyes…….the lines between the keys seems to work well. At this step, you’ll want to remove as much material as possible to avoid so much processing / sanding later on
Do resist the urge to twist / remove the keys, try to let them come out almost by themselves
At this point I’d realised that an average household lawn is actually quite abrasive..Have a look at the whiteness of the edges of the keys!
Oops! – ah well, this is why i’m experimenting, so you don’t have to. I’m going to run with the theme though -these keys look a bit battle worn now, no going back so i’ll probably add a similar theme to my C64mini case 🙂 will be good to relive the old days of creating scenery and my Warhammer 40,000 airbrushing . never really did play it, just enjoyed hacking up the plastics……..Anyways…
Keep sanding, get as much material off as you can (it will save a LOT of time later)
Once you’ve got them all separated, make sure to lay them all out in order so you can admire all the keyboardy keycappy goodness that’s resulted from the dismemberment of an innocent miniature recreation of an 80’s 8 bit home computer.
Now, go spending several hours in the garden trying to find the most commonly used letter in the English alphabet!
I’d neglected to factor in the ability of these tiny keycaps to fling themselves a considerable distance in various directions whilst being vibrated several hundred times per second.
Suffice to say, if you’re doing the same thing, try to do it in a location where the floors relatively clean and uncluttered
A colourblind person trying to find a brown keycap in a green lawn that’s not too long, but just long enough to expose the also brown ground beneath……..Yeah, not fun.
After an HOUR of searching though………………..Eeeeeeee….A full keyboard
Next step – post processing. Removing supports.
This step i’d say is the most important. Sand down a bit the bottom and curves of each key. Get rid of all the burrs, bits, etc. you won’t get much of a chance to do this once they’re stuck. Spend a lot of time on this, cleaning each key, just getting it ‘right’
Once your keys are all looking great and sanded, smooth – arrange them again into a the keyboard layout. Then, one by one, transfer them into the mould.
you’ll wanna make sure you get this part right 😛
I did them line by line, starting left to right. I also had taken a picture of the keyboard prior to refer to. Check twice, place once……………
Now i’ve realised that I haven’t actually considered how to stick these things in! – i’ll need to go research glue, D’oh! gotta pause this for another week of research and buying bits
Did an attempt at a jig to make hacking up your own keyboard just a little easier….
it’s fairly easy to hack up the existing keyboard into bits….(get hacky thingy, cutty thingy, hack, cut…maybe smooth off burrs if you’re feeling artsy)
Getting the brand new hacked up bits of plastic that once looked like a keyboard to sit straight on the switches and resemble the previous keyboard resemblance …..not so much.
Turns out that making things ‘straight’ is hard……..so, some ideas
3D design and print new keycaps with locking mechanisms that work with my chosen keyswitches (still onging, it’s been MONTHS of work)
My first other idea…….. create a form to fill with plaster of paris, press the plastic full keyboard into that form, leave to set…
Remove keyboard and admire a perfect negative image of the keyboard.
Two things that could be done with this
Use that plaster of paris as a form to create resin keycaps (without any lettering) – I’m working on that!
second – it can be used as a perfect ‘form’ to sit the newly butchered keycaps in, fill with epoxy glue, sit keyboard PCB on top and let the keycaps become glued on, all nice and straight like!
it’s fairly easy to export the keyboard PCB outline from EasyEDA as a DXF then import to Fusion, extrude and…voila!
But…There’s an ever so tiny mistake in the image above
That’s the printed version…The holes line up great!
Yeah, the keyboard should be face down!, D’oh!
i’ll see if the snips’ll work
The other thing….
Fits like a glove….
Nice and snug – Note the top row of keys is level…..
Some small design work needed but the idea has promise!. I just need to re-jig the hole widths a little to accommodate the angle of the keyboard better!
I’ve purchased another couple of C64 Minis so that I can improve this jig more. I’m not quite certain where the keys will ‘fall’ once they’re seperated from the base of the plastic moulding.
The more I think about it, i’m thinking that there could be a shedload more work in this jig – one ‘saving grace’ though – due to the way injection moulding works – there’s a slight taper on the existing fake switches. And, I suspect that the rear of them has been modded so that they’re almost perpendicular to the base. this will help the whole mould ‘pop off’ the injection machine…
That also helps me with this jig as it really means that, at the base of the keys, all the keys seem to have the same uniform rear rising, almost perpendicular taper and front curving taper. kinda like the below diagram
That could turn the whole change into just re-extruding the jig key holes at the 8 degree angle of the keyboard as above……..
My Kids hate me, my wife’s lonely but the march towards C64-Mini Keyboard workery continues – That and they let me have a few hours to tinker on the weekend!
Figured whilst assembling the new boards, I’d see just how long it takes to solder them….
Quite a while as it turns out
1/2 hour to solder in 65 through hole diodes
1 hour to solder 67 switches
another 1/2 hour testing and programming
So, about all up, we’re probably talking 2.5 hours for me to fully assemble one of these…….
Except, that 1/2 hour of testing and programming actually turned into a 5 hour ‘session’ of bug fixing / fault finding – one of which…..
A back to front key causing lots of characters to repeat accross the screen…..M, Space – which are both on the same column of the matrix too!
Fixed that and have discovered that it’s not really possible to re-use the switches once you’ve soldered them in – UNLESS you use a hot air gun to remove them. I’ll definitley include a few ‘spares’ in each kit
The next problem – A sticky, grindy P key – I lifted a pad removing it , fortunately, the pad wasn’t electrically connected – only 2 actually are – which will save you some time! – just solder 3 holes for each switch – that’s 201 solder connections for switches instead of 402!
The next problem…the Fantastic QMK Just refused to work and compile 😦
Kept getting “qmk avrdude.exe: butterfly_recv(): programmer is not responding” the thing just wouldn’t work over USB like the others had
which turned out to be a couple of things.
You can’t use AVRDude when the Arduino IDE is open…
Arduino Leonardo type devices (well, the clones anyway) can be a bit finiky with the USB…
Generally sending them a ‘blink’ sketch does the job…BUT, they very often need a quick ‘double tap’ reset pin to ground whilst uploading……..that’s why I have a RESET header on this board – if you want to solder one in, feel free, it’s mainly to help me when developing it.
Another issue was the frequency setting in the rules.mk file – I’d previously used a 5V Arduino pro Micro (Atmega 32u4) , somehow a 3.3v one had snuck into my spares box – these run at 8MHz, not 16MHz
Changed the firmware, recompiled and……..It’s alive!
Straight!, got the technique sorted – Note the two that are slightly ‘off’ to demonstrate what happens when you change the way you ‘hold’ the switches when flipping the PCB to solder
The case fits the keyboard like a glove!
Also got a bit of a chance to progress with the CAD……
This one day may turn out to look like pretty rough keycaps! mini ones! for a mini computer!
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
After a few days, I’ve now got something workable – The switches being Thru-hole allow ease of routing on both the top and the bottom layers. I’ve named each switch and diode with the keyboard’s actual Symbol to make placing them on the PCB much easier. you’re seeing the results of a few days work (maybe about 4 hours all up) of starting from scratch on the design.
Next step will be aligning the PCB layout and spacing with the plastic buttons
I’ve done what I can based upon rough assumptions above – the top row of switches for example – its row of buttons ‘just’ fits within my calipers – so it’s about 151mm wide