Conversion Immersion

I started this project where most people would choose to start; “does this thing work with Soarer’s converter / Hasu’s converters?” These are both really great projects that have saved me tons and tons of guess work in the past. Actually, that’s probably not a fair statement. A more accurate statement would be something like, “I would totally clueless how to convert a keyboard without these projects.” Unfortunately for me, both of these avenues were dead ends for this particularly strange board.

In addition to his converter(s), Soarer also developed a Simple Logic Analyzer program. Hmm this was a new concept for me. Up until now I figured that you press some keys, magic happens inside the board, and letters pop up on the screen. I tested his Simple Logic Analyzer program with an AT keyboard I knew to work and it seemed great. Unfortunately again, when I hooked it up to the Alloy I hit a dead end and was unable to get any output.

Pinout Panic

The pinout is typically supposed to be pretty simple to figure out. Vcc and GND in particular should be easy to identify. But since I’m still very new to this, I didn’t know exactly what I should be looking for. Luckily there are helpful people on the internet who took a look at my photos and informed me. It was starting to take shape as someone helped me figure out the one power line and the two ground lines. That left a few possibilities for data/clock (and maybe reset as well). I played around with this quite a bit but still couldn’t get the board to talk to me.

“Get Yourself a Real Logic Analyzer”

A member on Deskthority recommended I get my hands on a real logic analyzer; particularly one made by Saleae. I eventually did buy a Saleae (second hand), but only after trying and failing with another analyzer that was popular a few years back. I’m really blown away how easy and useful the Saleae software is to use. I’m so glad I was able to get a used analyzer for a decent price because the retail pricetag was way out of my range.

The War on Capacitors

The board still wasn’t working so I then set my sights on capacitors. Supposedly electrolytic capacitors degrade over time and go bad. Surely this had to explain why my keyboard wasn’t working! (Spoiler Alert: it didn’t). Never the less, I charged forward removing all of the existing electrolytic capacitors and replacing them with shiny new ones I bought from Mouser.

Signs of Life

At some point in this big mess I decided that maybe this isn’t a 5V device. I know basically nothing about electricity but I do know that step-up voltage regulators exists. I ordered a couple different ones from Pololu (9V, 12V). As soon as I worked in the step-up regulator, the LEDs lit up again, but this time they lit up much brighter.

I revisited the Soarer Simple Logic Analyzer, thinking that maybe it had some hidden magic that would help me. I plugged it in and suddenly got a screen full of output!

Hmmm, first the LEDs light up, then they get brighter, now I’m getting some (jiberish) output. Maybe this isn’t a lost cause after all.

I plugged it into my real logic analyzer and got the same thing. A bunch of squigily lines at this point was very promising to see. Well it turns out that those squigily lines translated to 54 as decimal or 0x36 as hex. A friend on the forums pointed out that this is the scancode for right shift for AT and XT.

After lots of tinkering and lots more coffee, I finally found the source of my output. A stabilizer wire on left shift was pressing down the key (oops). “Oops!” but also “yay!”, and even more so “what???”. Why does this one key suddenly work?

More Mysteries

So I have a single working key now. Why don’t the other keys work? I tried each one individually and found that there were actually three working keys on the keyboard: left shift, right shift, left control. Kind of interesting that these are all modifier keys but other than that, I still can’t figure out why only these three particular keys work.

I started to look into how the switches were matrixed on the PCB and realized that things were falling into two groups (duh):

  1. my three keys that work
  2. every other key

Each of the keys from group #1 were connected to GND and each to a pin on one of the ICs. Everything else (group #2) was matrixed to two pins on the ICs (i.e. not connected to ground)

Finally I checked the voltage for each of the individual ICs. Everything was looking good until I got to the last two. Aha! Something new to look into! To be completely honest, this was probably the first thing I should have checked. And if I knew more about this stuff, I would definitely have done that. But I don’t and I didn’t and here we are so whatever.

I poked around and finally discovered the source of the voltage pull down. One of the capacitors (that I had previously waged war against and removed from the board) I neglected to solder properly to case GND. Oops again!

What’s Your Protocol?

So I fixed my boo-boo. But did it change anything? In fact, it did! Suddenly I’m able to get output on my logic analyzer no matter which key I hit on the board. But strangely, only on one line. I still have two more lines that are doing nothing. My understanding is that I should be expecting a clock signal along with my data.

Maybe this board is just weird. Maybe it has no clock? The logic analyzer has an autobaud feature to guess the baud rate. When I enabled this it went straight to 4800 which seemed promising. Okay, so if the terminal and keyboard agree on a baud rate (which at 4800 seems plausible) then we don’t need no stupid clock line anyways.

So I pressed forward sans-clock. From here things became much simpler. Testing out different key presses it became apparent that the keyboard works with XT scancodes.

“Great, so it should work with Soarer’s!”

”…No, you’ve litterally tried that a hundred times. Besides, weren’t you listening? There’s no clock.”

Conversion is Imminent

