I'm Blue Da Ba Dee Da Ba Die...
Finished project - Alp64 with Blue switches

I'm Blue Da Ba Dee Da Ba Die...

Blue Alps Build (Video Log)

Back in December I wrote about my search for a blue alps donor board
Blue Alps64 for another 60% alps-mount board I was planning on building. This will be my third board based on Hasu’s Alps64 PCB, and second built from Bluenalgene’s Alps Party group buy on Geekhack.

The other two builds were exercises in learning about the custom-keyboard world, and in sourcing parts. This build was far more ambitious. I wasn’t simply accumulating and assembling parts - I got far more involved than that. This was definitely my most rewarding build yet. Six or seven months of preparations and acquiring parts culminated in a marathon 12 hour build session.

I’ve never before built a board in a single day, much less a sitting. I’ve always broken the build up into a couple sessions over a few days. This was an exhausting marathon, but I’m incredibly pleased with how it turned out.

The Parts

The Plate

http://imgur.com/ksIESvH

I had originally bought a Infinity layout plate for this buy, but later changed my mind and decided a HHKB layout plate would be better for this build. After much searching I was able to source a plate from another user on Geekhack. This being a blue themed build, the only sensible option was to paint the bare steel blue.

I’ve never dealt in painting anything before, much less something I want to look beautiful, but I made my best effort anyway.

First was primer (sanded).

http://imgur.com/1NLMp6s

Followed by three or four coats of color, with intermittent sanding in between coats.

http://imgur.com/MFjj0Wx

http://imgur.com/XTi6DAI

Finished with a clear coat enamel.

http://imgur.com/7JcnKRX

http://imgur.com/ShTP0fC

Getting the plate powder coated would have been a better option than spray paint perhaps, but out here in the middle-of-nowhere Iowa finding a good business to do so would prove difficult. There were certain difficulties with painting the plate, as I live in an apartment. With no garage or workshop to paint in, I was relegated to painting in a cardboard box outside, and praying the elements or dust didn’t muck up the paint. In my opinion the plate looks great.

The Lube

This build was also my first time endeavoring to lubricate my switches. Blue alps are known for being the smoothest and best feeling of alps-mount switches, and the ones from my donor board were very nice. Still, given their age and apparent dirtiness (what can one expect after 20+ years) I felt lubing them would only improve the feel.

http://imgur.com/nemeemP

I initially tried a thin linear krytox lube. Krytox is very popular in the community, and is regarded by many as the best option for lubing switches. I chose the thin lube to try to provide only a small amount of lubrication. I was disappointed to discover that krytox, applied even very sparingly removed the lovely click from the blue switches and completely modified the feel.

I ended up opting for DuPont Silicone Teflon lubricant - per this guide. Each donor switch was disassembled and had a light amount of lube applied to the slider(on the sides), the top housing (where it meets with the slider sides), and spring. The difference between the unmodified and lubricated switch is subtle, but very pleasant. The tactile feel remains, but actuation is smoother. The click is perhaps a bit subdued and lowered, and spring ping is almost entirely eliminated. I quite like it.

I also chose (per Ripster’s recommendation & lube guide) Finish Line Teflon grease for lubricating the stabilizers. I haven’t felt a need to lubricate my cherry boards nor my White Alps board
White Alps64 (which uses entirely vintage stab clips and wires), but I did notice the mishmash of modern and vintage clips and wires in my Orange Alps
Orange Alps64 build weren’t smooth. This is the downside of adapting old boards and layouts into different layouts - one is forced to mix vintage and modern stab components. The Finish Line lube does a fantastic job of keeping the stabilizers smooth and feeling great.

The Keycaps

Alpine Winter [Source]

Keycaps for this board are from njabair’s Alpine Winter group buy. They are doubleshot thick ABS alps-mount DCS profile caps from Signature Plastics. As far as I’m aware they are the only community designed alps keycap set to have been made. Alpine Winter supports most 60% layouts all in a single set. It’s gorgeous, and it was brilliantly timed to accompany Alps Party 3 and Monarch. The initial run wasn’t without its problems - due to a manufacturing error by Signature Plastics many caps have mismatched heights. SP is opting to rerun the entire set at no extra charge to rectify the error. Also, the flashing on the stems has been found to be slightly too large (what can be expected from 20+ year old tooling), but this is easily remedied with an Xacto knife.

