A500 Mini Keyboard – D’oh! More work needed

Nah, that looks crap.

Well, that’s a wrap for idea 1 – concept was ok enough, but…it’s no-where near good enough for a production run.

After half a dozen trial prints and practice fittings, I’m heading down another path.

The Many faults include

Keys fitting poorly to switches.

Keys not fitting on switches straight

Keys just not fitting onto switches at all

The attached picture sums it up really.

All is not lost however. This is something I had to trial, if it worked, it would have been cheaper and awesome.

I have a few ideas up my sleeve…My next option is right now, considerably more expensive, but has been underway for a few weeks now, I’ll reveal a bit more once the process is done.

On the plus side, the keycaps look great in Amiga Beige! – I’ll work on the darker caps another time.

The PCB layout works great, firmware works, so, really, it’s down to the thing that always was going to be an issue, the switches!

A500 Mini – part 8 – partly working keycaps and a small PCB reveal

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 🙂

Another failure
Another failure!

And, the reveal, part 2

It’s here!!!!

A500 Mini II Part 6 – past the half way mark! – keycaps

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.

Tops not parallel with bottoms
Tops are parallel with bottoms
Continue reading “A500 Mini II Part 6 – past the half way mark! – keycaps”

A500 Mini Keyboardification Chapter two, part 4 – Moar CAD

Have been tweaking things over and over, I’m now finally ready to…….

3D Print a sample!
And, the complete thing

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

Alternate View – with the Clamp PCB in black, the A500Mini PCB in green

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!

A500 Mini Keyboardification Chapter two, part 3 – PCB’s

I’ve spent a couple of days designing, and and a today, spent nearly a hundred quid at JLCPCB ordering a bunch of prototypes

The first revision of the Keyboard PCB
First ‘space sample’ of the top mounting board.
Floppy Disc Micro SD card holder!
Rear of the floppy discc.

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!

A500 Mini Keyboardification Chapter two, part 2 – Progress

This one’s a good ‘un

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.

First print of the keyboard PCB and CAD fitout – pretty close

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

a 3D printed space sample

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.

The PCB outline

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

the Keycap CAD
Another view – the big circles are the curves / slight indents in the top of the kecays
The CAD compared to a scan of the actual A500 Mini

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 😛

But, wait, there’s TWO

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

That’s a scale floppy disc! with a Micro SD card in
quick render of the floppy slot in the case

I saw a few posts on facebook linking to a guy that’s made a ‘fake’ floppy insert for the A500Mini – https://www.printables.com/model/170947-amiga-500-mini-a500-mini-mini-floppy-disk?fbclid=IwAR3if5FRp3opclhKoTyrkUe63XQtRW-mckg2ymWSKKi1cZvSk1KuRRkzmR4

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

Secondary PCB – Outline finished, needs routing and Pogo Pin solution testing

Tertiary PCB for the floppy disc connector – Concept – parts ordered

Fourth + Fifth PCB’s – the floppy disc itself – parts ordered.

Firmware – Standard keyboard layout is done! – Just needs tweaking and testing on a real A500 Mini

A500 Mini Keyboardification Chapter two, part 1…The Evisceration and Dimensionality

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!

Dimensioned to within about 0.3mm

Spmeone should hide my screwdrivers

A500Minier (than 50%)

All along, I’ve been assuming the A500Mini will be the same 50% scale that the C64Mini is

Thanks to https://youtu.be/h552-eR0cGA Retro Recipies

And https://youtu.be/igEpW8QJFQ4 8abit guy

I’ve been able to get an idea of the size of the A500mini

A500Mini

Using the USB socket size to scale, they’re about 13.2mm in real life.

We get about 186mm for the keyboard width.

The real A500 has a keyboard cutout width of about 450mm

186/450 = about 41.3%

So, summary, it’s closer to 40% scale than 50%

And, I gotta figure out a whole new way of keyboardification:-p darn you rascals at Retrogames LTD :-p

A500Mini Keyboardification – Part 6 or 7 I think

