First working keyboard keycaps are off the printer! Only this bit to show as most of the print failed 😛
Well,, 3 prints failed, I’m trying to learn how to use my Photon Mono-X, so far mostly unsuccessfully, these were printed using a known good combination of Photon Mono and Commodore Brown resin 🙂 ….and still it partly failed!!
Next, I have to optimise the design for printing. I’d added some features to make them work better, but, those features don’t translate to printing very well, D’oh! (That’s called not doing Design For Manufacture!).
Resin printing can be a hard beast to tame, especially when printing 94/98 individual items (98 if I can two keyboard types!!)
This first print is literally an ‘auto supports, Jab a few extras on, hope for the best’ quick test to prove the mechanics. When the design is finished, I’ll need to spend a couple of solid DAYS (maybe a weeks worth of evenings) adding thousands of supports MANUALLY to ensure every keycap comes off the print perfect!
That sounds a lot, but printing a single item is different than printing the same item hundreds of times, so it’s really worth the up front investment in time.
And, speaking of time, I’ve just clocked about 600 hours evenings and weekends, on this project now 😛
I’m rather happy otherwise, next week, I should have a full working keybaord to demonstrate 🙂
Along the way, I’ve been tweaking some other bits – The Real miniature fake USB Floppy disc is progressing nicely
I’m on the second design of the 3D Printed insert, this will hold the USB PCB and also be the interface and guide rails for the floppy.
I’ve also received my memory solution for the discs, it fits superbly! – it can be seen in the badly printed / broken green area. The dimensions are exactly the same as the 3D print i’ve put in
I’ve also purchased some silver brushed effect sticky foil so I can re-create that beloved silver cover….and even have created the label ready to cut out on my dusty KNK ZING vinyl cutter thingy. Hopefully I can make the adhesive sticky enough!
I’ve also started stocking up on Printer resin, ordered a load of sample parts from Aliexpress, test fitted PCB’s…..started on box design, started tweaking firmware, there’s dozens of tasks to do!
Quite a lot of progress, but it doesn’t look like a lot of progress.
Firstly, I’ve had to re-do most of the keyboard CAD – I simply didn’t like the ‘blocky’ effect of the wider topped keycaps I’d created – as you can see below they look a lot more square in real life than they did in CAD…
I’ve now clocked well over 200 hours developing this set of keycaps, likley there’s going to be tens more tweaking / optimising!
So, along with the less blocky (more slopey) keys, I’d discovered my workflow in CAD had created tapered keys – the tops when viewed from above look like parallelograms, wheras the original Amiga had more square keys – it was quite a lot of work to alter this – see the parts below by the red arrows – the bottom bit is in towards the middle more than the top bit.
Have been tweaking things over and over, I’m now finally ready to…….
I think there’s going to be a few people out there actually using this keyboard in anger, so i’ve widened the keyswitch tops a little and added larger fonts to make it easier for someone to fill in some colour if they chose to do so.
Some other progress –
The Floppy Disc insert! – a FULL scale floppy disc fits well
I’ve refined the floppy disc insert thingy – I really think I can make this work – lots of parts on order so i’ll iterate this design over the coming weeks. I’ll do the first prints of the plug in module soon
Speaking of prints….
I knocked up a few of the mini-Floppies. Printed in various orientations to see if it’s even possible to do these. The best print is the angled one..Turns out, it’s going to be tricky as can be seen from the various failures above. Have re-designed a little and will run off some more sample prints soon. The supports on this one will be critical and hopefully not so wasteful as the C64mini keycaps were.
And, almost finally –
Here’s a collection of ‘stuff’ rendered so far. The Keyboard PCB is unfortunatley upside down – due to the way I started modelling stuff, no big deal but makes the renders look odd. The case slopes don’t need to be modelled (at this time) so i’ve just left them flat for now.
There’s loads of parts waiting to arrive in the post, but there’s also loads I can be getting on with, not just on this project, but on numerous others also!
I’ve spent a couple of days designing, and and a today, spent nearly a hundred quid at JLCPCB ordering a bunch of prototypes
I had to bite the bullet and spend some money as I now need to move on with the Keycap CAD. I have a big concern about the fitting of the printed keycaps onto the smaller switches. I’ve gone with ALPS switches as they used to be a huge brand name back in the day and i’m hoping should provide some consitency.
The prototypes will help also to test and develop the PRK Firmware i’m planning to use.
The ‘Clamp’ adaptor is fairly non-functional. It has a Rasperry Pi Pico footprint onboard and a 40 pin FPC style connector to act as a ‘stand-in’ for the Raspberry pi Pico which is currently on the back of the main PCB.
The whole idea of the ‘clamp board’ is to allow an ‘ease’ of installation – I’ll use some Pogo Pins to sit on the test pads by the 3 USB sockets on the back of the A500 Main board.
The plan is to have a basic matrix keyboard PCB, which connects to the clamp board via the 40 pin FPC.
The clamp then accesses the USB and hopefully it can all be fairly easy to assemble.
I’m also testing the Fake floppy connection with the clamp board – no idea if that’ll work or not, we’ll see.
Now the long-ish wait for Aliexpress to deliver my connectors, pogo pins, and a couple of weeks for the Cheapest post option of JLCPCB to ship the assembled keyboard! – nearly 100 switches and diodes on this one, those can be automated in assembly. I’ll need to hand solder on the rear the FPC connector but those are easy enough!
Progress to date has been surprisingly quick – most of the ‘easy’ stuff is now done and I’ve added some extra functionality. Most of the research is now done – have spent waaaaay too long googling connectors, Pogo pins and component types / dimensions.
My workflow generally is to eyeball, sketch, measure, adjust….Then when it’s close enough, i’ll print on paper, adjust in CAD, print again then………3D print
I’m quite chuffed – the first 3D print seems to fit reasonably well! – there’s some adjustments needed, mainly the top of the keycaps are a little too wide, but overall for a first run, not bad.
To work out a PCB outline, I’ve scanned the A500 Mini on a flatbed scanner and trace around the important parts, measuring many with calipers
Before I 3D printed the sample, I put the A500Mini on a flatbed scanner to match up the holes – as you can see, it’s pretty darn close! – you’re seeing a canvas underneath the actual CAD model of the keycaps in Fusion. The Enter key is black as i’d discovered a slight profile error, so spent half hour correcting a 0.2mm height error 😛
During the design phase, there’s a process of discovery. My main discovery for the A500Mini keyboard was that….I’d possibly need TWO PCB’s!!
If you look above at the underside of the keyboard you’ll see that there’s no space on the top for electronic components! The PCB needs to mount entirely flush to the case of the Mini. This means I’d need a PCB assembly service that can handle double sided boards (a possibility) – And to also consider a two PCB solution. There’s cost and ease of install considerations for both ways.
The A500Mini has a number of test points on the back, I think using Pogo Pins I can maybe make a clip-on PCB that can securely tap off the USB test points, meaning, a solderless install! – hence the upper white PCB that sits in place of the A500 PCB above
And, now I believe I’m going to go with a THREE PCB solution…….because…
the one with the holes in sits above the stock PCB
I figured I’d go one better and make a REAL fake floppy disc. and, the best thing, after several solid days of research and CAD testing, I believe it can work 🙂 – it’ll only need two small cuts inside the A500 case and be totally stock outside. there’s a little more tweaking needed for the floppy disc design to make the MicroSD slot more elegant . I’ve ordered a whole bunch of parts to physically trial this and see if it’s viable.
So, Summary. Still a long way to go, the Keyboard itself is the priority here, the ‘floppy disc’ is just a whimsy on my part for the time being, its development is secondary and may not even make it to a real release if it’s not robust enough.
Keycap CAD – Cosmetics finished, Just needs the ‘switch’ solution figured out
Main PCB – Outline finished, needs routing, quick job to finish
I received yesterday my A500 Mini! – Haven’t even powered it up yet 😛
My assumption about the 43ish percent scale was about right – and the work i’ve done so far on the PCB pretty much stays the same – which is a relief.
However, till now i’ve been using a full sized Amiga 500 to infer dimensions. I can’t easily do that going forward as the scaling factor for the Amiga is ‘a bit weird’ – I think I can see why it’s been done, but, it’s far far easier to re-start the CAD from new…or at least shift the fusion timeline back to the beginning and see what i can recover 🙂
Much more to do, will update later as there’s also a few ‘gotcha’s i’ve found, and a few ‘woo’ moments also!
Had a major ‘procrastination’ research binge over this past week, trying to figure out just how I could cheaply and reliably get 3D printed keycaps onto tiny switches.
I’ve found I think two ways that can be successful.
The first – a small tactile switch, with an ‘oval’ or keyed button. The A500mini’s keys are probably just over 7mm square, I can’t use the 6mm switches i’ve previously used as there’s not enough space.
Something like the below could do the job – it has a slightly tapered switching bit in the middle, so I can do push fit keycaps that should grip on. it’s also 5mm on a side, and 3mm on the other, this frees a huge amount of PCB space up, BUT, it’s still quite ‘large’ and the top isn’t tapered as much as i’d like. visually it looks fine, but datasheet suggests it’s straight
There’s also an older, more ‘retro’ type of approach. So, i’ve gone and knocked up a very rough CAD drawing – it’s innacurate, until I get an actual A500Mini in my hands…
and i’ve gone and emailed half a dozen companies to request some MOQ’s. and some pricing!. I’ll fill this in later with more specifics
So, that means getting firmware working should be a breeze.
There’s becoming quite a few ‘RP2040’ public circuits available now, so that part’s done and dusted on my PCB, all i’m really waiting for is to get some accurate measurements so I can knock up a prototype!
after a good half hour of searching for the Amiga Key font, including various terms like “lop sided font”, “font with one side thicker than the other”, “fonts that look like broadway, “broadway serif” and even google image search for
I finally found the correct font with a quick search for “font used for Amiga key”
Another small update! – I think i’ve cracked the basic model of the keyboard.
To get this far has taken dozens of hours of interweb sleuthing and watching youtube videos to watch how the light reflects of genuine amiga keboards to see how i can capture the curves of the keys.
Most keys seem to be a very simple U shaped dip from the edges of the keys! the dip is always the same depth, so the wider the key, the smoother the dip!
Two different keys were the Space bar – this has a slightl raised curve at the top ratther than a ‘dip’
and the Enter key – which has a more complex bowl like dip in, that key probaly took the longest to figure out but the top is essentially is two U shaped dips, one for the top of the key, one for the bottom. I’ll go into more detail in a future post
For now, this is accurate enough for me to be able to develop the font to embed in the keys! I’ve made the model reasonably parametric so I can change things around a little to match the exact key spacing of the mini once I receive it. At this scale, i’ll have the same 0.5mm clearance between keys as I had on the C64 mini, though I plan to increase it a little more in the final product.
Not much of an update, just a couple of pictures to show i’m still slowly tinkering.
The keys do seem much easier to model as they’re less curvy. there’s only a top ‘dip’ in one plane which is easily extruded into the keys using circles that are varying radius’s to give a 0.9mm ‘dip’ in the top of the key. that dip will be much less prominent when the whole thing is shrunk 50%, but I like to try to be reasonably accurate.
First Proper scale PCB layout for the A500 Mini. it mostly looks like it’ll work – BUT, there’s some problems.
I’ve highlighted the problematic switches with white blocks
The Problem – Having switches at 0 degrees or 90 degrees means at some point, due to the staggered keyboard, some will overlap. I’ve spent a few hours optimising the rotation of the switches to reduce the number of overlaps to a minimum, AND, to give all those overlaps a common ‘thing’ that possibly provides one way of easily fixing this.
I’ve made it so that Every ‘overlapping’ switch has the bottom left pad causing the overlap. This means, with the right switch type, I can simply cut off this leg for each of the 8 problematic switches and have the keyboard work just fine!
In Most SMT switches this size, there’s 4 legs, but often only 2 are used, (single pole) or sometimes there’s 2 separate switches inside (double pole). provided I use the correct two pins, they should just work fine with 3 legs soldered in. This isn’t exactly an industrially abused keyboard, so 3 legs is plenty of mechanical support.
BUT – I’m unsure if I could ever convince a PCB assembly house to cut a leg off the switches and solder them at a reasonable price, meaning that I may need to solder these 8 manually myself.
There’s a potential other fix also – Rotating the switches at ‘odd’ angles!
If you squint closely, there’s now no overlapping pads on the switches, However, this comes with potential issues
1 – Manufacturing, companies may not want, or be able to put switches on the PCB at arbitary angles like this
2 -Available space within the A500 Mini is currently unknown, which may not give me enough height to be able to do this.
Physically, a 6mm switch, placed at 45 degrees ‘just’ fits within the available 9mm envelope for each 50% scale switch
What this means –
If I rotate the switch, I will not be able to have a recess on the keycaps. On the C64Mini, to keep the keyboard profile height correct, the switches sit about 1.5mm into the keycaps when pressed down. Without this recess, the new keys may need to sit higher than they should. But, this depends on how much space is available underneath the fake keyboard in the mini – it should be possible to add some spacers in to bring the height back down.
So, The big summary is, Right now, there’s no roadblocks to making this work. a Fully automated production is preferable to bring costs down, so i’ll keep working down that route.
Things to do –
Contact PCB manufacturers to figure out manufacturability
Early days – Square keycaps to create a layout grid in EasyEDA
Little bit of progress now – Thanks to this superb thread – and some other random pictures, I’ve gotten fairly close dimensions to a proper Amiga500. Same old story, Mine’s down my parent’s in Wales and I procrastinate over picking it up , so waste too much time analysing, measuring stuff online! It’s not accurate, but is close enough to get a 50% scale PCB layout done now, and tweak accordingly once the real A500 Mini is released
Incidentally, someone confirmed that square keys are 18mm on a base (thanks Dan) from that single dimension, i’ve been able to recreate most of the keyboard, with only now some uncertainties as to the remaining key sizes.
Why I’ve created this CAD – to use as a template to create a PCB!
Project the ‘keyboard’ bodies into a fresh sketch
It makes creating a ‘clean’ Sketch really easy. Just project the switch bases onto a fresh sketch, Export that sketch as a DXF….then import DXF into EasyEDA..
Of course, I’ll need to scale this lot down 50% to ensure things’ll fit in the Mini!
In some good news, I may not need to fully design the CAD for the Amiga Keycaps as someone in the scene has reached out and offered their CAD designs. Best case, I can simply modify their designs. Worst case, I can use their designs to measure the curves and ‘simply’ recreate in Fusion360. Either way, it means it’ll be a LOT quicker than the C64 Mini’s keycap development
Finally, onto the PCB design – I’ve already replaced the horrendous keyboard matrix schematic with one more resembling the genuine Amiga’s. Unlike the C64 Mini one, this one won’t be fully compatible with an actual Amiga due to there being some periphery circuitry to convert the matrix into a serial format for the motherboard to receive. BUT, keeping the same matrix – for everything other than the ‘standalone’ modifier keys should help some people to do ‘other stuff’ with this.
Oh, and I noticed that some of my previous assumptions about the 32u4 being used in the Mini were incorrect – It’s a bit bigger than I’d realised. it has 26 GPIO (kind of) when used in the raw chip form!…I thought it was 20 (D’oh!) that means you can (in theory) have a matrix with 144 switches AND a couple of pins left over for LED’s!!
Minor update! – Slowly working on the PCB design for the Amiga Mini – I’m tempted to actually produce a few of these as a Beta run so I can get ahead on the keyboard matrix programming.
I’ve priced up on https://jlcpcb.com/parts/ a BOM to build a minimalist Pi pico so that I can place one directly on the keyboard – and surprise, just like the Arduino Pro Micro device – The sum of the components is more expensive than the price of a full Pi Pico ! BUT, and key point, it’s not all that much more. building Arduinos out of components were typically around DOUBLE the cost. The Pi Pico isn’t!.
However, adding a RP2040 discreet chip to my PCB adds a small level of additional complexity to the board and puts me at risk of parts going out of stock so it’ll be a weigh up when the real Amiga mini is released – If there’s enough space on-board to make a 2 layer board, I may well do this. If not – well, that’s what the TWO circuit boards above are.
Early days yet, but first look suggests that the above would be only marginally cheaper (almost not worth it) than putting a discreet pi pico on-board
oh, and of course, these will be fully populated boards! just add keycaps and ‘go’
Had a little play, using some SMT buttons i’m using in another project. These switches aren’t quite correct for this project – I need ‘square’ button-y bits and preferably ones with a small sticky-outy or inny bit that’ll let it capture a keycap straight.
Assuming the A500 Mini is 1/2 scale, like the C64Mini was then it’s looking good for keyboardification.
Half that gives about 235 x 162. take a bit off the 235 for the case thickness bit – gives 225. then height is set roughly by the number of keys ‘down’ and eyeballing the various membranes i’ve found!
However – I don’t know the internal space availability of the A500 yet – so plan going forward for now is to prototype as a 2 part PCB.
One design part of the C64 Mini keyboard kit I never really liked is the standalone Arduino Pro Micro mounted on the rear due to being no space. Adding it to the main PCB was also out of the question as the separate components would have been at least double that of a ‘cheap’ arduino.
I’ll keep a 31 way (ish) connector on the main keyboard part, so it essentially acts like a traditional Amiga Keyboard. I’ll then have a ‘special’ RP2040 based PCB that converts the Amiga matrix into USB for the A500.
I’m currently working on a design assuming I can use the same again. There’s very few switches on the market with a ‘square’ style centre part that can capture keycaps. I have leads on a few others, but plan this time is to find surface mount versions and try to get a batch ‘mass produced’ – i.e. little to no soldering needed for you lot!
Early days yet, it’s been quite hard to ‘get back into the grove’ . here’s hoping I get this finished in 2022!