It was at this point that I thought, time to take the next leap. Now I’m not about to crack open a book and learn low level C programming. But I could probably get my head around Arduino programming if I tried hard enough.

And this worked great. Working with the simple Arduino IDE was much more my speed. I was easily able to google different concepts and get a working program. While doing some of this searching, I came across Manak1n’s Open Source XT Converter, which he wrote as an Arduino sketch. This seemed perfect for my needs.

All I needed to do was modify Manak1n’s sketch to loop its reads from the serial pin instead of the clock-based reading that worked for his Model F XT. From there I was golden and the keyboard worked. Here’s the final product!

At the moment I’m sort of in the middle of several different projects, making very slow progress. So this will not be a finished job, but rather just the first piece of a multi-part project.

Keyboard

I picked up a keyboard assembly from an old Apple Macintosh Portable laptop from an eBay seller. I’ve been holding on to a set of keycaps from this same board for about a year, with plans to make a custom PCB for it. I figured this is a great interim project if I’m able to get the thing up and working.

The keyboard is really nice quality. It has Alps SKCM orange switches which are one of my favorite switches. It also has nice dye-sub keycaps that are very similar to the caps on the full-sized AEK/AEKII. The difference here is that the layout is similar to a 60% keyboard but instead of a full 15 units wide, it is only 14.5 units wide. I found this both very cool and very inconvenient.

Since it’s a bare board with no enclosure, I knew I wanted to build a case for it. I don’t really have any CAD skills or anything so my options for building a case were quite limited. I decided to go with a “sandwich” style case made from layers of laser cut acrylic (since my brain works much better in 2D).

Design

I used the open source vector drawing application Inkscape to begin my design. Using a combination of measuring and eyeballing, I built out the basic shape of the keyboard plate to use as a reference point. From there I began designing the different pieces I thought I’d need, basically just improvising. This resulted in a design like this:

Cutting

I’ve used Ponoko for laser cutting services in the past and I’ve been very happy with what they provide (though shipping is pretty expensive for small projects). The key to keeping the price down with this service is to have a simple design. I’ve had designs in the past with etched text on them and I found that the price shot up significantly. So for this project, I kept the design very simple and avoided pitfalls like that.

Assembling

Putting this together was like assembling a 3D puzzle. The pieces mostly fit but I of course ran into a couple issues due to my hasty measuring job.

The biggest problem that I ran into was one of the mounting holes. I mistakenly positioned it way wrong and knew I would have to deal with this on my own or else get another sheet cut (which I really wanted to avoid). So I attempted to drill my own hole instead.

I put masking tape over the keys to protect the switches from getting little flecks of plastic in them. Then I simply applied my drill skills, using the plate as a guide. I was surprised at how easy it was to drill a clean hole and got a little overzealous in the process. As a result, once I reached the bottom layer, everything went to pieces. The torque from the drill snapped the bottom three layers of acrylic in a very jagged and unclean way. I’ll explain how I attempted to remedy this problem a bit later.

I used acrylic glue to adhere all of the pieces together and I was pleased at how it was slowly taking shape. I also used a dremel tool to make a few adjustments to the acrylic cuts where my measurements were not perfect. I found that this process worked well enough for my purpose.

When I got to the broken bits, I glued them in place the best that I could with the acrylic glue. Then I inserted the mounting screw to act as a placeholder. I used a hot glue gun to fill in all of the spaces where I had ruined the acrylic. Once the glue set, I removed the mounting screw and found that it actually worked pretty well. I used a sharp razor to cut and clean up the hot glue mess that I had made.

Result

The case turned out better than expected. I really dislike how much the bright white color of the case clashes with the old-school shade of the caps so I know that I would like to do some more work on this front. Besides for that piece, my plans are to figure out how to convert it to USB so that I can use it with a modern computer.

First Impressions

I recently got this Zenith Z-150 off a friend online. He was unable to get it working with his Soarer’s converter so I figured I would give it a shot. If it didn’t work out, I could always just harvest the nice green Alps switches (linear and smooth).

When I got the board it was in pretty good shape. The only issue that I found was that the plastic screw holder pieces (that keep the plate/PCB in place) had broken off. This is a problem that I hear is very common with this particular keyboard. The assembly of this thing is a bit strange in that the plate/PCB are secured to the top cover instead of the back.

Disassembly

The keys felt a little rough on this out of the box so I knew I wanted to clean the switches. I really didn’t want to desolder the whole board so I decided to disassemble the switches in place.

You can do this fairly easily by inserting a plastic shim on the sides where both tabs are. Then you pull up on the top housing and sort of wiggle the switch until it’s open. This gives you:

  • The top housing
  • The spring
  • The slider
  • The click leaf (no click leaf in this case)

Obviously since the switch is still soldered in place you do not get the switch plate nor the bottom housing since these are still secured to the board.

The lock switches had attached LEDs so I did have to desolder these switches from the board in order to clean them.

Cleaning

I ran each of the switch pieces through the ultra-sonic cleaner to clear out all of the dust and get them feeling smooth again.

