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