Minor update on progress…made the schematic a bit clearer for me to understand, also am doing a dual footprint style setup – where I overlay multiple component footprints incase one becomes hard to get.

I’m also creating two ways of driving the matrix, an on-board RP2040 chip and, if they become hard to get, a seperate daughterboard which can house a Pi Pico

Kinda pausing PCB development until my Amiga 500 Mini device arrives in the post, but i’ll be playing with the PRK firmware next!

More A500 Mini

Working on the Fonts now for the keycaps!

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”

https://deskthority.net/wiki/Amiga_key

and, the Font – is Garamond-Bold-Italic

So, now we have the following two keys!

and, extruding that A to create a solid A, then projecting to a sketch, offsetting that sketch and extruding into the key….

we have…The other Amiga Key!

Now to figure out the rest of the keyboard 🙂

A500 Mini Part 6

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

simple hidden edges image
Nice render on a snowfield to show the curves

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.

A500 Mini – Quatre

First ‘proper’ spacing test for the SMT switches

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.

Zoomed in view

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

Rotate that square and you get a circle – which is less than 9mm, which is less than the keycap size!

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.

The switches sit inside the keycap on the C64Mini keyboard kit

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

Everything else!

A500 Mini Keyboardification – Part III

Early days – Square keycaps to create a layout grid in EasyEDA

A little more advanced

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..

Voila, a 100% sized Amiga keyboard outline imported 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.

As for Software – PRK has had some great updates of late. I’ll be figuring that out soon enough

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!!

A500 Mini Keyboardification – Part Deux

Maybe a 2 part kit for the Amiga Mini?

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’

Amiga 500 Mini – conceptual

1/2 scale Amiga Keyboard – the keys might just fit!
Schematic with who knows how many errors 😛

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.

This keyboard is about 225mm x 56mm which is about 1/2 the size of the original membrane – I ‘think’ – based losely on numbers from here which says

Full sized Amiga is about 470mm wide by 325 deep.

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.

Amiga 500 Mini – Keyboardifying

Very early days yet – But, this is the first start for making the Commodore Amiga Mini working keyboard kit! About 1/2 way done on the matrix, then the peripheral components to go.

Then i’ll ditch it all and start over as the above is a bit of a mess ;-P

The New mini is coming from https://retrogames.biz/thea500-mini at some point in the next few months

I plan to use PRK Firmware now i’ve got it working with the C64Mini

and, Now RP2040 AKA Raspberry Pi Pico Chips are widely available, and ‘cheap’, I’ll be using one as the basis for the Mini

The BIG unknown right now is ‘switches’ – in the C64 Mini I was able to use 5.8mm ‘square’ switches – something like these – https://www.sunrom.com/p/push-onoff-switch-58mm

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!

Success is in sight – keycaps

First print off the Mono-x

I’m having first layer adhesion issues – which is commonly caused by poor levelling on these things

Could also be a number of other issues but I’m confident I can get this resolved next week

The major fault on this one is that the bottom row of keys is all squished going to the right hand side, due to that side not adhering to the build plate correctly.

Have had another print literally just finish – with adjustments and that’s also come off the build plate so I’m really confident that I just need to try re-levelling again!

Delays in keycap printing – and progress

RERF TEST

Apolgies for any delays and people waiting on keycaps….

I believe I may have reached the end of life of my original Photon Mono printer. for the past couple of months, i’ve been having more and more print failures, and have had no idea why. I’ve approached the problem analytically to figure out what’s wrong

Where it started –

I had a proper working file that ‘just worked’ – exposure about 35s for the first layers and about 1.8s per other layer

That started failing a bit. some keys were printing incomplete. I increased the exposure slightly and success again.

More fails, this time the first layers were coming off the build plate. I increased the exposure for the first 4 layers and success again.

had many minor creeps of fails, up to now where i’m at around 50s for the first layers exposure and 2.2s per layer.

