Double feature keyboard review!

Current status

  • <2017-07-11 Tue> At $work there's a 3d printer, so I'd like to try printing a new case for my Atreus, or at least a new top- and bottom- plate, because changing the entire case would require resoldering the components. Unfortunately, the MakerBot 2 Replicator I have access to has a too small printing plate to fit the size of the Atreus. I'm thus trying to change the Openscad source code to obtain two symmetrical halves for each plate, to be printed separately.


  • A couple of things I need to fix are multimedia keys (there's a couple of holes in the third layer that I might use for that) and the compose key.
  • <2017-03-28 Tue> Made the switch, today I used exclusively the Atreus. There are commands I had buried into my muscolar memory I now have to re-learn, but that's ok.
  • Lately, Jeremy Cowgar posted on the Atreus mailing list his own creation, a Colemak variant that features a clever repositioning of the Return, plus some macro examples.
  • I'm currently using technomancy's latest "alt" layout, which features cursor keys on the second layer. That's much better for the software I use. <2016-11-02 Wed>
  • I think I'd like to have more keys in the "thumb cluster".
  • After some practice I type much faster and more confortably.
  • Trying out QMK firmare <2017-09-10 Sun>
    • Since I don't do it very often, I always forget the procedure to upload a new firware. Some notes for myself:
      • /dev/ttyACM0 is the correct device to send the .hex compiled firmware to, but it appears only when the keyboard is in reset mode
      • flashing a new firmware requires to be executed as root
      • due to the specific kit I possess, I needed to add OPT_DEFS + -DPCBDOWN= is the files located in keyboards/atreus directory
  • <2017-10-01 Sun> I could not understand what the default layout I intended to use had wrong.
  • <2018-08-03 Fri> Phil Hagelberg, original Atreus designer, prepared a web QMK configurator. I still have to give it a try, but it looks useful.
  • <2018-10-03 Wed> Trying LT() to switch to layers (so my space key acts as Space when tapped, or momentarily activates layer 2 when held). An important part in this setup is that the key has to be set as KC_TRNS in the layer momentarily activated.


  • <2020-03-27 Fri> kickstarted a project to produce a professionaly manufactured version of Atreus. The design is slightly different (different number of keys, different switch options, different firmware, detachable cable). Funding goal was reached within 7 minutes since the start, which I think is quite remarkable.
  • <2020-10-10 Sat> The new keyboard arrived. Here the layout I'm currently using. It does not diverge too much from the factory configuration: I added extra functions to Esc (when held) and Alt (when tapped).


Code 87

originally published in August 2015

Last year, after many months spent in thinking, scouting the market and evaluating, I eventually bought myself a mechanical keyboard. I chose the CODE 87 model by WASD Keyboards, a keyboard designed and produced together with Jeff Atwood: it is a distillation of their ideas about how keyboards should be.

I never had a mechanical keyboard before, besides the old and glorious IBM model M back in the high school days, when I was using a PS/2 80286.

But I have a penchant for keyboards, and I thought I could appreciate the benefits I would gain from a more sophisticated construction.

I've now spent some months using the CODE Keyboard every day at work, so here my impressions.


The common denominator of the reviews I read before buying and receiving my CODE 87 is that they're sturdier and more reliable than the average. I concur.

The body is pleasantly heavy (wherever you put it, there it stays: it takes more than the tension of a USB cable to move it).

I planned to use the keyboard in the office open space, and my co-workers already made their aversion for "clicky" keyboards very clear, so I chose clear switches: it means I got tactile feedback but they're not noisy.

Owning the CODE

It is true one could buy a dozen perfectly usable keyboards for the price of a single CODE, but it is also true you would not have such a solid, robust and precise device at your fingertips. It's a matter of taste: I love the feeling of typing on it, and it makes working more pleasant and more rapid.

Atreus Keyboard kit


After one year with the CODE Keyboard I was happy but I still had the ergonomic itch to scratch. Also, I wanted something I could hack and customize. So I decided to buy one of Phil Hagelberg's Atreus kits. The schematics and the software are open, so if you're more expert you can put one together using spare parts (diodes and wires plus switches and key-caps) and cutting yourself the enclosure from plywood (or maybe 3d-printing it for a more modern look).

Assembling the keyboard

I had no previous experience with soldering. At all. Moreover, I'd classify myself as manually inept, so I feared the assembling part. Quite startlingly – perhaps due to the extra attention I put in the operations – I had zero problems. Actually, I'm so happy with the results that I'll indulge in giving some advice I think could be useful to other beginners that try to build this kit or similar projects.

  • Phil suggests to use a third hand in some phases of the assembling. I think you should buy one already: the lens in particular proved to be extremely useful during the entire process.
  • Another cheap and very useful tool you should consider buying is a multimeter. See below.
  • The first time the instructions mention the possibility of performing tests is when you have soldered the first switches: this happen in a quite advanced phase of the project, when it would be annoying to correct the errors you may have made. I'm maybe stating the obvious, but you can do tests throughout almost the entire project: with a multimeter, to check diodes soldering, or with a jumper, touching the keys switches holes, when you finished soldering the diodes. The same jumper can be used to reset and test the controller even before it's in place on the board.

Using it

I think the Atreus keyboard is not for everyone. If assembling the keyboard has been easier than expected, I have to say the opposite with regard to using it.


I figured I would have problems with the organization in layers, but I didn't consider other factors such vertical staggering and I thought that just typing text was going to be feasible (although slower) in a few hours. I was wrong. I'm still making a lot of errors, I'm very slow, and I have to look where my fingers are while I type. In other words, I have not yet the sensation that I'm in control of my system. But I'm seeing the progress: Atreus surely requires some commitment.

Also, changes to the usual layout are very radical. Take cursor keys, for example.

Cursor keys

In some environments I'm facing problems with the fact that cursor keys are "far" from reach (they're on the third layer in the default layout proposed: look at the picture above).

Let's talk about Emacs, and let's consider a very common case while coding: opening a C-like block.

What I usually do is typing the opening and closing curly braces, then moving into the block to fill it. Using a traditional keyboard, I'd do like that:

{, }, left arrow

On Atreus, using cursor keys, that becomes:

{, }, fn + Esc (to swith to Layer 2), left arrow, fn (back to Layer 0)


{, }, Ctrl + b

the last option has one keypress more (I'm counting the Ctrl), and moving cursor using Ctrl + (b n p f) is admidtettly more impervious.


As the Code 87, the Atreus kit is not cheap. Counting the cost, plus shipping, plus in my case the custom fees and the extra stuff I had to purchase to assemble it, it is not a itch I scratched for free.

I am usually an advocate of not going for cheap stuff when it's about work tools, but in this case, given the fact I had no evidence this particular tool was going to suit me, I can't say that.

That being said, considering the quality of the materials (I'm liking the switches!) and having faith in the ergonomic choices Phil made, I don't regret the money and the time spent for having it.

Author: Stefano Rodighiero

Created: 2020-10-10 Sat 14:34