]> git.armaanb.net Git - atreides.git/blob - README.org
fix broken link
[atreides.git] / README.org
1 * Atreus Keyboard
2
3 The [[http://ergodox.org][Ergodox]] keyboard is an absolutely fantastic design; I use it every
4 day at my office. However, I like to work away from the office
5 frequently, and I thought I might try my hand at designing something a
6 little more portable. The great thing about assembling my Ergodox is
7 that it taught be there's really nothing magical about it; it's just a
8 piece of circuitry with a bunch of switches read by a microcontroller
9 that speaks the USB HID interface.
10
11 The Atreus is meant to be complementary to the Ergodox as something
12 smaller, cheaper, and more travel-friendly. The case measures 25x11cm
13 and lacks even a number row, relying heavily upon the fn key. There is
14 no PCB in this design, requiring [[http://wiki.geekhack.org/index.php?title=Hard-Wiring_How-To][a manual matrix wiring approach]].
15 However, given that there are only 4 rows and 11 columns, this isn't
16 as daunting as it could be.
17
18 I've seen a number of existing DIY 40% keyboard designs, but most of
19 them stagger the rows, which I find very annoying now that I've gotten
20 used to the columnar layout of the Ergodox. In addition, many of the
21 designs I've seen waste a lot of room on the space bar, failing to
22 take into account the fact that the thumb is the strongest and most
23 versatile of the fingers. This design avoids both these problems.
24
25 [[atreus.jpg]]
26
27 ** Layout
28
29 Only a handful of punctuation marks (and no digits) available
30 unshifted, and all the modifiers are on the bottom row.
31
32  :    q     w     e     r     t       ||       y     u     i     o    p
33  :    a     s     d     f     g       ||       h     j     k     l    ;
34  :    z     x     c     v     b       ||       n     m     ,     .    /
35  :   esc   tab    fn  shift bksp ctrl || alt space enter super pgup  pgdn
36
37 The numbers and most punctuation are on the fn layer:
38
39  :    1     2     3     4    5        ||       6     7     8     9    0
40  :    -     +     (     )    =        ||       /     [     ]     {    }
41  :    !     @     #     $    %        ||       ^     &     *     ?    ~
42  :                                    ||       `     _     \
43
44 I type in Dvorak but prefer to do the remapping in software rather than
45 hardware so I don't have to change layouts when I switch to my
46 laptop's internal keyboard.
47
48 ** Parts
49
50 *** Switches
51
52 This layout has five modifiers and 37 non-modifiers.
53
54 I strongly prefer the feel and sound of tactile [[http://www.digikey.com/product-detail/en/MX1A-E1NW/CH197-ND/20180][Cherry MX blue]]
55 switches for typing. However, I like having linear switches on the
56 modifier keys (ctrl, alt, super, shift, and fn). [[http://www.wasdkeyboards.com/index.php/products/keyboard-parts/cherry-mx-red-keyswitch-mx1a-l1nn-linear.html][Cherry MX red
57 switches]] are nice and light but are expensive and difficult to
58 find. [[http://www.digikey.com/product-detail/en/MX1A-11NW/CH160-ND/91134][Cherry MX black switches]] are cheaper and easier to source, but
59 may be too heavy, especially for keys under pinky fingers.
60
61 One trick is take the springs from some of your blue switches and
62 trade them with the springs from your black switches. The blacks then
63 become the equivalent of reds, and the blues become MX green switches,
64 which are a heavier variant of blues. These are typically used for
65 space bars on boards that otherwise use blues. They could be suitable
66 for non-modifier thumb keys like backspace, space, and enter.
67
68 *** Diodes
69
70 In order to avoid ghosting, each switch needs a [[http://www.digikey.com/product-detail/en/1N4148TR/1N4148FSTR-ND/458811][diode]].
71
72 *** Microcontroller
73
74 An [[http://www.digikey.com/product-search/en/programmers-development-systems/evaluation-boards-embedded-mcu-dsp/2621773?k=arduino%20micro][Arduino Micro]] or [[http://www.pjrc.com/teensy/index.html][Teensy 2]] is recommended. Be sure to get one
75 without headers so it will fit in between the bottom layer and the plate.
76
77 *** Keycaps
78
79 This [[http://keyshop.pimpmykeyboard.com/product/dsa-pbt-blank-sets][DSA-shaped base set]] from Signature Plastics has 52 1x keys plus a
80 few extras we won't use. It claims on that page to contain only one
81 deep key, but my shipment contained two, which I put under the index
82 finger keys to help guide your hands without looking.
83
84 *** Screws
85
86 Seven M3 machine screws and nuts hold the whole thing together. The
87 length of the screws depends on the thickness of the materials you use
88 for the case.
89
90 ** Case
91
92 Layered laser-cut acrylic; see [[file:case.svg][case.svg]].
93
94 [[layers.jpg][layers.jpg]]
95
96 The first two shapes in the case file are the top and bottom covers;
97 these should be cut on 3mm acrylic (black in the photo). The third is
98 the spacer that goes under the fourth, which is the plate on which the
99 switches are mounted. These should be cut in 6mm, especially the
100 spacer, which needs to be at least as thick as the micro USB cable you
101 connect to the microcontroller.
102
103 On a 100W Epilog laser, the 3mm layers cut in about a minute and a
104 half. I did a run with 6mm acrylic of the other layers which took
105 nearly 6 minutes.
106
107 ** Firmware
108
109 My [[https://github.com/technomancy/tmk_keyboard/tree/atreus][fork of the tmk firmware]] has support for the Atreus
110 layout. Currently only supports software-dvorak--the default layer is
111 all qwerty, but the punctuation keys send keycodes assuming that the
112 qwerty->dvorak transformation will be applied to them, so they don't
113 make sense otherwise.
114
115 ** Recommended Bill of Materials
116
117 - 37 MX Blues @ $1.00
118 - 5 MX Blacks @ 0.80
119 - 42 diodes @ $0.052
120 - Base keycap set: $18.00
121 - Teensy 2: $16 OR Arduino Micro: $25
122 - USB Mini cable: $1.94
123 - Acrylic materials: $11
124 - Acrylic laser cutting: 6 at $3/min (varies by thickness of acrylic)
125
126 =(+ 37 (* 5 0.8) (* 42 0.052) 18 16 1.94 11 (* 3 7.5))= -> $112.62 plus tax/shipping
127
128 - Digikey (switches, diodes, arduino?) US shipping: $5.32
129 - Signature Plastics (keycaps) shipping: $8.00
130 - PJRC (teensy) shipping: $3.03
131
132 ** Cost-saving Options
133
134 There are a few ways to get the cost under $100. Using all black
135 switches brings it down, but I strongly recommend against this unless
136 you're already familiar with the feel of the various Cherry
137 switches. Using wood for the case will reduce both the materials cost
138 as well as the amount of time needed to cut the case.
139
140 Replacing the colored acrylic with transparent might also save a few
141 dollars. You could also use thinner acrylic for the switch plate too;
142 I cut mine in 4.5mm. A thinner spacer is inadvisable; even with 6mm
143 it's pretty tight.
144
145 ** License
146
147 Copyright © 2014 Phil Hagelberg
148
149 Released under the [[https://www.gnu.org/licenses/gpl.html][GNU GPL version 3]]