I figured maybe the temperature in the conservatory is too low – Nope, iterating a bunch of exposures with the printer near the radiator in the living room also had nothing but failures.

So, after a good 15 fails in a row, many caused my me experimenting with extremes, i’ve given up with the photon mono. There’s many things it could be, but I’m thinking it’s feasible that the LCD has finally ‘failed’. I’ve easily gotten 1500 hours of actual print time on the thing – well over 1000 will be just the production keycaps at 6.5 hours each!

So, back to the point of the article. Those things in the picture are a R E R F TEST for my Anycubic Photon Mono-X

I’m dialling it in to start printing the keycaps. First one’s going right now (50% UV power, 3.5 seconds exposure and 45s base layer if you like to know)

IF this keyboard prints – fantastic, I can print two at a time in just 5 hours! i’ll be through the backlog in no time 🙂

Thanks for listening and sorry again for the delays!

Dean

A quickie c64 keycap job from a user!

A customer, Kopaszné has done a superb job with his Keycaps. Some acrylic paint and a few hours

The paints he purchased from Lidl are these ones off eBay.

https://www.ebay.co.uk/itm/254445322346

I’ve asked him to tell me a bit about the process he used, I’ll update when I know more 🙂

You guys (and gals) continue to impress 🙂 THANKYOU, every picture, message , feedback puts a smile on my face!

HOW TO PROGRAM THE C64 Mini Keyboard HEX INTO A FRESH ARDUINO

Download QMK TOOLBOX

Download the HEX FILE

Select the Downloaded HEX file from wherever you saved it

Select Auto Flash

Connect the USB arduino to your comupter

Short RST and GND on the arduino

Then, your arduino gets programmed! – Easy 🙂

Brain surgery! RP2040 style (32u4 ft Raspberry pi Pico)

That’s a Pi Pico
Partying like it’s nineteen QWERTY nine!!

The interest in the mini keyboard is strong as ever, but – there’s a new kid on the block soon – The Amiga A500 Mini

That Beastie –

To turn this Mini’s ridiculously small keyboard into a ‘toothpicks required to operate’ WORKING keyboard will be tricky as it has a significantly larger number of keys than the C64Mini

Infact, there’s 96 on European Keyboards and 94 on others? ..Either way – it’s More than 81 – which is the maximum you can put on 9×9 Matrix – which exceeds the capacity of the good old 32U4 when used as a keyboard (well, technically, the Pro Micro I use has 20 GPIO available, Allowing for 100 keys IF I go and hack out the two LED’s and solder a bridge)

So…Enter the Fantastic (and new) Ruby Firmware for Keyboards – PRK,

Which can be found here –

https://github.com/picoruby/prk_firmware

and, with a good overview – here on Youtube (in Japanese, but, enable Captions and translate to English, you’ll get the gist of it)

It’s taken me a Solid Month to figure out how to get this far – I’m a relative noob to Linux, cross compilation, Ruby, C, and, generally ‘stuff’ like this –

To be able to compile this, i’ve setup WSL for Windows – which is essentially Ubuntu Linux, running nativley in Windows!

Inception! WSL running Ubuntu whilst i type this blog!

I’ve also had to setup the Raspberry Pi Pico-SDK

Ruby – For Linux – something higher than 2.6

Bundles for Ruby

And a few other things….all of which are quite finickitey and throw a wobbly at the slightest provocation! – Linux is fun eh!..

I’ll eventually get around to step-by step documenting and linking each step to ensure a good build environment so that others can duplicate what I’m doing

Once it’s all compiled, I drag the .uf2 file over to the pico (after holding bootsel whilst plugging it in) the thing reboots and becomes a keyboard

What’s Next………..

  • Ensure the Keymap is correct
  • Finish the basic keyboard layout, testing all basic keys
  • Introduce shifted keys
  • introduce ‘layers’ to ensure special keys are correct
  • introduce fancy stuff

