Author Topic: M0110a Resurrection - Choose the adventure!  (Read 2796 times)

0 Members and 1 Guest are viewing this topic.

Offline 125ml

  • Thread Starter
  • Posts: 19
M0110a Resurrection - Choose the adventure!
« on: Fri, 04 November 2022, 09:42:47 »
I have just managed to get hold of a nice looking M0110a Apple Keyboard (USA built). Super excited I eagerly awaited its arrival by assembling everything that I needed to create a converter.
Having had superb success with Hasu's ADB converter for my Apple Extended Keyboard ii (still on the rotation for my keyboard for the week), I forged ahead with setting up an Adafruit ItsyBitsy. I couldn't get a Teensy 4.0 anywhere.
Huge trouble. Nothing works.
Mmmm, it must be me. So I tried it on a Teensy 2.0 that I managed to find with a supplier who had some in a dusty cupboard.
Still no joy.

Bit the bullet and take a proper look.
So I desoldered all of the switches and removed the PCB.
Arrgh!
Sticky sweet ancient coffee dried on the board.
a closer look after lots of delicate cleaning with isopropyl alcohol and a cotton bud.

292956-0
292958-1

Extensive damage to the solder pads for the switches, with about 30% of them corroded to nothing.
So I have a request from you fine people on which way I go from here.

Do I.....

Repair all the pads on the PCB, put it back together and give it another try.......

Or

Hand wire the switches and go with a fully custom controller.....

I leave the fate of my m0110a in your hands. Build journey and pictures to be shared here which ever one you choose.

Oh, and if I hand wire, what controller would you recommend?  I've only seen people handwire the m0110 not the m0110a with its numpad. I was thinking that a Teensy wouldn't have enough pins (19 columns and 5 rows means 24 pins)

« Last Edit: Fri, 04 November 2022, 09:48:08 by 125ml »

Offline nevin

  • Posts: 1646
  • Location: US
Re: M0110a Resurrection - Choose the adventure!
« Reply #1 on: Fri, 04 November 2022, 10:53:51 »
elmo (OP in GH thread below) made a new pcb for this as well as a couple other apple boards. there was never a group buy. don't know if he has any of the prototypes left. bounce him a message, see if he has any left.
https://geekhack.org/index.php?topic=106454.0
https://github.com/kb-elmo/m0110a_usb

i have a spare original m0110 pcb but not a spare m0110a.

fixing pcb or handwiring are both pretty straight forward. handwiring might be a little more work but you'd probably learn a lot in the process. it's totally up to you.
- if you fix pcb - put switches back into place, solder the ones you can and make a bridge to the traces that are missing pads. you'll have to scrape the trace with a blade (i usually use an exacto knife) to remove enough of the mask to get the solder to stick. legs of diodes or a cut up network cable make great bridge traces (both solid core, not stranded wire).

if you go the handwire route, start with a controller with a QMK compatible processor.
would suggest a Teensy++ 2.0 (AT90USB1286) if you can find one or a clone (pjrc.com ran out of them last year). It might be tight pin-wise with a ProMicro (32u4). most of the newer teensy's are unsupported. the postage-board was a great idea for handwire jobs, just wish more were made https://github.com/LifeIsOnTheWire/Postage-Board

below are some good articles/links for handwire/firmware:

Handwire
https://geekhack.org/index.php?topic=87689.0
https://deskthority.net/viewtopic.php?t=1067

Firmware
Article   https://matt3o.com/building-a-keyboard-firmware/
Qmk docs   https://docs.qmk.fm/#/
https://github.com/qmk/qmk_firmware
https://caniusevia.com/
https://kbfirmware.com/

and here's a trick to conserve pins if finding a bigger compatible controller is an issue.
gipetto’s crushed paper matrix
https://geekhack.org/index.php?topic=103573.msg2840939#msg2840939
« Last Edit: Fri, 04 November 2022, 10:56:11 by nevin »
Keeb.io Viterbi, Apple m0110, Apple m0120, Apple m0110a, Apple 658-4081, Apple M1242, Apple AEK II, MK96, GH60/Pure, Cherry g84-4100, Adesso AKP-220B, Magicforce 68

Offline 125ml

  • Thread Starter
  • Posts: 19
Re: M0110a Resurrection - Choose the adventure!
« Reply #2 on: Sun, 06 November 2022, 01:16:06 »
Nevin, that is the most amazingly helpful and information packed post. Thank you!!

So far, I am leaning towards the hand wiring at this point, based on what you've shared.  I really hadn't thought about looping more keys to combine two columns, that is a genius move.
I do have a Teensy 2.0 here as well that I'd got to use as a converter.


Offline nevin

  • Posts: 1646
  • Location: US
Re: M0110a Resurrection - Choose the adventure!
« Reply #3 on: Sun, 06 November 2022, 05:36:14 »
no problem. been around a little bit and also have an affinity for old apple boards.

yeah, after going back to this... the original m0110 & m0110a's pcb was only 2key roll over even when using hasu's protocol converter. if you're a heavy shortcut / key combination user you'll definitely want to handwire or replace the original pcb.