Next I moved on to the PCB/plate assembly. This was also a bit dusty but I can’t exactly put it in the ultrasonic cleaner. In the past I have tried cleaning these things using rubbing alcohol and q-tips but that is a super tedious process that isn’t really worth it. This time I stuck with just blowing the whole thing out using compressed air.

I recently picked up a new little gizmo. I have previously been buying cans of compressed air (which are not cheap and don’t last very long). I finally decided to buy an electronic “air duster thing” and I’m really happy I did. It was about $50 and works fantastically. It’s still worth it to have a regular can of air on hand for tiny stuff but the this electric one is pretty awesome.

Lubing

The green Alps switches are linear and are supposed to be nice and smooth. I have tried a few different lubricants on switches in the past but I do not really have experience with dry lubricants. Dry lube is recommended for Alps switches since they are very susceptible to dust. Wet lubricants attract dust and cause the switch to feel scratchy in the longrun.

I tried my hand with a product that I’ve seen recommended for this purpose in the past: DuPont Teflon Non-Stick Dry-Film Lubricant. Supposedly any dry lubricant with PTFE should do the trick. I didn’t have a very artful way of applying the spray lubricant. Basically, I just put all of the sliders in a bowl, gave them a few sprays, shook them around, and repeated that a couple of times. After I felt everything was evenly coated, I spread them out on a piece of tin foil to dry. When the lube dries it leaves a light white film. So you can kind of tell how evenly you’ve sprayed things.

Reassembly

When I was ready to put it all back together, I started by reassembling all of the switches that I had removed. The main ones went right back into place. I find it’s easiest to assemble things inside the top of the switch housing, then hold the PCB upside-down to slide it into place. Here’s a video of this process.

I lost the springs for the three lock keys so I decided to put some aftermarket springs to use. I recently picked up a whole bunch of SPRiT Alps replacement springs to make a bunch of switch testers. I used the heaviest (125cN) springs for these three lock keys in order to give them a bit of a different feel.

Then I tried to address the broken screw holes. I’m not an expert in plastics and barely know what I’m doing half the time so I improvised the best I could. I built up some new screw holes with hot glue and then held those screws in place with even more hot glue. I like hot glue because it works fairly well and it’s not permanent.

Finally I used some shelf liner foam stuff on the bottom of the case to try to reduce sound and vibration. It’s a really thin sheet of foam and I’m holding it in place with more hot glue.

Final Thoughts

I’m not really crazy about this keyboard. I like all of the individual pieces; I like green Alps, I like sturdy cases, I like lots of metal. But for some reason it just doesn’t come together in an awesome way.

It also has a horrible clicker that I don’t know how to turn off. Man this thing is annoying!

Introduction

Ever since trying my first buckling spring board I’ve wanted to get my hands on an IBM Model F. The consensus seems to be this: it’s everything great about the Model M but even better. The case, plate, switches, keycaps, even the feet; all are better versions of the components in the Model M. The only downside I see to this board is that the layout is different than what I’m used to using.

I was excited to find one for sale at a good price. It needed a lot of cleaning but I figured it looked totally functional (forgot to ask this important question). I actually found out that the seller wasn’t able to test the board which is why he was selling at a discount (oops).

Disassembly

A really charming quality of this keyboard is that it can be completely disassembled. That makes cleaning and repair work much easier.

I started by removing and cleaning all of the keycaps in the ultrasonic cleaner. The caps are high quality dye sub PBT and are all one piece (my Model M keycaps are two-piece). This little bit of cleaning actually really brought the keys back to life and that’s when I started to see that this board was just dirty and not in bad shape at all.

One very tricky part about disassembling this board is figuring out how to detach the plate from the PCB. Basically the plate has clips/tracks along the top/bottom and the PCB slides into place; sandwiching all of the little barrels with a sheet of foam. There’s really no elegant way to take these pieces apart. I tried tapping with a mallet but ultimately opted for the “slam it on the table” approach. Luckily this thing is a beast and will probably outlive me.

Cleaning

The plate had a few tiny spots of rust that I tried treating with a product called Evapo-Rust. This worked great at removing the rust but also started removing the paint as well. The paint is necessary to protect the steel from rusting so I knew I’d have to deal with this.

I decided to commit and ended up stripping the rest of the paint off completely so that it was just the bare metal. Then I re-painted it with three coats of Rustoleum acrylic paint. I was nervous that this might add too much thickness to the plate and pieces wouldn’t fit properly but it turned out totally fine. I actually think the blue looks pretty cool as well.

Reassembly

Putting this board back together is really easy if you do everything in the right order. This is the order that I should have followed in the first place:

  1. Put plate sandwich back together
  2. Put spacebar keycap on
  3. Put spacebar stabilizer wire on
  4. Reattach cord
  5. Close case

Final Thoughts

I now buy into all the the Model F hype. I’m very excited to receive my F77 from the “Brand new Model F” group buy project that Ellipse is running. I would love to see how it compares. Thanks for reading :)