Where this is going……………..The RP2040 Chip is fairly priced against the 32u4. I’m hoping that I can eventually switch the C64mini keyboard over to a fully SMT ready assembled kit – just add keycaps. And, i’m hoping I can do that for the Amiga Mini!, as much as I love soldering 600+ points, I appreciate some of you out there don’t!

And, I’ve another TOP SECRET project on the go also…It’ll blow yer mind! but, in 2022 that one, it’s a long burn that ‘looks’ finished (i’m holding it in my hands now!, all 2 circuit boards and about 100 3D printed pieces) but, needs quite a bit of work behind the scenes.

Also, Blinkenator, slow going, but I’m really trying, it’s just hard getting over this hurdle where it must be soldered….one last thing to try!

And, final before I go to bed, the C64 mini running the keybaord upgrade kit with pi Pico transplanted brains!

It’s being captured via a HDMI capture dongle and OBS studio so I can use my laptop as a test monitor!

C64 Mini Keyboard Kit – Newer Firmware!

Loads fixed with this – and it should hopefully be on Github soon also

Google Drive Link Here

The Hex File is above

There are only a couple of extremely tricky issues remaining now! they may need macros, and may not even be possible

Note with this firmware – It works perfectly with ENGLISH Language and UK Keyboard layout set in the firmware…

I hope to eventually be able to create more localised keymaps to change behaviour on boot so every language in the mini works well. IF there’s any pressing issues, please contact me, I should now be able to quickly and easily tweak a couple of keys for you.

Also, the Firmware will be part of the QMK Github soon, so you can download and tweak away yourselves!

To Upgrade your Keyboard, I’m finding QMK ToolBox to work brilliantly

Most older fimrwares out there will need to have B held down whilst shorting the reset jumper at the top of the keyboard inside , for whatever reason though t

I’ve found this a little flaky for whatever reason, sometimes mashing down every key whilst hitting reset does the trick

To make that more professional…….I now have configured the Bootmagic Lite.

To Update the firmware after this update, simply fire up QMK TOOLBOX, connect your keyboard to a Laptop. Hit ‘auto flash’, select the MCU (see picture above)…then Hold 1 and short the reset jumper inside the keyboard.

I’m still learning how configure all this, so bear with me, it’ll be slick just like those professional Mechanical Keyboards in no time*

*by ‘no tiime’ I mean potentially months and months as i’m tinkering in my limited spare time to add this extra functionality

C64 Mini Keyboard Kit – The Code and the Schematic!

Hi All – here goes

I’ve submitted a Pull request to the QMK Github to add the Mini !

https://github.com/qmk/qmk_firmware/pull/14159

And, here’s the firmware in a ZIP file to help

https://drive.google.com/file/d/1WVuZMWLF9_7ZtnlxLih7IebWrD0SbX_b/view?usp=sharing

That’s the QMK Code For the Arduino used inside the C64 Mini

How To Compile

Download QMK – I recommend QMK MSYS. Get it installed

There’s plenty of tutorials around

BUt, quick and easy – Unzip the above file to the KEYBOARDS folder

C:\Users\YOURCOMPUTERNAME\qmk_firmware\keyboards\

Then fire up a command prompt (Start, search, CMD, run)

and navigate to the the above folder

then run

qmk compile -kb c64 -km default

You’ll get a c64_default.hex file appear in

C:\Users\YOURCOMPUTERNAME\qmk_firmware\builds\

Now to flash –

Download QMK TOOLBOX

Arduino leonardo’s can be a little tricky to flash hex files to – be persistant – there’s two Tools that help

QMK TOOLBOX – that shows the keyboard enumerating when you plug in

Set it to ‘auto flash’ and you can try pressing / holding b and space (it’s configured as a magickey in QMK) to get the bootoader to kick in and flash the chip

If anyone knows a quicker way – shout!

And, if it helps

Here’s the Schematic

No PCB gerbers are public yet – play away! any suggestions, happy to look at incorporating them

I’ll follow in the future with more insight in how this lot works, and also modifications needed to get it going better… There’s a LOT to it as the Keycodes – https://sta.c64.org/cbm64pet.html

