Prototypes – Phew Silly mistakes – A500 Mini

Always knock up prototypes before doing bigger numbers of PCB’s

Had a bit of a quandry doing some quick rough testing on the A500 Mini keyboard – some keys just don’t work!

Keyboards are generally made of a simple matrix of ‘rows and columns’ – so spotting patterns in faults makes diagnosis much easier.

Here, most of the missing keys are on Column 2 in the schematic! – so, clearly there’s an issue somewhere with Column C

Which goes to this pin on the raspberry pi

So, using the scope to quickly check all the buttons – seems that ‘something’ stops after button I to prevent button O working……..

Had a quick nose at the schematic and………..(i’ve circled the missing thing)

Yep, I’ve missed the connection between the switches!

Also, i’ve missed another connection or two elsewhere i’ll guess, looking at that 1,2,3,4 buttons not working

Why was this missed?

I’m partly lazy….

Rather than design a whole new symbol and footprint for the switch, I re-used an old symbol – meaning, in the schematic, the switch looks like the below…..

Pins 1&2 are joined internally, as are 3&4 – so really it doesn’t matter if they’re joined on the schematic or not…..

Unless……..you run out of space on a dual layer PCB to join all of the nets up, and you know they don’t matter, so, you ignore the Design Rule Checks (DRC)

I did, thinking that I’d cleverly pick everything up myself!…

But, clearly I didn’t

So lesson is – setup for success – make the schematic correct, don’t do shortcuts, else you’ll increase the chances of failure!

Fortunately, a few small bodge wires can easily fix these silly mistakes for the prototypes and Beta test versions

Quick hack to align PCB and CAD

Quite chuffed with myself on this one

Alignment squiggles!

I’ve been tweaking away, adjusting the EDA (the PCB via EASYEDA) and the CAD (the keycaps via Fusion360)…There’s nearly 100 bits that need to line up for it to all go well.

Previously, with my C64mini kits design, i’ve broken out the vernier calipers , measured, tweaked, printed, measured, tweaked, printed…….until everything fits just right!

For the A500 Mini Amiga, the ‘about 43%’ scale means the keycaps are just too tiny to shove underneath my ‘go to’ 5.8mm x 5.8mm switches . In addition, soldering 60 odd switches, another 60 odd diodes, and the arduino is a tad arduous, so change was needed.
I’ve jumped to Surface mount style components

One advantage of Surface mount – Machine assembly – I’ll be buying in the boards mostly populated!.

The machines that assemble the boards use a file called a ‘pick and place’ file. Essentially a CSV file with co-ordinates!.

I had a ‘play’ with that CSV file, imported it into excel and plotted the co-ordinates

That looks suspiciously like a keyboard!

Imported them into Fusion as a Spline – The control points are the exact centre of where the keycaps are!

I just needed to align a point with one i’d already ensured was perfect in the CAD….and

The ESC key is perfectly located….

The centre of the stem of every key is perfectly aligned with every spline control point….Which comes directly off the Pick and place data of the PCB!

By overlaying the co-ordinates used to place the switches on the CAD model, I can now be very assured that the stems are located within the keycaps correctly, which are located within the keyboard…

or, in otherwords, it should all align, and hardly any 3D printing fake PCBS / jigs, samples, reworks needed…

Well, that’s the theory 😛