M0110 retro 60%
- jsheradin
- Location: USA
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.
Yes I stole the phone jack off a wall in my house.
Yes I stole the phone jack off a wall in my house.
- jsheradin
- Location: USA
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.
Time to get going with the de-yellowing while I'm waiting on a package from Adafruit.
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.
Time to get going with the de-yellowing while I'm waiting on a package from Adafruit.
- jsheradin
- Location: USA
Armed with some 8% peroxide, large plastic bags, and a sous vide cooker I went about the un-yellowing.
I tried to not go too overboard on it, just get rid of the bit of orange tint it was picking up.
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.
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.
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.
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!
I'll probably replace the original feet since they are a bit gummy.
Used some satin 'fossil' colored paint for the power switch and IO shield. The color isn't perfect but it's pretty close.
Feature summary:
I tried to not go too overboard on it, just get rid of the bit of orange tint it was picking up.
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.
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.
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.
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!
I'll probably replace the original feet since they are a bit gummy.
Used some satin 'fossil' colored paint for the power switch and IO shield. The color isn't perfect but it's pretty close.
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
- SneakyRobb
- THINK
- Location: Canada
- Main keyboard: KB-5161A, F122, Dc2014, Typeheaven, Beamspring FXT
- Main mouse: MX518 Legendary
- DT Pro Member: 0242
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
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
- zrrion
- Location: United States
- Main keyboard: F122
- Main mouse: Microsoft IntelliMouse
- Favorite switch: ALPS SKCC Cream
- DT Pro Member: -
- Contact:
SKCC is pretty resilient as far as dust goes, so if they are presently clean I wouldn't worry about lubing them.
- matt3o
- -[°_°]-
- Location: Italy
- Main keyboard: WhiteFox
- Main mouse: Anywhere MX
- Favorite switch: Anything, really
- DT Pro Member: 0030
- Contact:
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.
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.
- anthonymak
- Location: Hong Kong
- Main keyboard: IBM Model F101
- Main mouse: Microsoft arc
- Favorite switch: Buckling Spring
- DT Pro Member: -
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.
- matt3o
- -[°_°]-
- Location: Italy
- Main keyboard: WhiteFox
- Main mouse: Anywhere MX
- Favorite switch: Anything, really
- DT Pro Member: 0030
- Contact:
what PCB?anthonymak wrote: ↑28 Dec 2020, 12:19nice 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.
- anthonymak
- Location: Hong Kong
- Main keyboard: IBM Model F101
- Main mouse: Microsoft arc
- Favorite switch: Buckling Spring
- DT Pro Member: -
I've got the pcb file from a guy "cerement".
anthonymak wrote: ↑28 Dec 2020, 12:19nice 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 (2.78 MiB) Viewed 17363 times
- jsheradin
- Location: USA
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
- jsheradin
- Location: USA
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.
- matt3o
- -[°_°]-
- Location: Italy
- Main keyboard: WhiteFox
- Main mouse: Anywhere MX
- Favorite switch: Anything, really
- DT Pro Member: 0030
- Contact:
that's really not bad at all
- Muirium
- µ
- Location: Edinburgh, Scotland
- Main keyboard: HHKB Type-S with Bluetooth by Hasu
- Main mouse: Apple Magic Mouse
- Favorite switch: Gotta Try 'Em All
- DT Pro Member: µ
Oh wow, this is special!
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!
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.
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!
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.
- Muirium
- µ
- Location: Edinburgh, Scotland
- Main keyboard: HHKB Type-S with Bluetooth by Hasu
- Main mouse: Apple Magic Mouse
- Favorite switch: Gotta Try 'Em All
- DT Pro Member: µ
I’m getting daft ideas about USB modding this keyboard while leaving the OG PCB in place. Please send medical assistance!
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…
How exactly did you build that firmware, anyway? I don’t know follow your instructions. Need to learn me some Feather-ese.
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:
- jsheradin
- Location: USA
Nice work! Cool to see how it was laid out originally.Muirium wrote: ↑22 Jan 2022, 18:21I’m getting daft ideas about USB modding this keyboard while leaving the OG PCB in place. Please send medical assistance!
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…
How exactly did you build that firmware, anyway? I don’t know follow your instructions. Need to learn me some Feather-ese.Spoiler:
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: