Atreus Build Log

I don't know since when, but I've been into mech. keyboards list half year. At first, I bought a standard, cheap ass mech keyboard with mx blue switches. A few months later, I bought the second one, ducky one with mx green switches. Overall, the experience was really nice, apart from the frowns from my coworkers (I guess).

And for the last two months, I lost to my headlessness and slaughtered my wallet just to buy carpentry tools and stuff like that, just to build an atreus keyboard. What's worse, I lost to my headlessness even more shamefully when I ordered two atreus switch layers.

But well, everything is usable now.

Almost finished product

I use it in my office, and so far, I sense no frowns at all. Anyway, let's start with this thing.

Bill of Materials

Actually, not much.

and a few plates of plywoods lying around in my room.

Soldering and Stuff

When I build this keyboard, there are a few steps that I took,

First step: soldering the diodes. It was pretty easy, apart from my shaky right hand, of course.

I soldered the left side first, and then followed by soldering the right side. Left side

Right side

In a hindsight, I think I should have aligned it downward like this build log.

Second step: soldering the row cables. This one, was pretty easy too. But because of my retarded measuring phase, the length is not uniform at all.


Third step: messing the promicro up. for real tho. This one is the hardest thing, I swear. I spent three days (16 hours or so) just to finish this part. I'm so ashamed of myself. I wish I didn't joke around in electronic lecture.

Pro Micro and cables

Fourth step: connecting them all. Actually, I rearrange them a bit. And the wires still falls off from time to time.


Connecting the rows and columns (matrix) cables to the pro micro (assuming you're using standard QWERTY layout).

Fifth step: something related to firmware. Just look at this commit.

At config.h in keyboard/atreus directory, I've changed a few lines:

#define MATRIX_ROW_PINS { D4, D1, D2, D3 }
#define MATRIX_COL_PINS { F6, F7, B1, B3, B2, B6, B5, B4, E6, C6, D7 }

And swapping ; and ' keys from Dvorak layout because of habit from this 4layout. I created a new keymaps.c in a new directory named cacat in keyboards/atreus directory. The main difference is this part where I deleted qwerty layout and replace it with Dvorak, just like I've said above.

+ [_DV] = LAYOUT(
+   KC_SCLN, KC_COMM, KC_DOT,  KC_P,    KC_Y,                      KC_F,    KC_G,    KC_C,    KC_R,    KC_L ,
+   KC_A,    KC_O,    KC_E,    KC_U,    KC_I,                      KC_D,    KC_H,    KC_T,    KC_N,    KC_S ,
+   KC_QUOT, KC_Q,    KC_J,    KC_K,    KC_X,                      KC_B,    KC_M,    KC_W,    KC_V,    KC_Z ,
+ ),

- [_QW] = LAYOUT( /* Qwerty */
-   KC_Q,    KC_W,    KC_E,    KC_R,    KC_T,                      KC_Y,    KC_U,    KC_I,    KC_O,    KC_P    ,
-   KC_A,    KC_S,    KC_D,    KC_F,    KC_G,                      KC_H,    KC_J,    KC_K,    KC_L,    KC_SCLN ,
-   KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,                      KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH ,
- ),

Sixth step: flashing the promicro

-uint32_t reset_key  __attribute__ ((section (".noinit")));
+uint32_t reset_key  __attribute__ ((section (".noinit,\"aw\",@nobits;")));


It's a nice keyboard, based on my three days of usage in my office. It's quiet, small, and everything is reachable without lifting my hands.

This material is shared under the CC-BY License.