I’ve never used DCS profile before, but it is fast becoming my new favorite profile. Unlike OEM, Cherry, and AEK, rows 3 and 4 are sculpted and arch back up. The sculpt is gorgeous and feels great. I’m incredibly pleased with this keycap set.

DCS Profile
[Source]

After the first fitting:

http://imgur.com/OopOLSJ.jpg

The Code

Code for this board is mighty similar to my other builds. It uses the basic ANSI layout I have for my Orange build
Orange Alps64, with changes for the bottom row, the function toggle, and backspace/delete positioning.

#include "keymap_common.h"

/*
 * HHKB
 */
const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* 0: DEFAULT LAYER
 * ,-----------------------------------------------------------.
 * |Esc|  1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -| =|BSLS|DEL|
 * |-----------------------------------------------------------|
 * |Tab  |  Q|  W|  E|  R|  T|  Y|  U|  I|  O|  P|  [|  ]|DEL  |
 * |-----------------------------------------------------------|
 * |Ctrl  |  A|  S|  D|  F|  G|  H|  J|  K|  L|  ;|  '|Enter   |
 * |-----------------------------------------------------------|
 * |Shft|  \|  Z|  X|  C|  V|  B|  N|  M|  ,|  .|  /|Shift |FN2|
 * |-----------------------------------------------------------'
 * |    |GUI |ALT |      Space/FN1    |ALT  |GUI |    |        |
 * `-----------------------------------------------------------'
 */
[0] =KEYMAP( \
    ESC, 1,   2,   3,   4,   5,   6,   7,   8,   9,   0,   MINS,EQL, BSLS, DEL, \
    TAB, Q,   W,   E,   R,   T,   Y,   U,   I,   O,   P,   LBRC,RBRC,BSPC, \
    LCTL,A,   S,   D,   F,   G,   H,   J,   K,   L,   SCLN,QUOT,ENT,  \
    LSFT,NUBS,Z,   X,   C,   V,   B,   N,   M,   COMM,DOT, SLSH,RSFT,FN2, \
    NO,LGUI,LALT,          FN1,                     LALT, LGUI,NO,NO),

  /* 0: MORGAN LAYER
  * ,-----------------------------------------------------------.
  * |GRV  |MUTE|VOLD|VOLU|MPRV|MPLY|MNXT| 7| 8| 9| 0| -|BSLS|DEL|
  * |-----------------------------------------------------------|
  * |Tab  |  Q| UP|  E|  R|  T|  Y|  U|  I|  O|  P|  [|  ]|DEL  |
  * |-----------------------------------------------------------|
  * |Caps|LEFT|DOWN|RIGHT|  F|  G|  H|  J|  K|  L|  ;|  '|Enter |
  * |-----------------------------------------------------------|
  * |Shft| \|  Z|  X|  C|  V|  B|  N|  M|  ,|  .|  /|Shift |TRNS|
  * |-----------------------------------------------------------'
  * |    |TRNS |TRNS |         Space         |TRNS |TRNS|  |    |
  * `-----------------------------------------------------------'
  */
};

/*
 * Fn action definition
 */
const uint16_t PROGMEM fn_actions[] = {
    [0]  = ACTION_LAYER_MOMENTARY(1),                  // Default
    [1]  = ACTION_LAYER_TAP_KEY(1, KC_SPC),            // MORGAN LAYER
    [2]  = ACTION_LAYER_TOGGLE(1),
    [3]  = ACTION_LAYER_MOMENTARY(2),                  // CMD Layer
    [4]  = ACTION_MACRO(COPY_TAB_PASTE),               // Copy tab paste in browser
};

The Result

The blue theme really came together with this build. It’s blue on blue on blue on blue. The board looks absolutely gorgeous, the switches feel fantastic. With this build I pushed my abilities and built a board I love. This board is fast becoming my favorite, and is a contender to be my new daily driver.


Typed on Blue Alps64