M0110 retro 60%

User avatar
jsheradin

05 Dec 2020, 17:55

I grabbed a good condition Apple M0110 recently and plan to give it a bit of a modernization. I gave it a quick test with a TMK protocol adapter and man, these are some smooth switches! They all seem to work and feel fine, should I go through the effort of pulling them apart, cleaning, and lubing? I'm probably going to brighten the case and keys with some peroxide but I don't want to go full white with it. I decided to ditch the PCB and go with a handwired full diode matrix as it seems the shift and option keys are not individually addressable with just a protocol adapter.

Image
Yes I stole the phone jack off a wall in my house.
Image
Image
Image
Image
Image
Image
Image

User avatar
jsheradin

07 Dec 2020, 01:26

I took one of the switches apart and tried a couple different lubes I had on hand. Pure silicone seemed to be smoothest overall but it wasn't noticeably better than the unopened switches; I decided to just leave them as is.

The matrix could have been neater but I wanted to keep it close to square since the controller I'm planning to use doesn't have a ton of pins.

Image
Image
Image
Image

Time to get going with the de-yellowing while I'm waiting on a package from Adafruit.

User avatar
jsheradin

19 Dec 2020, 01:09

Armed with some 8% peroxide, large plastic bags, and a sous vide cooker I went about the un-yellowing.
Image

I tried to not go too overboard on it, just get rid of the bit of orange tint it was picking up.
Image
Image

I ended up going with an Adafruit Feather 32u4 Bluefruit LE running QMK for the controller. Super nice little dev board with onboard Bluetooth and battery charger. Biggest complaint about it is that it only has 17 usable pins. It's only really good for a 60% unless you go with I/O expanders and whatnot.

Image

Initial plan was to mount the Feather right to the casing (hence the 3d printed adapter being perfect for it) but I made a last minute decision to use a mini-USB to micro-USB adapter so that it matches all my other KBs.
Image
Image

Filled the case with some acoustic stuffing to try to dampen some of the ringing of the SKCCs. Didn't help a ton but the keyboard's sound has a nice deep solid thud to it now. I also isolated the switch plate from the case with some 1.5mm foam tape on either side of the mount points. This also takes up the slack from the PCB being missing.
Image

I went a bit heavy on the space bar and ended up bleaching it a bit unfortunately. I might give some dyes a try and see if I can match it a bit better. Other than that I'm pretty pleased with how it turned out!
Image
Image

I'll probably replace the original feet since they are a bit gummy.
Image

Used some satin 'fossil' colored paint for the power switch and IO shield. The color isn't perfect but it's pretty close.
Image

Feature summary:
  • Full NKRO matrix
  • QMK remappable layered crazyness
  • USB/Bluetooth auto and manual output switching via a key-combo
  • USB charging and KB output over the same port
  • 4400 mAh battery
This whole post was typed over Bluetooth using the keyboard!

User avatar
SneakyRobb
THINK

19 Dec 2020, 01:41

Hi,

This is really cool. Good job! I don't know enough about the switches to say about cleaning. I will say with skcm alps you know when they need cleaning. If they are good and you like using them, it may be correct to just keep using them

User avatar
zrrion

19 Dec 2020, 03:27

SKCC is pretty resilient as far as dust goes, so if they are presently clean I wouldn't worry about lubing them.

m_raggie

28 Dec 2020, 07:08

Inspiring work! Well done.

User avatar
matt3o
-[°_°]-

28 Dec 2020, 09:41

how's the battery life? what QMK keyboard did you use as base?