Don’t map to the HID codes used by USB…so, without some super customisation, certain combinations may never be possible

Some useful resources

https://www.c64-wiki.com/wiki/Keyboard

https://msys.qmk.fm/

https://github.com/qmk/qmk_firmware

https://github.com/qmk/qmk_toolbox

https://thec64community.online/thread/688/c64-keyboard-mapping

and a few other C64 USB firmware’s i’ve found – these may have the bits needed to be able to get mine working much better – But, merging things is currently beyond my skillset – I’ll figure it out eventually

https://symlink.dk/projects/c64key/ – Has seemingly sorted out shifting, etc with custom codes. I can’t quite figure it out though

And, this awesome public project! – If you want a ready made USB interface – This looks great. Has some quite complex QMK mapping that i’ve not been able to understand – maybe it can be modded for my PCB!.

Flashing .Hex Files – ‘painful’ – a solution

Wow, What a few weeks this has been.

My previous QMK on my small dev laptop worked great. However, moving the directories over to my new laptop (after the kids smashed the old one) – Not working so great

I was now stuck with a handful of ‘blank’ arduinos and no way to update the firmware code, nor any easy way to flash the .hex files to them

Long story short – a friend familiar with programming Arduinos found me this

https://github.com/p1ne/arduino-leonardo-uploader

It didn’t work!….BUT playing aroudn. it at least did pickup something

So….Digging further…I found

https://github.com/p1ne/arduino-leonardo-uploader/issues/5#issuecomment-407583517

I tried the code, didn’t work

Tried again and………Woooo!

  • C:\1leo\arduino-leonardo-uploader-master\windows>testu
    Upgrade procedure starting.
    Missing parameter or file, you should provide the full filename of an existing .hex file you want to use.
  • C:\1leo\arduino-leonardo-uploader-master\windows>testu C64_default.hex
    Upgrade procedure starting.
    Com Port for Arduino device is detected as COM7.
    Reset Arduino into bootloader
    Com Port for Arduino bootloader device is detected as COM6.
  • Starting AVR Downloader/UploaDEr…..
  • Connecting to programmer: .
    Found programmer: Id = “CATERIN”; type = S
    Software Version = 1.0; No Hardware Version given.
    Programmer supports auto addr increment.
    Programmer supports buffered memory access with buffersize=128 bytes.
  • Programmer supports the following devices:
    Device code: 0x44
  • avrdude: AVR device initialized and ready to accept instructions
  • Reading | ################################################## | 100% 0.00s
  • avrdude: Device signature = 0x1e9587 (probably m32u4)
    avrdude: reading input file “C64_default.hex”
    avrdude: input file C64_default.hex auto detected as Intel Hex
    avrdude: writing flash (22924 bytes):
  • Writing | ################################################## | 100% 2.09s
  • avrdude: 22924 bytes of flash written
    avrdude: verifying flash memory against C64_default.hex:
    avrdude: load data flash data from input file C64_default.hex:
    avrdude: input file C64_default.hex auto detected as Intel Hex
    avrdude: input file C64_default.hex contains 22924 bytes
    avrdude: reading on-chip flash data:
  • Reading | ################################################## | 100% 0.46s
  • avrdude: verifying …
    avrdude: 22924 bytes of flash verified
  • avrdude: safemode: Fuses OK (E:CB, H:D8, L:FF)
  • avrdude done. Thank you.
  • Upgrade done!
    C:\1leo\arduino-leonardo-uploader-master\windows>

So, where i’m at now……

I can actually program up arduinos for Mini keyboard kits!

The printer actually seems to be functioning

I’m back in Business

What’s next though

Figure out QMK, I’ve found a lovely chap who’s helping out a bit to compile my keyboard into the new version of QMK being used….then I can finally start doing some development again!

and, more importantly, get this C64Mini keyboard listed in QMK for you guys to be able to easily play with the firmware….

Errors!, Errors!

Having some fun with the printer this past few weeks. many, many fails

