]> git.armaanb.net Git - atreides.git/commitdiff
Add details to the changelog.
authorPhil Hagelberg <phil@hagelb.org>
Mon, 8 Dec 2014 01:56:19 +0000 (17:56 -0800)
committerPhil Hagelberg <phil@hagelb.org>
Mon, 8 Dec 2014 01:56:19 +0000 (17:56 -0800)
README.org
changelog.md

index 8ee1a387de2f27940c13d1cfe4897fcb4dbad984..e78bc5e58759c1815b083c99b43cb679f3b3f80d 100644 (file)
@@ -2,10 +2,9 @@
 
 The Atreus is a mechanical keyboard designed primarily to match the
 shape of human hands and to be as portable as possible. The case
-measures 25x11cm and lacks even a number row, relying heavily upon the
-fn key. There is no PCB in this design, requiring [[http://wiki.geekhack.org/index.php?title=Hard-Wiring_How-To][a manual matrix
-wiring approach]]. However, given that there are only 4 rows and 11
-columns, the wiring process isn't as daunting as it could be.
+measures 26x12cm and lacks even a number row, relying heavily upon the
+=fn= key. There is a circuit board for this design, but it's also
+possible to [[http://wiki.geekhack.org/index.php?title=Hard-Wiring_How-To][manually wire the matrix]].
 
 I've seen a number of existing DIY 40% keyboard designs, but most of
 them stagger the rows, which I find very annoying now that I've gotten
@@ -17,6 +16,9 @@ taking a more couch-friendly single-piece approach.
 
 [[./atreus.jpg]]
 
+See [[./changelog.md][the changelog]] for the various revisions made to the design since
+its initial release.
+
 ** Kits
 
 You can buy [[http://atreus.technomancy.us][Atreus kits]] that have all the parts you need along with
@@ -41,12 +43,17 @@ numpad-style arrangement under the right hand:
  :    !     @     {     }     |       ||     pgup    7     8     9    *
  :    #     $     (     )     `       ||     pgdn    4     5     6    +
  :    %     ^     [     ]     ~       ||       \     1     2     3    ?
- :   L2  insert                       ||                   .     0    =
+ :   L2  insert super shift bksp ctrl || alt space   fn    .     0    =
+
+The =L2= key switches it to the function layer, and tapping =L0= here
+brings it back to the first layer.
 
-The =L2= key switches it to the function layer, and tapping =fn= here
-brings it back.
+ :  home    ↑    end  insert pgup     ||       ↑     F7    F8    F9   F10
+ :    ←     ↓     →    del   pgdn     ||       ↓     F4    F5    F6   F11
+ :                                    ||             F1    F2    F3   F12
+ :              super shift bksp ctrl || alt space   L0             reset
 
-The firmware project includes a number of other options, including
+The [[https://github.com/technomancy/atreus-firmware][firmware project]] includes a number of other options, including
 colemak, dvorak, and "software dvorak" which sends keycodes assuming
 the OS will perform the translation into dvorak. Adding new layouts or
 changing existing ones is easy.
@@ -64,17 +71,23 @@ fn) because the tactile effect has no benefit for keys that are held
 down, and giving a different response helps you learn the layout more
 quickly.
 
+For users that need to operate in sound-sensitive environments like
+open offices or libraries, [[http://deskthority.net/wiki/Cherry_MX_Clear][Cherry MX Clear]] switches are a popular
+choice since they still offer tactility withut the noise.
+
 *** Diodes
 
-In order to avoid ghosting, each switch needs a [[https://www.radioshack.com/product/index.jsp?productId=2062587][1N4148 diode]].
+In order to avoid ghosting, each switch needs a diode. The [[https://www.radioshack.com/product/index.jsp?productId=2062587][1N4148]] is a
+readily-available choice, but nearly any signal diode would work.
 
 *** Microcontroller
 
-A [[http://www.pjrc.com/teensy/index.html][Teensy 2]], [[http://www.pololu.com/product/3101][Pololu A-star micro]], or [[http://arduino.cc/en/Main/ArduinoBoardMicro][Arduino Micro]] is recommended.
+The circuit board design uses a [[http://www.pololu.com/product/3101][Pololu A-star micro]]. Hand-wired boards
+can also use a [[http://www.pjrc.com/teensy/index.html][Teensy 2]] or [[http://arduino.cc/en/Main/ArduinoBoardMicro][Arduino Pro Micro]].
 
-Be sure to get one without headers so it will fit in between the
-bottom layer and the plate. USB micro is preferred over USB mini for
-this reason as well.
+Be sure to get a microcontroller without headers so it will fit in
+between the bottom layer and the plate. USB micro is preferred over
+USB mini for this reason as well.
 
 *** Keycaps
 
@@ -84,11 +97,12 @@ few extras we won't use. There are two "deep dish" keys in that set
 which you can place under your index fingers on the home row to help
 guide your hands to the right spot without looking. However, you only
 get a single 1.5x keycap, and the middle two thumb keys both use them,
-so you might want to pick up an extra. You can buy a single DSA 1.5x
-keycap from [[http://www.keycapsdirect.com/key-capsinventory.php][Signature Plastics]] as well as keys with homing bumps if
-you prefer those to the deep dish keys for the keys under the index
-fingers. However, note that on a board as small as the Atreus, finding
-the home row is much easier than it is on a conventional keyboard.
+so you might want to pick up an extra.
+
+Many keycap sets (not the one linked above) are "sculpted", meaning
+that keys that go in different rows have a different shape. While you
+can use these for an Atreus, it's unlikely you'll find a set with the
+correct number for each row, so it's more wasteful.
 
 ** Case
 
@@ -105,13 +119,11 @@ pictured below.
 
 The bottom and top covers (black in the photo) should be cut in 3mm.
 The switch plate (frosted in the photo) can be cut in 4.5 or
-3mm. The spacer should be cut in 5 or 6mm; it needs to be at least as
+3mm. The spacer should be cut in 5mm; it needs to be at least as
 thick as the USB cable you connect to the microcontroller. I
 recommend using a USB cable with as thin a connector as you can
 find or sanding the connector down to the required thickness.
 
-TODO: describe finishing process for wood.
-
 ** Firmware
 
 The [[https://github.com/technomancy/atreus-firmware/][custom Atreus firmware]] is a small C project which
@@ -125,12 +137,13 @@ create your own layout once you've gotten a chance to try it and see
 what works for you.
 
 In either case you would use the =.hex= file you just produced with
-=avrdude= or the [[http://www.pjrc.com/teensy/loader.html][teensy loader]] to upload to the microcontroller.
+=avrdude= or the [[http://www.pjrc.com/teensy/loader.html][teensy loader]] to upload to the microcontroller. =make
+upload= should do what you need.
 
-Once the firmware is loaded and the keyboard is assembled, pressing
-the onboard reset button to update new versions of the firmware is
-pretty cumbersome; instead use the "reset" button on the layout, which
-has the same effect.
+Once the firmware is loaded and the keyboard is assembled, activating
+the hardware reset to upload new versions of the firmware is pretty
+cumbersome; instead use the "reset" button on the layout, which has
+the same effect.
 
 ** Bill of Materials
 
@@ -140,11 +153,11 @@ has the same effect.
 - Teensy 2: $16, $3 shipping (pjrc.com)
 - Case materials: ~$16, varies by source
 - Case laser cutting: 7.5 minutes on a 100W Epilog laser; varies by source
-- USB Mini-B cable: $5, various sources
+- USB micro cable: $5, various sources
 
 Recommended but optional:
 
-- 5 MX Black switches: $8.50 OR 5 MX Red switches: $10.00
+- 5 MX Red or MX Black switches: $8.50 - $10.00
 - additional 1.5x DSA keycap: $1 plus $8 shipping
 
 The base keycap set only has one 1.5x key, which is used for the inner
@@ -153,15 +166,22 @@ tacky, so I recommend getting a second 1.5x keycap separately.
 
 *** Other Tools
 
-You'll need a soldering iron, solder, a glue gun, a multimeter, hookup
-wire, and wire strippers. You'll also need eight M3 machine screws
-with nuts; the length of the screws depends on the thickness of the
-acrylic you use. You can add rubber feet to the bottom to prevent the
-board from sliding around when placed on a desk.
+You'll need a soldering iron, solder, and a wire cutter. A multimeter
+can come in handy for testing the connections but is optional. You'll
+also need eight M3 machine screws with nuts; the length of the screws
+depends on the thickness of the acrylic you use. You can add rubber
+feet to the bottom to prevent the board from sliding around when
+placed on a desk. You'll also need sandpaper and finishing oil for the
+wooden cases unless you have bought a kit.
+
+If you are building a hand-wired board you will also need a glue gun,
+hookup wire, and wire strippers.
 
 ** Assembly
 
-See the [[http://atreus.technomancy.us/assembly.pdf][assembly instructions]] PDF
+See the [[http://atreus.technomancy.us/assembly.pdf][assembly instructions]] PDF.
+
+Hand-wired boards will want the [[http://atreus.technomancy.us/assembly-hand-wired.pdf][previous edition of the assembly instructions]].
 
 ** Inspiration
 
index bf4fc553a83d3def5998deadf9ac34b933acf2c8..aa71a13789b3c6de6ef5be30c1b377e23a26854f 100644 (file)
 # Change log
 
-## Mark 3: ???
+## Mark 3.1: 2014-11-25
 
-* Initial circuit board design in KiCAD + Racket.
+* Second revision of circuit board.
+* Arrows on L2 shifted over one column.
+* Circuit board license changed to match the rest of the Atreus project.
+
+The second revision of the circuit board exposes the reset pin,
+removing the need for hookup wire described below. It also removes
+[the need to cut a notch in the circuit board](https://www.flickr.com/photos/technomancy/15862732742)
+to allow the USB connector more clearance.
+
+The layout changed slightly by shifting the arrow keys on L2 over one
+column so they can be hit from the normal position without the pinky key.
+
+## Mark 3: 2014-10-30
+
+* Initial board design in KiCAD + Racket.
 * Assembly guide updated to include wood finishing.
 * Cable hole in case spacer has rounded edges.
 * New layout: multidvorak.
 * Switch to Pololu A-Star Micro controller. (also USB mini->micro)
 
+A
+[circuit board was designed in KiCAD with the switch placement logic written in Racket](http://technomancy.us/176). The
+first revision of the circuit board does not expose the reset pin, so
+hookup wire is needed to provide a backup reset mechanism once the board
+is fully assembled. The firmware contains a reset mechanism, but if
+bugs in the firmware prevent it from being activated, the back case
+can be removed and the hookup wires can be connected twice in a second
+to initiate a reset.
+
+The new design replaced the Teensy 2 microcontroller with the smaller
+[A-Star Micro](http://www.pololu.com/product/3101) which uses a USB
+Micro connector instead of USB Mini.
+
+The new multidvorak layout allows the firmware to support hardware
+dvorak and software dvorak simultaneously. The edges of the cable hole
+are rounded off to reduce strain on the cable.
+
 ## NX-02: 2014-08-05
 
-* Experimental prototype.
 * Matias Quiet Click switches.
 * Teensy 3: ARM-based microcontroller.
 * Orestes: firmware written in Forth.
 
+An
+[experimental prototype](https://www.flickr.com/photos/technomancy/14654421878)
+using Matias Quiet Click switches and the ARM-based Teensy 3
+controller. The Matias switch shape was supported by cutting the
+notches out of each switch hole individually with a knife.
+
+Porting the firmware to the ARM platform was accompanied by porting
+[an implementation of Forth](https://github.com/technomancy/orestes/tree/teensy3)
+and porting the firmware logic to that.
+
 ## Mark 2: 2014-04-22
 
-* New openscad case design by Constantine.
+* New OpenSCAD case design by Constantine.
 * New layouts: hardware dvorak, hardware colemak.
 * Assembly guide.
 
+The case was
+[redesigned in OpenSCAD](https://github.com/technomancy/atreus/blob/master/case/openscad/atreus_case.scad)
+to be easier to produce from mail-order laser cutting services. This
+revision can be recognized by its use of eight screws instead of the
+original seven. The cuts in the top plate around the switches are also
+much closer to the switches themselves.
+[A second independent build](http://geekhack.org/index.php?topic=57007.msg1292144)
+was documented.
+
+The assembly process is documented properly.
+
 ## Mark 1: 2014-04-01
 
 * Custom Atreus firmware in C.
-* New layout with digits in numpad arrangement.
-* Add layer for function keys and arrows.
+* Layout changes; new layer.
+
+A
+[custom Atreus-specific firmware codebase](https://github.com/technomancy/atreus-firmware)
+was started. Digits were moved to a numpad arrangement and the L2
+layer (function and arrow keys) was added. The first
+[third-party build](http://blog.tarn-vedra.de/2014/04/reproducing-keyboard-science_1707.html)
+was documented.
 
 ## NX-01: 2014-02-22
 
 * Initial prototype!
+* Case hand-drawn in Inkscape.
+* Teensy 2 microcontroller, hand-wired matrix.
 * Uses TMK firmware.
+
+This was the first Atreus,
+[created solely for personal use](http://technomancy.us/173) and
+meticulously hand-wired with a number of errors. Support for the
+Atreus was
+[added to the TMK firmware codebase](https://github.com/technomancy/tmk_keyboard/tree/atreus),
+but power-saving bugs in TMK meant that it occasionally dropped key
+presses on low-voltage laptops.