I did a m0110 a while back (too lazy to search but it's here on DT) and I have another ready to be modded :) I also happen to have that very same adafruit controller.

User avatar
anthonymak

28 Dec 2020, 12:19

nice work, I use a new pcb for my m0110, the pcb uses a pro micro as controller but I am going to remap the pcb with a 32u4 feather. and is now waiting for wire and plugs to do the remap.

User avatar
matt3o
-[°_°]-

28 Dec 2020, 12:46

anthonymak wrote:
28 Dec 2020, 12:19
nice work, I use a new pcb for my m0110, the pcb uses a pro micro as controller but I am going to remap the pcb with a 32u4 feather. and is now waiting for wire and plugs to do the remap.
what PCB?

User avatar
anthonymak

28 Dec 2020, 13:49

I've got the pcb file from a guy "cerement".

anthonymak wrote:
28 Dec 2020, 12:19
nice work, I use a new pcb for my m0110, the pcb uses a pro micro as controller but I am going to remap the pcb with a 32u4 feather. and is now waiting for wire and plugs to do the remap.
Attachments
IMG_5440.jpg
IMG_5440.jpg (2.78 MiB) Viewed 17397 times

User avatar
jsheradin

28 Dec 2020, 16:22

matt3o wrote:
28 Dec 2020, 09:41
how's the battery life? what QMK keyboard did you use as base?
I haven't done too much testing on battery life yet; I'll see how long it lasts starting now I guess. My computer boots to a GRUB menu which doesn't have BT support so I mostly use it in USB mode. I plant to make one of the CSR8510 HID dongles which should solve my use case issue.

Firmware is super basic, I just used the output from kbfirmware for a 32u4 and changed a couple things in rules.mk to match the Feather. The board comes with one of the pins on a voltage divider to measure battery level. I still need to figure out how to report that over BT. There's probably a bunch that can be done to save on battery life with BT sleep modes and whatnot too.

Changes to rules.mk:

Code: Select all

F_CPU = 8000000
NKRO_ENABLE ?= no
BOOTLOADER = caterina
BLUETOOTH_ENABLE ?= no
BLUETOOTH = AdafruitBLE

User avatar
jsheradin

05 Mar 2021, 17:46

matt3o wrote:
28 Dec 2020, 09:41
how's the battery life?
Sorry for the late reply; this thing lasted a bit longer than I expected. I managed to get two samples of battery life using a hard-bound bluetooth dongle and the fully charged 4400mAh battery. Both lasted right around 4.5 weeks of continuous connection.

User avatar
matt3o
-[°_°]-

05 Mar 2021, 19:12

jsheradin wrote:
05 Mar 2021, 17:46
matt3o wrote:
28 Dec 2020, 09:41
how's the battery life?
Sorry for the late reply; this thing lasted a bit longer than I expected. I managed to get two samples of battery life using a hard-bound bluetooth dongle and the fully charged 4400mAh battery. Both lasted right around 4.5 weeks of continuous connection.
that's really not bad at all

User avatar
Muirium
µ

14 Nov 2021, 12:41

Oh wow, this is special! :D

Just saw it via Soyuz's PCB thread. Man oh man, I'd grab a PCB which could host one of these. I never did get around to giving my Feather 32u4 a project, and the same is true for my M0110. I'm all set, but for a PCB to spare my (dubious) sanity! :lol:

As for the integrated battery and power switch: I've been using something similar with my Hasu HHKB for many years and thousands of hours now. It totally works for daily driver.

I've always looked at the latching Caps Lock on the M0110 and thought "power switch…" but the wee board's already a key short of an HHKB, so I couldn't really lose it. A power switch on the back is fine in practice. Ideally a slider, like Hasu's, to prevent accidental toggles.

User avatar
Muirium
µ

22 Jan 2022, 18:21

I’m getting daft ideas about USB modding this keyboard while leaving the OG PCB in place. Please send medical assistance! :?

Image
viewtopic.php?p=498304#p498304

Really, what I’d like is a PCB for that Adafruit Feather board I’ve had lying around since forever. So I could do what you did, but with less work and less scope for me to balls it up! What could possibly…
Spoiler:
Image
How exactly did you build that firmware, anyway? I don’t know follow your instructions. Need to learn me some Feather-ese.

User avatar
jsheradin

22 Jan 2022, 18:50

Muirium wrote:
22 Jan 2022, 18:21
I’m getting daft ideas about USB modding this keyboard while leaving the OG PCB in place. Please send medical assistance! :?

Image
viewtopic.php?p=498304#p498304

Really, what I’d like is a PCB for that Adafruit Feather board I’ve had lying around since forever. So I could do what you did, but with less work and less scope for me to balls it up! What could possibly…
Spoiler:
Image
How exactly did you build that firmware, anyway? I don’t know follow your instructions. Need to learn me some Feather-ese.
Nice work! Cool to see how it was laid out originally.

Firmware for the Feather is bone stock QMK. The Feather essentially has an onboard Bluefruit LE SPI which QMK supports out of the box. I just set up QMK as if it were running on any 8MHz 32u4 and added a couple lines to enable BT and disable NKRO (BT doesn't support it apparently).

The PCB soyuz made is so close to being perfect. If only there was a socket for a Feather or even a ProMicro/nice!nano. Although with the nice!nano you'd need to mess with ZMK since it runs an interesting chip.

Hopefully soyuz releases PCB files under some license that allows forking or does a v2 at some point. It would be simple enough to clone from scratch but I feel like I'd be stepping on his toes.


Edit: The two pins in the middle threw me off, I thought the soyuz PCB was for a Teensy 2.0. If it supports a ProMicro then I'd just throw in a nice!nano with ZMK and call it a day.
Spoiler:
Capture.PNG
Capture.PNG (491.46 KiB) Viewed 15256 times

User avatar
Muirium
µ

23 Jan 2022, 15:00

Ah… it's all already there in QMK!? Neat.

I think I missed Soyuz's group buy, though.

Post Reply

Return to “Workshop”