Author Topic: The Apple M0110 Today  (Read 38576 times)

0 Members and 1 Guest are viewing this topic.

Offline lowpoly

  • Thread Starter
  • Posts: 1749
The Apple M0110 Today
« on: Thu, 11 August 2011, 06:47:52 »
Finished my M0110 mod. This is the keyboard that came with the original Macintosh 128k.

Features:

    [*]NKRO (6KRO right now)
    [*]Hand wired matrix with diodes
    [*]Spring switch replacement: 61g --> 40g
    [*]Mini-USB connection with Teensy controller
    [*]Case and keys retr0brited.
    [*]Colemak and Qwerty switchable
    [*]2nd Miniguru-like layer
    [*]Much quieter because of pcb removal and lighter switch springs
    [*]MouseKeys[/list]

    This makes the keyboard fully usable, I'm writing on it right now.

    One of the main points of this mod was to establish easy and repeatable hand wiring. The hand wiring mods I've seen so far all had a lot of unordered wires going, which makes hand wiring look more complicated than it actually is. Using 1N4148 diodes makes the wiring more simple because it can be done in an ordered way. It also simplifies the code. The diodes were even cheaper than the wire I had to buy for the columns.

    Now the pics, first the "before" state. Both 'boards were defective when I bought them. I retr0brited the upper one, so in case the retr0brite failed, I'd still have the lighter one:


    Pcb removed. The switches are much quieter without the pcb:


    Made in USA:


    The dust bunny's natural enemy:


    Old-school Alps:


    Replacement springs from a Dell AT. I measured 60grams to fully press the switch before the spring mod, 41grams after. I used the coins I had in my pocket, then put them on a precision scale. Ripster measured 70 something grams. There were different revisions of this keyboard though:


    1N4148, as recommended by Dave Dribin:


    Testing every switch before assembly. I had 2 bouncing switches in the finished keyboard but this can be solved by pressing them several (thousand) times. I guess this is why Cherry uses gold contacts. I also put some Teflon spray on every switch stem:


    Different revisions. I used the top one which was more yellowed and has two drainage channels:


    Using diodes for the rows. Only with longer distances between the switches additional wire will be necessary:


    Wire for the columns. Finer wire would have done but this here has more resistance to occasional bad handling by me. Note how the columns are soldered to the endpoints of the switch contacts. This puts the columns in another layer avoiding shorts:


    Flat ribbon cable soldered to the rows and columns. NKRO matrix finished. Fast and easy.


    The one thing that's not good on the Teensy is that it has no mounting holes. I milled a U-shaped socket from a piece of POM. Added two holes for cable binders:


    A round piece of POM will press the reset button:


    POM doesn't like to be sanded. I'll glue this with double-sided transparent sticky tape to the case:


    The complete Teensy assembly:


    And this is how it looks in the keyboard:


    In the original M0110 the phone jack is held by the pcb. I added a piece of aluminum to replace this holding function, screwed to the plate with the original screws (arrows):


    Aluminum part other view:


    What's this? Key is fully seated on the stem:


    The M0110 has a locking switch for CapsLock which has a shorter stem. It is not even pressed in this pic. I use CapsLock as Control so I had to get rid of the locking switch:


    CapsLock key on the left shows compensation for the shorter stem. A little Dremeling takes care of this:


    Controller glued into place with isolation layer:


    Because the pcb is missing, the plate/switch assembly would be seated 1.5mm too low. While this would be fine for a keyboard that is quite high from the start, I went for the original look here. Rubber washers should add additional dampening:


    The original gray feet were in bad condition. I used black rubber with sticky tape. Original feet are smaller but at that size the rubber feet slid around in the foot cavity. Larger feet work better here. Still have to find some gray stuff for this. The black dot on the right is the Teensy reset button:


    Retr0briting in 10% Peroxide solution. 6 hours for case and keys, 12 hours for the space bar. I'd stir from time to time and remove the bubbles that build on all surfaces:


    Finished:


    Another pic:


    And another one:


    Comparison with the non-retr0brited 'board, which initially was the lighter of the two:


    Sound sample modded vs. unmodified:


    original: http://www.frs635.com/keyboard/m0110/m0110old.mp3
    modded: http://www.frs635.com/keyboard/m0110/m0110new.mp3

    Programming: Thanks to hasu for help and for making his code available. He's awesome.

    The M0110 code is based on his Macway code. Because of the diodes I had to rewrite for 5 rows and 14 columns.

    The WinAVR environment is very comfortable. Change something, select "Make All" from the menu, select "Program" from the menu and you will be asked to press the Teensy reset button. After pressing it programming will proceed and the Teensy will reboot. Ready for testing.

    hasu's code also allows for permanent switching of layers. Per default I have Colemak. I can press Shift+Shift+1 and will have Qwerty. The Fn-layer will still work. Shift+Shift+0 will switch back to Colemak. Shift+Shift+2 will switch to the Fn-layer. Permanently, if you don't have a 0 or 1 on it. :)

    Edit: MouseKeys are working now on WASD, buttons on Q and E, wheel on R and F.

    It's easy to program something that'll make the Teensy crash. In that case the HID keyboard will vanish from the device manager after about 5 seconds.

    I didn't activate full NKRO (using multiple devices) in hasu's code. I don't need it and without it there will be no compatibility issues.

    No anti-ghosting code necessary because of the diodes.

    One idea I had during building was: with plate mounted keys and hand wiring it would actually be possible to bend the plate like on a Model M. This would allow for the same keycap profile on all keys and still have a cylindrical cross section for the rows!
    « Last Edit: Fri, 01 June 2018, 09:58:27 by lowpoly »

    Miniguru thread at GH // The Apple M0110 Today

    Offline mr_a500

    • Posts: 401
    The Apple M0110 Today
    « Reply #1 on: Thu, 11 August 2011, 07:04:03 »
    Wow, that's an awesome, professionally done mod.
    « Last Edit: Wed, 17 August 2011, 10:16:35 by mr_a500 »

    Offline Half-Saint

    • Posts: 371
    The Apple M0110 Today
    « Reply #2 on: Thu, 11 August 2011, 07:06:32 »
    Great job especially the wiring! You are my inspiration, mister!
    IBM Model M (6) - Acer Alcatel 6312-KW - IBM Model M Space Saver - IBM Model M 122-key - Cherry G80-3000 (2) - IBM Model F AT - TG3 BL82A (2)

    [SIGPIC][/SIGPIC]
    _______________________________________________
    My geek blog: http://onlyageek.blogspot.com/
    Flickr: http://www.flickr.com/photos/mr_mayhem/

    Offline mtl

    • Posts: 180
    The Apple M0110 Today
    « Reply #3 on: Thu, 11 August 2011, 07:09:12 »
    Exceptional keyboard, lowpoly.  The ribbon cable is beautiful.

    What are you using as Fn? Enter? Is the teensy recoverable if you permanently switch into a mode (sounds like it would just require reset/reprogramming) or crash it?
    MX13 SpaceSaver | Phantom | Tactoblack Filco -10 | Realforce 103U-UW | Variable Clicky Deck 82 | Deck Legend

    Offline kaiserreich

    • HHKB Elite
    • Posts: 880
    • Location: Malaysia
    The Apple M0110 Today
    « Reply #4 on: Thu, 11 August 2011, 07:17:59 »
    Awesome mod.

    The most remarkable part is probably the very nice Wiring + Diodes that you have done

    Offline lowpoly

    • Thread Starter
    • Posts: 1749
    The Apple M0110 Today
    « Reply #5 on: Thu, 11 August 2011, 13:03:03 »
    Thanks for the comments.

    Quote from: mr_a500;396929
    but why put all that effort into such an ugly keyboard? The size is cute, but the colours are what get me. (I believe the colour is known as "puce".... very similar to "puke".)

    I'd want to at least replace the keycaps with nice doubleshot black ones from a TRS-80 Model III or TI-99/4a. (same switches as M0110)

    I like the first Mac since I've seen it in at a computer fair in the early eighties. There were even cool bags for it to make it portable. The keyboard is the HHKB of the eighties, just compare the (physical) layout. So this had to be done. :) It must look original for this.
     
    Quote from: mtl;396932
    What are you using as Fn? Enter? Is the teensy recoverable if you permanently switch into a mode (sounds like it would just require reset/reprogramming) or crash it?

    Fn is the (Apple ?) key left to space. I use the left thumb for Fn, right thumb for Space. You can do the permanent switch as often as you want. First time I (permanently) switched to the Fn layer I found that I couldn't switch back because there wasn't a 0 or 1 in the Fn layer (number keys are F keys here). I put a 0 on \ and can switch back to Colemak now. Reset would do as well.

    I never had to reset the Teensy from a crash. The software would either run or not. If it doesn't run the Teensy can't be found in the device manager and no reset is necessary to reprogram it. Kind of counter-intuitive but that's how it is.

    Miniguru thread at GH // The Apple M0110 Today

    Offline Wibox

    • Posts: 75
    The Apple M0110 Today
    « Reply #6 on: Thu, 11 August 2011, 13:11:10 »
    Wow that's sick.
    !! YKBDS !! - KBC Poker (Ergo Clear Cherry) - Apple M0116 (Pink ALPS) - Apple M0115 (Orange ALPS) - Das Keyboard (Blue Cherry) - IBM Model F - IBM Model M - Dell AT101W (White ALPS) - Cherry POS 8000 (Clear Cherry) - Apple Extended II (Cream ALPS)

    Offline xwhatsit

    • Posts: 297
    • Location: NZ
    The Apple M0110 Today
    « Reply #7 on: Fri, 12 August 2011, 03:36:03 »
    Wow, great job. What an interesting way of wiring a matrix! Very impressed with the attention to detail.
    Beam spring IBM 5251 (7361073/7362149) & IBM 3727 (5641316) | Model F IBM 122-key terminal & IBM PC-AT 84-key | Model M Unicomp 122-key terminal | Cherry MX Blue Leopold Tenkeyless

    Offline hasu

    • Posts: 3471
    • Location: Tokyo, Japan
    • @tmk
      • tmk keyboard firmware project
    The Apple M0110 Today
    « Reply #8 on: Fri, 12 August 2011, 05:44:21 »
    damn nice!

    mmm, beautiful and skillful soldering work...


    Offline czarek

    • Posts: 627
    • Location: Poland
    • Keep the momentum going!
      • FalbaTech
    The Apple M0110 Today
    « Reply #9 on: Fri, 12 August 2011, 12:56:58 »
    Truly amazing stuff!
    My little ErgoDox / GH60 factory: http://falbatech.pl

    Offline elbowglue

    • Posts: 583
    The Apple M0110 Today
    « Reply #10 on: Sat, 13 August 2011, 02:15:19 »
    Hot.
    My keyboards: Filco Cherry Blue Tenkeyless(daily home), Compaq MX11800 (modded to blacks), Compaq "MX 84u",  Wellington\'s Dampened Endurapro, Pinkalicious Filco Blue Cherry, Chicony KB-5191, Chicony KB-5181, Desko MOS 5023 UP "elbowglue" spos (modded to blues), Siig Minitouch (monterey blue), SMK-88 (blue cherries), Ricercar SPOS
    Smallest to biggest keyboards in inches (Length X Height) - Length is most important for a midline mouse position

    KBC Poker: 11.6 x 3.9 - HHKB: 11.6 x 4.3 - Siig Minitouch (Geekhack Space Saver): 11.6 x 6 - Deck/Tg3 82: 12 x 6 - Noppoo Choc Mini 12.4 x 5.3 - Compaq "MX 84u": 13.1 x 7.5 - Filco Tenkeyless: 14 x 5.3 - Cherry "ricercar spos" G86-62410EUAGSA: 14 x 7.75 - Topre Realforce 86u: 14.4 x 6.65 - Desko "elbowglue spos" MOS 5023 UP: 14.5 x 8.4 - IBM Model M Spacesaver: 15.3 x 7 - G80-1800: 15.9 x 7.1 - Adesso MKB-125B: 16 x 7.3 - Compaq Mx11800, Cherry G80-11900: 16.25 x 7.5 - Filco Standard: 17.3 x 5.4 - Unicomp Endurapro: 17.9 x 7.1 - Adesso MKB-135B: 18.3 x 6.0 - Cherry G80-3000: 18.5 x 7.6 - IBM Model M, Unicomp Customizer: 19.3 x 8.27

    Offline noxiq

    • Posts: 9
    The Apple M0110 Today
    « Reply #11 on: Mon, 15 August 2011, 04:08:12 »
    Looks really clean. Nice mod!
    Gee Gee Gee Gee Baby Baby Baby.

    Owns: Realforce 87USW

    Sold: Filco tenkeyless w/ browns

    Offline hyperq

    • Posts: 42
    The Apple M0110 Today
    « Reply #12 on: Mon, 15 August 2011, 04:19:04 »
    Outstanding!  Any plans to make it wireless?
    Office: Filco Majestouch 2 Brown (FKBN104M/EB2) | Logitech Wireless Trackball M570
    Home: Thinkpad X200\'s built-in keyboard | Logitech Wireless Laser V550 Nano
    HTPC: Logitech Wireless Keyboard K270 | Logitech Anywhere Mouse MX

    Want to buy: A mechanical keyboard with following features.

    Offline lowpoly

    • Thread Starter
    • Posts: 1749
    The Apple M0110 Today
    « Reply #13 on: Mon, 15 August 2011, 13:13:10 »
    :)

    Quote from: hyperq;399159
    Outstanding!  Any plans to make it wireless?
    Not for now. But there's still a lot of space in the case.

    MouseKeys do work now. I just changed the Product ID. Changed it back afterwards, MouseKeys still work.

    Added sound files to the first post:

    old:  http://www.lowpoly.com/keyboard/m0110/m0110old.mp3
    new: http://www.lowpoly.com/keyboard/m0110/m0110new.mp3
    « Last Edit: Mon, 15 August 2011, 13:15:57 by lowpoly »

    Miniguru thread at GH // The Apple M0110 Today

    Offline microsoft windows

    • Blue Troll of Death
    • * Exalted Elder
    • Posts: 3621
    • President of geekhack.org
      • Get Internet Explorer 6
    The Apple M0110 Today
    « Reply #14 on: Wed, 17 August 2011, 09:05:30 »
    Looks like a nice keyboard!
    CLICK HERE!     OFFICIAL PRESIDENT OF GEEKHACK.ORG    MAKE AMERICA GREAT AGAIN MERRY CHRISTMAS

    Offline wcass

    • Posts: 506
    • Location: Fort Lauderdale, FL, USA
    The Apple M0110 Today
    « Reply #15 on: Sat, 17 September 2011, 14:28:58 »
    i have only seen hasu's code as an adapter - used between the original controller and a USB cable. you use it as a controller connected directly to the matrix. would you mind posting a reference link - i was thinking of building an Aikon, but i already have a teensy. and i want mouse keys which the Aikon does not do.

    Thanks

    Offline wcass

    • Posts: 506
    • Location: Fort Lauderdale, FL, USA
    The Apple M0110 Today
    « Reply #16 on: Sat, 17 September 2011, 18:18:49 »
    « Last Edit: Sat, 17 September 2011, 21:40:12 by wcass »

    Offline E TwentyNine

    • Posts: 884
      • Some of My Keyboards
    Re: The Apple M0110 Today
    « Reply #17 on: Mon, 13 October 2014, 13:39:40 »
    Saw this linked from a recent thread, just had to comment what a well done mod and excellent write up this is.
    Daily driver: SSK or Tenkeyless IBM AT
    1984 Model M Industrial Prototype ⌨ 1992 Black Oval Industrial SSK ⌨ 1982 5251 Beam Spring ⌨ 89 Key "SSK" ⌨ M13 triplets

    Offline dorkvader

    • Posts: 6288
    • Location: Boston area
    • all about the "hack" in "geekhack"
    Re: The Apple M0110 Today
    « Reply #18 on: Mon, 13 October 2014, 19:36:13 »
    Yes, this is the standard. It set a high bar, and I use it as a reference and as a resource.

    Offline henz

    • * Exquisite Elder
    • Posts: 1284
    • What?
    Re: The Apple M0110 Today
    « Reply #19 on: Tue, 07 April 2015, 05:01:22 »
    Question, did you ever try sticking newer alp switches into the plate? im considering buying a m0110 but im not sure about the skcc switches.

    Offline U47

    • Posts: 99
    • Location: YEG
    Re: The Apple M0110 Today
    « Reply #20 on: Thu, 23 April 2015, 23:36:23 »
    Question, did you ever try sticking newer alp switches into the plate? im considering buying a m0110 but im not sure about the skcc switches.

    The keycaps only fit on the SKCC stems, so other Alps switches would need their own keycaps, and the Helvetica Bold legends on the M0110 keycaps are worth keeping the switches.

    In my case, I've now collected 5 M0110s to mix and match any switches that are broken. The same SKCC is popular on Apple IIE keyboards (non-platinum, I believe) so you can source spares from many places. I even have spares if you're interested.

    I really like the feel of the SKCCs. Linear, fairly stiff, but a solid feel to them. Lots of people think they're too stiff, and you can mod the switch springs if that's the case (as Lowpoly did).

    Offline cribbit

    • Posts: 288
    Re: The Apple M0110 Today
    « Reply #21 on: Fri, 28 October 2016, 03:27:07 »
    I know it's an old thread, but this is linked as a handwiring guide and seeing the ribbon used makes this super relevant.

    This thing perfectly fits a teensy.

    I found this while doing my own custom build, which has some pictures of the cable in use.

    Saves a lot of effort and adds some prettiness on the connection of the ribbon to the teensy. Ribbon is definitely the way to go when connecting your switch wiring to your teensy.
    I typed this post on my Slanck. I also developed a stronger, cleaner, easier handwiring method.


    Offline ideus

    • * Exalted Elder
    • Posts: 8123
    • Location: In the middle of nowhere.
    • Björkö.
    Re: The Apple M0110 Today
    « Reply #22 on: Fri, 28 October 2016, 07:31:27 »
    I always think that the Apple M0110 is one of the best designed keyboards ever and resurrecting this thread is not a bad thing.

    Offline menuhin

    • Posts: 1225
    • Location: Germany
    Re: The Apple M0110 Today
    « Reply #23 on: Fri, 28 October 2016, 08:25:26 »
    Artfully restored.  :thumb:

    Nice necro this time!

    I and some other members have been waiting for another project (Miniguru) of the OP to complete in the future.  :cool:
    Wishlist: 1) nice thick Alps caps; 2) Cherry profile POM;
    More
    Wishful-list: 1) We order from keyboard-layout-editor.com; 2) usable Trackpoint module for all keyboards
    IBM M13 black
    NeXT non-ADB keyboard (AAE)
    HHKB Pro 2 HasuBT
    [~90WPM, in love with Emacs, and Lisp]