i can help you with the firmware if you go the handwire route. transposing the key matrix is the only thing that can be slightly tricky for a first timer.

to get the most keys you can on limited pin count controllers (like promicro), square matrices are the trick. it makes a mess out of your key matrix but is one way to get the I/O pin count as low as possible.

the m0110a is 78 keys. matrix examples:
- easy way (one pin for each column & row) 5 rows x 18 columns = 23 pins (max keys in 5x18 matrix = 90)
- square matrix - 9 rows x 9 columns = 18 pins (max keys in 9x9 matrix = 81)
so, if you use the teensy 2.0 you could go the "easy way" and should have a couple i/o to spare. this is what i would suggest for a first handwire.
though, you COULD stuff it on a promicro as well.
good comparison article teensy 2.0 vs promicro
https://golem.hu/pro-micro-vs-teensy/

here's a holder i found to mount the teensy 2.0 in (or some other "holder" as these controllers don't have mounting holes).
https://www.youmagine.com/designs/teensy-2-0-snap-fit-mount

and here's the layout in KLE
http://www.keyboard-layout-editor.com/#/gists/23b81d2f84d2dfedaf97f275f8f032bb
great little tool for planning & resource for making plates, firmware, etc. (a bunch of other sites use KLE as a starting point/reference to the keyboard data)
293020-0

wired, something like this (does not show diodes, etc)
293022-1

flip it, and this is what it will look like while you're wiring it.
293024-2
Keeb.io Viterbi, Apple m0110, Apple m0120, Apple m0110a, Apple 658-4081, Apple M1242, Apple AEK II, MK96, GH60/Pure, Cherry g84-4100, Adesso AKP-220B, Magicforce 68

Offline 125ml

  • Thread Starter
  • Posts: 19
Re: M0110a Resurrection - Choose the adventure!
« Reply #4 on: Tue, 08 November 2022, 08:33:46 »
It's decided then. It's definitely a hand wire.

1N4148 Diodes are on order, along with some wire for the columns.
I've got the Teensy 2.0 already so we are all set to go.
Really appreciate the offer of help with the firmware, that will be the difficult bit to get right I think.

That wire layout is going to look superb!

Documenting this in pictures in case it helps anyone else.

The PCB is now de-soldered and removed.
All the switches out and I've started cleaning them in a bath of isopropyl alcohol to get any dust and rubbish and  the coffee out of each of the key switches.
This is a USA built board, so has the SKCC alps rather than the Matsumi versions.
Once they are desoldered, getting them out is super easy. They can be squeezed with fingers or tweezers to compress the clips any they pop right out.

These are the clips that hold the switch in the plate.
* IMG_8582.HEIC (2490.3 kB - downloaded 57 times.)

Dismantling for cleaning is easy too. Gently insert something to tease the side clip up so it clears the black edge and the spring will push it up enough to hold it while you do the other side.
* IMG_8585.HEIC (2390.3 kB - downloaded 54 times.)
Then you can wiggle the two apart to reveal the glorious switch, slider and spring.
* IMG_8588.HEIC (1567.5 kB - downloaded 52 times.)

The slider and spring just fall out, but the switch plate will be retained by the pins going through the plastic casing. My top tip is to make sure you have cleaned all the solder off the pins, then I pushed them from the bottom with the flat edge of the tweezers. This is better then trying to pull them put as the leaf switch can be easily bent.
Switches going for an alcohol swim
293074-3
Then it out to dry on some paper. Then I put a tiny amount of GPL 205gO lube on the spring. I've ready on the forums that a bit of lube here can reduce the spring ping. And it does. Not completely, its still there, but enough so (for me) it adds a wonderful high note to the thock without resonating on for a while afterwards. Then reassembly and testing.

I just did this with a voltmeter, looking for full resistance when open and no resistance when closed.

There were a couple of switches that I had to 'tweak' to get them to register properly.
I found that a TINY bend here helped if the resistance didn't change. (bend to move the tines away from the switch plate)
293076-4
Or a GENTLE push of the tweezers in here if they were always open, coupled with a TINY bend in the other direction on the tines of the leaf. (as above but bent towards the switch plate)
* IMG_8622.HEIC (1387.2 kB - downloaded 53 times.)

This can take a few attempts to get right and you have to put the switch back together fully to test.
Thankfully there aren't may that need this extra care.


Being far to keen I've started putting them back in the case (cleaned with water and mild soap, then wiped with alcohol on a microfibre cloth) and putting the keycaps back on to see how it sounds.

Looks and sounds beautiful so far.


There is one broken one where the side wall has snapped at some point, Maybe I did something wrong getting it out. But with the age of the plastic, I'm surprised how flexible it still is so I can't see how I did that.
The switch still seems to be working, just has one bit missing.
I may try and glue it back on, but the switch seem to work perfectly well with only one side holding it together.
[ Specified attachment is not available ]

Will keep working on the options with that.
« Last Edit: Tue, 08 November 2022, 08:40:01 by 125ml »