Lightly used, honest

Some possible lessons learned….

1 – Don’t mix Resin brands and pigments in untested combinations

I’d ordered a bunch of ‘expired’ Elegoo translucent green resin, going ridiculously cheap, (like 1/3rd the price it should be) it prints FANTASTICALLY…BUT

….I normally use Anycubic Clear, just because it’s what i started with, and it works.

I also add various pigments from http://resin8.co.uk

Mixing in an old batch of C64 Brown with the new Elegoo didn’t really work. I had 6 failures in a row – which i’d assumed was the FEP or me doing something silly / bad levelling . The 7th failure punctured the FEP! At that point i’d realised what i’d done (mixing all the stuff together) so, ordered some new Clear resin. I got a perfect print straight away!

The thing you see above is me, changing the supports (finally) after having issues with the old base layer being too thick and seperating from the build plate. I’d gotten around this by using longer base exposures, but still, had more failures than I’d like.

Hopefully now i’ve new FEP, new resin, and spent a couple of hours doing the supports properly, I’ll get a fresh print tomorrow!

anyone good with QMK?

My next issue – as you can see above…QMK. I spent weeks learning how to, and setting up QMK on my old laptop, which the kids smashed.

QMK has moved on a little it seems as now there’s a dedicated QMK MSYS32 installation…BUT, it doesn’t compile my old keyboard layout. if there’s anyone good with QMK out there, give me a shout!. I’ve no doubt I can get things working again to work on the code a little, just pressed for time for the next month or two and, i’m getting the coding itch this past few days 😛

C64 Mini Keyboards – COLOURED LETTERS! (by end users)

Lots of pictures here, But looks like the latest batch of C64 Mini hackers are quite the clever lot. Batch 21 has been arriving around the globe, and look wot some guys gone done!

First email arrived early this morning – Vinz!, You’re a genius…..My jaw dropped!

Some explaination of the pictures…….

In photo 1, I used a ruler with double sided tape to solder switches as straight as possible

in photo 2 I used white putty to color the caps

in photo 3 I cleaned the excess putty

in photos 4 and 5 I painted the caps with matt transparent water-based paint, in this way the filler is protected

in photos 6 and 7 the work is finally done

Continue reading “C64 Mini Keyboards – COLOURED LETTERS! (by end users)”

Batch 21 posted! – up to date with ALL orders

Phew, what a mad few weeks.

If you’ve paid for a kit or just keycaps or waiting on spare parts, it’s now posted.

Missed the Saturday run to the post office so sorry about that.

I’ve now a small amount of stock of keycaps and plenty of kits so I can relax a little and have fun printing other stuff for a change! Can you believe that I’ve run at least 6L of resin through the printer …JUST developing and then selling these keycaps, I’ve never printed anything else on it 🙂

Keycap production snapshots-lots of pictures

A quick pictorial ! on the process of creating keycaps.

Step 1, Recycle the IPA. Leave it standing for a few days, it settles, becomes clean! This is a month or two of settling. I now have about 4L left from my original 7.5L…not bad for nearly 10L of resin printed
Step 2. Print and drain! Leave like this for maybe half an hour or so to drain off excess resin.
Step 3. Scrape keyboard off the build plate
Step 4. Throw keyboard into a small bag of IPA
Step 5, throw bag in ultrasonic cleaner! BONUS step….put bottles of coloured resin in for a while to get them mixed well
Step 5a. Drain IPA off into settling container for recycling. Fill Ziplock bag with water and drain to bucket. Repeat again. One clear GPU can run under the tap!
Step 6 – dry and separate the keys! Then leave overnight in a box to dry properly before curing
Step 7 – ensure you agitate the vat well, scraping gently all the pigment off the bottom.
Step 8 – sorting! – visual inspection of each set to grade them A or B. Also, within the same colour mix batch I’m able to potentially make one good set out of two bad ones!

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!

A failure!

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

This was supposed to be clear!

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 🙂

F Keys!

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.