From 630ba7348e8213ab78408502a390dc8d1f4183eb Mon Sep 17 00:00:00 2001 From: BubblesToTheLimit Date: Tue, 6 Sep 2016 20:19:56 +0200 Subject: initial commit after conversion with pandoc --- guide/README.org | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 guide/README.org diff --git a/guide/README.org b/guide/README.org new file mode 100644 index 0000000..1dc70a2 --- /dev/null +++ b/guide/README.org @@ -0,0 +1,57 @@ +* Dactyl Flexible PCB Rough Guide + +[[workbench.jpg]] +For now, take a look at the images and try to figure things out, I know +that's not great (it's better than nothing!) + +** Making the PCB + +Get two sheets of 6in square Pyralux™. Use the Toner Transfer method to +etch the Pyralux sheets as you would a usual PCB + +#+BEGIN_QUOTE + NOTE: If you only have an Inkjet make photocopies of the print out, + voilà Toner based copies! +#+END_QUOTE + +[[http://www.instructables.com/id/Toner-transfer-no-soak-high-quality-double-sided/][Here'sa handy toner transfer guide ...]] + +Print these PCB designs out... + +Left hand: +[[left-hand-pcb-pyralux.png]] + +Right hand: +[[right-hand-pcb-pyralux.png]] + +When you're done etching, you'll need to carefully cut the pcb into +pieces... See the images below. + +** This is Madness... + +The thumb cluster pcb for the left hand: +[[madness.jpg]] + +Solder the MCP like so: +[[left-hand-mcp-1.jpg]] +[[left-hand-mcp-2.jpg]] + +Solder the Teensy 2.0 like so: +[[teensy-1.jpg]] + +Some interesting pull up 10k resistor business here... (TODO add a small +diagram and notes) + +[[teensy-2-fuxor-reziztorrs.jpg]] + +Each hand of the keyboard will wire up like so: +[[right-hand-pcb-1.jpg]] + +Teensy goes here... note the rows soldered to the teensy via the +Pyralux: +[[right-hand-pcb-with-teensy.jpg]] + +Here the left hand: +[[hotglue-left-hand.jpg]] + +That's all for now, this guide will improve over time! (TODO!) -- cgit v1.2.3 From 86ef2394b92c9268b2627dd2b70871eba18dbdb0 Mon Sep 17 00:00:00 2001 From: BubblesToTheLimit Date: Tue, 6 Sep 2016 21:23:54 +0200 Subject: Added the Preparation and Cost section --- guide/README.org | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/guide/README.org b/guide/README.org index 1dc70a2..2814cf9 100644 --- a/guide/README.org +++ b/guide/README.org @@ -1,3 +1,64 @@ +* Preparation and Cost + Get all the parts / raw material + - For the 3D printing there are two options: + 1. Filament, which is the basis for 3D printing. Luckily I could print at my work-place + which reduced the cost from 210€ to 70€ + 2. Buy the printout of adareth's model at shapeways for 210€ over here + http://www.shapeways.com/designer/adereth/creations + - Decide on the switches + - If you are going to invest a whole lot of time and money for a custom keyboard instead of + buying one for 10€ I'd recommend to use your favorite switch-type. To make a + well-informed decision I bought a switch-tester for this from massdrop and decided on + Cherry MX Whites. https://www.massdrop.com/buy/varmilo-switch-tester-with-anodized-case + - I ordered 70 Cherry MX Whites from here: + https://mechanicalkeyboards.com/shop/index.php?l=product_detail&p=847 + - Decide on the key caps + - On the glamour-Shot you can see the 1976 keycap set, it used to be sold over here: + http://pimpmykeyboard.com/sa-1976-keycap-set/ but the link is dead right now. You could + try this link: https://www.massdrop.com/buy/nineteenseventysix-sa-keycap-set but it is a + massdrop which is way different from usual online-stores. If you find a site that sells + these make sure you get the right amount and type of keys according to the layout + - I got the "TKL Base Set + TKL Modifier" from over here: + http://pimpmykeyboard.com/dsa-pbt-abs-blank-keycap-sets/ but I'm still too long keys + short, I will have to order those specifically and I have a bunch of keys I don't use + left-over. + - The USB-Cable that connects the keyboard to your computer + - It's an USB 2.0 to USB Mini-B cable, make sure you get one that is 2 meters long, it + really makes handling the keyboard so much more comfortable + - https://www.amazon.de/gp/product/B00NH11N5A/ + - The main controller (right half) + - A Teensy 2.0, i got that one from here: https://www.pjrc.com/store/teensy.html + - The chip, connectors and cable to give life to the left half + - TTRS cable and jacks + - Got my TTRS cable from here: http://www.digikey.de/product-search/de?keywords=839-1257-ND + - Got my TTRS jacks from here: http://www.digikey.de/product-search/de?keywords=CP-43514-ND + - MCP23018 16 bitIO Expander + - Got mine from here: http://www.digikey.de/product-search/de?keywords=MCP23018-E%2FSP-ND + + What I spend on my keyboard (should give you a rough estimate for your build): + | item | cost | + |-----------------------------------+------| + | filament | 70 | + | switch-tester | 30 | + | key-caps | 70 | + | teensy 2.0 | 30 | + | switches | 60 | + | usb cable | 10 | + | IO Expander, TTRS jacks and cable | 30 | + |-----------------------------------+------| + | overall cost | 300 | + #+TBLFM: @9$2=vsum(@2$2..@8$2) + + My choices / advantages: + - Using the soldering iron at the uni-workshop for free + - 76 Diodes for free + - Soldering wire and copper for free + - All the resistors used for free (5 resistors are used) + - Several files for working out the rough edges of the 3D-printout + + Depending on what you have available you might spend more or less money than me, 300€ however + is a good rough estimate. + * Dactyl Flexible PCB Rough Guide [[workbench.jpg]] -- cgit v1.2.3 From 252d00b51ebf90231a3af750529a94647e6f1941 Mon Sep 17 00:00:00 2001 From: BubblesToTheLimit Date: Tue, 6 Sep 2016 22:10:59 +0200 Subject: Added the wiring section --- guide/README.org | 124 +++++++++++++++++++++++------------ guide/switches_applied_to_casing.jpg | Bin 0 -> 101112 bytes guide/switches_still_in_bag.jpg | Bin 0 -> 91814 bytes 3 files changed, 82 insertions(+), 42 deletions(-) create mode 100644 guide/switches_applied_to_casing.jpg create mode 100644 guide/switches_still_in_bag.jpg diff --git a/guide/README.org b/guide/README.org index 2814cf9..5703925 100644 --- a/guide/README.org +++ b/guide/README.org @@ -2,7 +2,8 @@ Get all the parts / raw material - For the 3D printing there are two options: 1. Filament, which is the basis for 3D printing. Luckily I could print at my work-place - which reduced the cost from 210€ to 70€ + which reduced the cost from 210€ to 70€. The kind of filament you need depends on the 3D + printer you have available. 2. Buy the printout of adareth's model at shapeways for 210€ over here http://www.shapeways.com/designer/adereth/creations - Decide on the switches @@ -19,7 +20,7 @@ massdrop which is way different from usual online-stores. If you find a site that sells these make sure you get the right amount and type of keys according to the layout - I got the "TKL Base Set + TKL Modifier" from over here: - http://pimpmykeyboard.com/dsa-pbt-abs-blank-keycap-sets/ but I'm still too long keys + http://pimpmykeyboard.com/dsa-pbt-abs-blank-keycap-sets/ but I'm still two long keys short, I will have to order those specifically and I have a bunch of keys I don't use left-over. - The USB-Cable that connects the keyboard to your computer @@ -27,12 +28,12 @@ really makes handling the keyboard so much more comfortable - https://www.amazon.de/gp/product/B00NH11N5A/ - The main controller (right half) - - A Teensy 2.0, i got that one from here: https://www.pjrc.com/store/teensy.html + - A Teensy 2.0, I got that one from here: https://www.pjrc.com/store/teensy.html - The chip, connectors and cable to give life to the left half - TTRS cable and jacks - Got my TTRS cable from here: http://www.digikey.de/product-search/de?keywords=839-1257-ND - Got my TTRS jacks from here: http://www.digikey.de/product-search/de?keywords=CP-43514-ND - - MCP23018 16 bitIO Expander + - MCP23018 16 bit IO Expander - Got mine from here: http://www.digikey.de/product-search/de?keywords=MCP23018-E%2FSP-ND What I spend on my keyboard (should give you a rough estimate for your build): @@ -59,60 +60,99 @@ Depending on what you have available you might spend more or less money than me, 300€ however is a good rough estimate. -* Dactyl Flexible PCB Rough Guide + After all the parts have arrived it is safe to move on to the next section -[[workbench.jpg]] -For now, take a look at the images and try to figure things out, I know -that's not great (it's better than nothing!) +* Wiring + 1) Plug the switches into the Casing, no glue is needed, the casing provides the perfect fit. + 2) Put the keycaps on the switches -** Making the PCB + [[file:switches_still_in_bag.jpg]] -Get two sheets of 6in square Pyralux™. Use the Toner Transfer method to -etch the Pyralux sheets as you would a usual PCB + [[file:]]switches_applied_to_casing.jpg -#+BEGIN_QUOTE - NOTE: If you only have an Inkjet make photocopies of the print out, - voilà Toner based copies! -#+END_QUOTE + Now going further on in the guide there are two options + 1. The first option is to print flexible PCBs. The advantage is that you save alot of wiring + business, everything looks rather clean and you dont have to worry about your cables being too + thick such that the casing doesnt close. However if you don't have the means to print out such + PCBs there is the second option, hand-wiring everything by hand. + - The guide for this is very rough indeed and it doesnt include the firmware used. Wiring and + firmware play extremely close together, wiring before knowing your firmware is like buying a + shoe without measuring your feet before. For this option information about the exact + firmware is not published, this in addition to the fact that the pictures in this rough + guide are incomplete makes this option extremely beginner-unfriendly. Going in blind-sided + like this may lead to one of these things: + 1. reprogramming huge parts of the firmware to match your wiring which comes with a ton of + debugging + 2. rewiring to adapt to what the firmware expects, which may easily double your work here + - [[Route 1: Dactyl Flexible PCB Rough Guide]] + 2. The second option is to hand-wire everything. For people like me who had never soldered before + this was great joy and pleasure. + - Here too firmware and wiring go hand in hand, you pretty much have to have a detailed look + at the firmware you are using before wiring anything. I provide my modification of the + "ergodox-firmware" over here: https://github.com/BubblesToTheLimit/ergodox-firmware + - Some of the steps of this guide may not be described in much detail, but in contrast to the + first guide there is a whole lot more of information. + - [[Route 2: Dactyl Hand-Wiring Guide]] -[[http://www.instructables.com/id/Toner-transfer-no-soak-high-quality-double-sided/][Here'sa handy toner transfer guide ...]] +** Route 1: Dactyl Flexible PCB Rough Guide + [[workbench.jpg]] -Print these PCB designs out... + For now, take a look at the images and try to figure things out, I know that's not great (it's + better than nothing!) -Left hand: -[[left-hand-pcb-pyralux.png]] +*** Making the PCB + Get two sheets of 6in square Pyralux™. Use the Toner Transfer method to etch the Pyralux sheets as + you would a usual PCB -Right hand: -[[right-hand-pcb-pyralux.png]] + #+BEGIN_QUOTE + NOTE: If you only have an Inkjet make photocopies of the print out, + voilà Toner based copies! + #+END_QUOTE -When you're done etching, you'll need to carefully cut the pcb into -pieces... See the images below. + [[http://www.instructables.com/id/Toner-transfer-no-soak-high-quality-double-sided/][Here'sa handy toner transfer guide ...]] -** This is Madness... + Print these PCB designs out... -The thumb cluster pcb for the left hand: -[[madness.jpg]] + Left hand: -Solder the MCP like so: -[[left-hand-mcp-1.jpg]] -[[left-hand-mcp-2.jpg]] + [[left-hand-pcb-pyralux.png]] -Solder the Teensy 2.0 like so: -[[teensy-1.jpg]] + Right hand: -Some interesting pull up 10k resistor business here... (TODO add a small -diagram and notes) + [[right-hand-pcb-pyralux.png]] -[[teensy-2-fuxor-reziztorrs.jpg]] + When you're done etching, you'll need to carefully cut the pcb into pieces... See the images + below. -Each hand of the keyboard will wire up like so: -[[right-hand-pcb-1.jpg]] +*** Applying the PCB to the electronical parts + The thumb cluster pcb for the left hand: -Teensy goes here... note the rows soldered to the teensy via the -Pyralux: -[[right-hand-pcb-with-teensy.jpg]] + [[madness.jpg]] -Here the left hand: -[[hotglue-left-hand.jpg]] + Solder the MCP like so: -That's all for now, this guide will improve over time! (TODO!) + [[left-hand-mcp-1.jpg]] + [[left-hand-mcp-2.jpg]] + + Solder the Teensy 2.0 like so: + + [[teensy-1.jpg]] + + Some interesting pull up 10k resistor business here... (TODO add a small diagram and notes) + + [[teensy-2-fuxor-reziztorrs.jpg]] + + Each hand of the keyboard will wire up like so: + + [[right-hand-pcb-1.jpg]] + + Teensy goes here... note the rows soldered to the teensy via the Pyralux: + + [[right-hand-pcb-with-teensy.jpg]] + + Here the left hand: + + [[hotglue-left-hand.jpg]] + + That's all for now, this guide will improve over time! (TODO!) +** Route 2: Dactyl Hand-Wiring Guide diff --git a/guide/switches_applied_to_casing.jpg b/guide/switches_applied_to_casing.jpg new file mode 100644 index 0000000..3b12774 Binary files /dev/null and b/guide/switches_applied_to_casing.jpg differ diff --git a/guide/switches_still_in_bag.jpg b/guide/switches_still_in_bag.jpg new file mode 100644 index 0000000..c01a778 Binary files /dev/null and b/guide/switches_still_in_bag.jpg differ -- cgit v1.2.3 From ebbfbf33bfc4b8a90e568dc0d03983abe9117943 Mon Sep 17 00:00:00 2001 From: BubblesToTheLimit Date: Tue, 6 Sep 2016 22:31:10 +0200 Subject: makeup changes, replaced the 2 new pictures --- guide/README.org | 139 +++++++++++++++-------------- guide/application-of-switches-and-caps.jpg | Bin 0 -> 373918 bytes guide/switches_applied_to_casing.jpg | Bin 101112 -> 0 bytes guide/switches_still_in_bag.jpg | Bin 91814 -> 0 bytes 4 files changed, 71 insertions(+), 68 deletions(-) create mode 100644 guide/application-of-switches-and-caps.jpg delete mode 100644 guide/switches_applied_to_casing.jpg delete mode 100644 guide/switches_still_in_bag.jpg diff --git a/guide/README.org b/guide/README.org index 5703925..e657d83 100644 --- a/guide/README.org +++ b/guide/README.org @@ -1,74 +1,77 @@ * Preparation and Cost - Get all the parts / raw material - - For the 3D printing there are two options: - 1. Filament, which is the basis for 3D printing. Luckily I could print at my work-place - which reduced the cost from 210€ to 70€. The kind of filament you need depends on the 3D - printer you have available. - 2. Buy the printout of adareth's model at shapeways for 210€ over here - http://www.shapeways.com/designer/adereth/creations - - Decide on the switches - - If you are going to invest a whole lot of time and money for a custom keyboard instead of - buying one for 10€ I'd recommend to use your favorite switch-type. To make a - well-informed decision I bought a switch-tester for this from massdrop and decided on - Cherry MX Whites. https://www.massdrop.com/buy/varmilo-switch-tester-with-anodized-case - - I ordered 70 Cherry MX Whites from here: - https://mechanicalkeyboards.com/shop/index.php?l=product_detail&p=847 - - Decide on the key caps - - On the glamour-Shot you can see the 1976 keycap set, it used to be sold over here: - http://pimpmykeyboard.com/sa-1976-keycap-set/ but the link is dead right now. You could - try this link: https://www.massdrop.com/buy/nineteenseventysix-sa-keycap-set but it is a - massdrop which is way different from usual online-stores. If you find a site that sells - these make sure you get the right amount and type of keys according to the layout - - I got the "TKL Base Set + TKL Modifier" from over here: - http://pimpmykeyboard.com/dsa-pbt-abs-blank-keycap-sets/ but I'm still two long keys - short, I will have to order those specifically and I have a bunch of keys I don't use - left-over. - - The USB-Cable that connects the keyboard to your computer - - It's an USB 2.0 to USB Mini-B cable, make sure you get one that is 2 meters long, it - really makes handling the keyboard so much more comfortable - - https://www.amazon.de/gp/product/B00NH11N5A/ - - The main controller (right half) - - A Teensy 2.0, I got that one from here: https://www.pjrc.com/store/teensy.html - - The chip, connectors and cable to give life to the left half - - TTRS cable and jacks - - Got my TTRS cable from here: http://www.digikey.de/product-search/de?keywords=839-1257-ND - - Got my TTRS jacks from here: http://www.digikey.de/product-search/de?keywords=CP-43514-ND - - MCP23018 16 bit IO Expander - - Got mine from here: http://www.digikey.de/product-search/de?keywords=MCP23018-E%2FSP-ND - - What I spend on my keyboard (should give you a rough estimate for your build): - | item | cost | - |-----------------------------------+------| - | filament | 70 | - | switch-tester | 30 | - | key-caps | 70 | - | teensy 2.0 | 30 | - | switches | 60 | - | usb cable | 10 | - | IO Expander, TTRS jacks and cable | 30 | - |-----------------------------------+------| - | overall cost | 300 | - #+TBLFM: @9$2=vsum(@2$2..@8$2) - - My choices / advantages: - - Using the soldering iron at the uni-workshop for free - - 76 Diodes for free - - Soldering wire and copper for free - - All the resistors used for free (5 resistors are used) - - Several files for working out the rough edges of the 3D-printout - - Depending on what you have available you might spend more or less money than me, 300€ however - is a good rough estimate. - - After all the parts have arrived it is safe to move on to the next section + Get all the parts / raw material + - For the 3D printing there are two options: + 1. Filament, which is the basis for 3D printing. Luckily I could print at my work-place + which reduced the cost from 210€ to 70€. The kind of filament you need depends on the 3D + printer you have available. + 2. Buy the printout of adareth's model at shapeways for 210€ over here + http://www.shapeways.com/designer/adereth/creations + - Decide on the switches + - If you are going to invest a whole lot of time and money for a custom keyboard instead of + buying one for 10€ I'd recommend to use your favorite switch-type. To make a + well-informed decision I bought a switch-tester for this from massdrop and decided on + Cherry MX Whites. https://www.massdrop.com/buy/varmilo-switch-tester-with-anodized-case + - I ordered 70 Cherry MX Whites from here: + https://mechanicalkeyboards.com/shop/index.php?l=product_detail&p=847 + - Decide on the key caps + - On the glamour-Shot you can see the 1976 keycap set, it used to be sold over here: + http://pimpmykeyboard.com/sa-1976-keycap-set/ but the link is dead right now. You could + try this link: https://www.massdrop.com/buy/nineteenseventysix-sa-keycap-set but it is a + massdrop which is way different from usual online-stores. If you find a site that sells + these make sure you get the right amount and type of keys according to the layout + - I got the "TKL Base Set + TKL Modifier" from over here: + http://pimpmykeyboard.com/dsa-pbt-abs-blank-keycap-sets/ but I'm still two long keys + short, I will have to order those specifically and I have a bunch of keys I don't use + left-over. + - The USB-Cable that connects the keyboard to your computer + - It's an USB 2.0 to USB Mini-B cable, make sure you get one that is 2 meters long, it + really makes handling the keyboard so much more comfortable + - https://www.amazon.de/gp/product/B00NH11N5A/ + - The main controller (right half) + - A Teensy 2.0, I got that one from here: https://www.pjrc.com/store/teensy.html + - The chip, connectors and cable to give life to the left half + - TTRS cable and jacks + - Got my TTRS cable from here: http://www.digikey.de/product-search/de?keywords=839-1257-ND + - Got my TTRS jacks from here: http://www.digikey.de/product-search/de?keywords=CP-43514-ND + - MCP23018 16 bit IO Expander + - Got mine from here: http://www.digikey.de/product-search/de?keywords=MCP23018-E%2FSP-ND + + What I spend on my keyboard (should give you a rough estimate for your build): + | item | cost | + |-----------------------------------+------| + | filament | 70 | + | switch-tester | 30 | + | key-caps | 70 | + | teensy 2.0 | 30 | + | switches | 60 | + | usb cable | 10 | + | IO Expander, TTRS jacks and cable | 30 | + |-----------------------------------+------| + | overall cost | 300 | + #+TBLFM: @9$2=vsum(@2$2..@8$2) + + My choices / advantages: + - Using the soldering iron at the uni-workshop for free + - 76 Diodes for free + - Soldering wire and copper for free + - All the resistors used for free (5 resistors are used) + - Several files for working out the rough edges of the 3D-printout + + Depending on what you have available you might spend more or less money than me, 300€ however + is a good rough estimate. + + After all the parts have arrived it is safe to move on to the next section. * Wiring + It is assumed that you have printed the casing successfully, I had alot of help for this so I'm + not going into advice on 3D printing here. + 1) Plug the switches into the Casing, no glue is needed, the casing provides the perfect fit. 2) Put the keycaps on the switches + - Note that in the pictures here some of the long keys on the thumb-part are too short, + that's why it doesnt look symmetrical - [[file:switches_still_in_bag.jpg]] - - [[file:]]switches_applied_to_casing.jpg + [[file:application-of-switches-and-caps.jpg]] Now going further on in the guide there are two options 1. The first option is to print flexible PCBs. The advantage is that you save alot of wiring @@ -86,12 +89,12 @@ 2. rewiring to adapt to what the firmware expects, which may easily double your work here - [[Route 1: Dactyl Flexible PCB Rough Guide]] 2. The second option is to hand-wire everything. For people like me who had never soldered before - this was great joy and pleasure. + this was great pain and pleasure. - Here too firmware and wiring go hand in hand, you pretty much have to have a detailed look at the firmware you are using before wiring anything. I provide my modification of the "ergodox-firmware" over here: https://github.com/BubblesToTheLimit/ergodox-firmware - - Some of the steps of this guide may not be described in much detail, but in contrast to the - first guide there is a whole lot more of information. + - Some of the steps of this guide may not be described in much detail, but in contrast to + option one there is a whole lot more of information. - [[Route 2: Dactyl Hand-Wiring Guide]] ** Route 1: Dactyl Flexible PCB Rough Guide diff --git a/guide/application-of-switches-and-caps.jpg b/guide/application-of-switches-and-caps.jpg new file mode 100644 index 0000000..e2a7a7f Binary files /dev/null and b/guide/application-of-switches-and-caps.jpg differ diff --git a/guide/switches_applied_to_casing.jpg b/guide/switches_applied_to_casing.jpg deleted file mode 100644 index 3b12774..0000000 Binary files a/guide/switches_applied_to_casing.jpg and /dev/null differ diff --git a/guide/switches_still_in_bag.jpg b/guide/switches_still_in_bag.jpg deleted file mode 100644 index c01a778..0000000 Binary files a/guide/switches_still_in_bag.jpg and /dev/null differ -- cgit v1.2.3 From a16e3c92aafa0efd21ed3d8612b14ed4ae8b43cf Mon Sep 17 00:00:00 2001 From: BubblesToTheLimit Date: Thu, 8 Sep 2016 09:14:39 +0200 Subject: added the first part of route 2, creating the rows --- guide/README.org | 15 +++++++++++++++ guide/wiring-create-rows-both-sides.jpg | Bin 0 -> 1977227 bytes guide/wiring-create-rows-testing.jpg | Bin 0 -> 2231699 bytes guide/wiring_create_rows.jpg | Bin 0 -> 1708133 bytes 4 files changed, 15 insertions(+) create mode 100644 guide/wiring-create-rows-both-sides.jpg create mode 100644 guide/wiring-create-rows-testing.jpg create mode 100644 guide/wiring_create_rows.jpg diff --git a/guide/README.org b/guide/README.org index e657d83..d9b94e4 100644 --- a/guide/README.org +++ b/guide/README.org @@ -159,3 +159,18 @@ That's all for now, this guide will improve over time! (TODO!) ** Route 2: Dactyl Hand-Wiring Guide + Step 1: Creating the rows + + Using the copper wire you solder each row together, notice how the thumb-part gets its own + row. If you take a close look you can see how I did do a messy job soldering, I had to redo + some of the parts because they wouldn't be stable enough. Do this for both sides. Which ones of + the pins you chose for the row doesnt matter, but for it to look clean you should decide for + either one of them + + [[file:wiring_create_rows.jpg]] + + [[file:wiring-create-rows-both-sides.jpg]] + + Because this was my first soldering job i went ahead and tested each one of the 70 switches. + + [[file:wiring-create-rows-testing.jpg]] diff --git a/guide/wiring-create-rows-both-sides.jpg b/guide/wiring-create-rows-both-sides.jpg new file mode 100644 index 0000000..a49666b Binary files /dev/null and b/guide/wiring-create-rows-both-sides.jpg differ diff --git a/guide/wiring-create-rows-testing.jpg b/guide/wiring-create-rows-testing.jpg new file mode 100644 index 0000000..f81bb1f Binary files /dev/null and b/guide/wiring-create-rows-testing.jpg differ diff --git a/guide/wiring_create_rows.jpg b/guide/wiring_create_rows.jpg new file mode 100644 index 0000000..8488900 Binary files /dev/null and b/guide/wiring_create_rows.jpg differ -- cgit v1.2.3 From 9370c43dfebc02d4b71354e0378aeeba3682ceff Mon Sep 17 00:00:00 2001 From: BubblesToTheLimit Date: Sat, 10 Sep 2016 22:38:06 +0200 Subject: Route 2 upgraded --- guide/README.org | 56 +- guide/circuit-diagram.svg | 3590 +++++++++++++++++++++++++ guide/rows-and-columns-connected-to-chips.jpg | Bin 0 -> 2330137 bytes guide/wiring-create-columns-left.jpg | Bin 0 -> 1767903 bytes guide/wiring-create-columns-right.jpg | Bin 0 -> 2183477 bytes 5 files changed, 3645 insertions(+), 1 deletion(-) create mode 100644 guide/circuit-diagram.svg create mode 100644 guide/rows-and-columns-connected-to-chips.jpg create mode 100644 guide/wiring-create-columns-left.jpg create mode 100644 guide/wiring-create-columns-right.jpg diff --git a/guide/README.org b/guide/README.org index d9b94e4..457fe82 100644 --- a/guide/README.org +++ b/guide/README.org @@ -93,6 +93,8 @@ - Here too firmware and wiring go hand in hand, you pretty much have to have a detailed look at the firmware you are using before wiring anything. I provide my modification of the "ergodox-firmware" over here: https://github.com/BubblesToTheLimit/ergodox-firmware + - TODO: Make a successfull pull-request, such that it is available in the official + ergodox-firmware - Some of the steps of this guide may not be described in much detail, but in contrast to option one there is a whole lot more of information. - [[Route 2: Dactyl Hand-Wiring Guide]] @@ -171,6 +173,58 @@ [[file:wiring-create-rows-both-sides.jpg]] - Because this was my first soldering job i went ahead and tested each one of the 70 switches. + You might want to go ahead and test each one of the 70 switches with a multimeter. [[file:wiring-create-rows-testing.jpg]] + + The next step is to create the columns by soldering the diodes. Notice which way these diodes + are directed here, the way these diodes are directed, we have to have a firmware that "drives + the rows". (TODO: insert diagram here) Luckily in our firmware "ergodox-firmware" we have the + option that adapts to that. However if you want to try and use the "tmk_keyboard" firmware + which seems to be also interesting you want to wire the diodes the other way. This way the + "columns are driving". As a side note, for some reason the tmk_keyboard firmware things of rows + as columns and the other way around, so if you look through the source code it will also see + "drive rows", even though that means "driving columns". + + The tmk_keyboard firmware could also be used for this kind of wiring, but it would have to be + rewritten, maybe in a beautiful way, such that it can also "drive rows". However I didnt go + ahead and perfomed that rewriting, so I had to stick with the "ergodox-firmware". In retrospect + I'd wish I had wired the diodes the other way around. + + The first picture doesnt show how the 6 thumb-keys are actually individually connected to the 6 + main columns. + + [[file:wiring-create-columns-left.jpg]] + + This second picture shows how the 6 thumb-keys are actually connected to the 6 main columns. + + [[file:wiring-create-columns-right.jpg]] + + TODO: Insert diagram of how the thumb-keys are connected to the main clumns. + + The next step is to wire the Teensy 2.0 and the MCP 23018 in place. + Everything necessary for that really is the following circuit diagram + + [[file:circuit-diagram.svg]] + + [[file:rows-and-columns-connected-to-chips.jpg]] + + Things to note here: + - The columns for the MCP go from 0 to 6, the columns for the Teensy go from 7 to D (counting + in hexadecimal) which makes great sence, since the MCP is left to the Teensy and we read from + left to right. + - When debugging this and using the ergodox-firmware, both sides have to be wired completely + and actually connected, dont expect the keyboard to work before that. The reason being is how + the ergodox-firmware stops completely if either the Teensy or the MCP weren't initiated + properly. + - In the circuit-diagram the columns on the left side (MCP side) actually go from GPA5 to INTA + (TODO: Update the circuit diagram and get rid of this point) + - The LEDs are handy for debugging, definately go ahead and connect those. When the keyboard + starts successfully two of the LEDs light up shortly. + - From the Teensy over to the MCP go exactly 4 connections. The blue, the red and the two green + ones. This is done using the TTRS jacks and cable (TODO: Add picture here how the jacks are + wired) + - Yes, the connection from B4 to VCC doesnt seem to make any sense, but the B4 port actually + gets used directly in the ergodox-firmware, so just connect those connections that make no + sense on first sight and either dont question it or find out why this is necessary by going + through the firmware in great detail. diff --git a/guide/circuit-diagram.svg b/guide/circuit-diagram.svg new file mode 100644 index 0000000..d6709d1 --- /dev/null +++ b/guide/circuit-diagram.svg @@ -0,0 +1,3590 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + USB + R = (match to LEDs) + R = 2.2 kΩ + + + + + + SCL + SDA + PWM + PWM + PWM + + reset only active during power-on + address = 0b 0100 000 + + + + row 5 + row 4 + row 3 + row 2 + row 1 + row 0 + col D + col B + col C + col 7 + + + + + + + + + row 5 + row 4 + row 3 + row 2 + row 1 + row 0 + col 5 + col 4 + col 3 + col 2 + col 1 + col 0 + + + + + + + + + + + + + + LED 1 + LED 2 + LED 3 + - Please also see documentation (especially the notes) in the *.md files- Row and column assignments are to matrix positions, not physical positions + + col 6 + + col 8 + + col 9 + + col A + + + + + Vss + NC + GPB0 + GPB1 + GPB2 + GPB3 + GPB4 + GPB5 + GPB6 + GPB7 + Vdd + SCL + SDA + NC + NC + GPA7 + GPA6 + GPA5 + GPA4 + GPA3 + GPA2 + GPA1 + GPA0 + INTA + INTB + NC + RESET + ADDR + GND + PB0 + PB1 + PB2 + PB3 + PB7 + PD0 + PD1 + PD2 + PD3 + PC6 + PC7 + PD5 + Vcc + GND + RST + PD4 + PD6 + PF0 + PF1 + PF4 + PF5 + PF6 + PF7 + PB6 + PB5 + PB4 + PD7 + Vcc + PE6 + AREF + Teensy 2.0 + MCP23018 + + + diff --git a/guide/rows-and-columns-connected-to-chips.jpg b/guide/rows-and-columns-connected-to-chips.jpg new file mode 100644 index 0000000..25aa13d Binary files /dev/null and b/guide/rows-and-columns-connected-to-chips.jpg differ diff --git a/guide/wiring-create-columns-left.jpg b/guide/wiring-create-columns-left.jpg new file mode 100644 index 0000000..a250d30 Binary files /dev/null and b/guide/wiring-create-columns-left.jpg differ diff --git a/guide/wiring-create-columns-right.jpg b/guide/wiring-create-columns-right.jpg new file mode 100644 index 0000000..0e3f9f6 Binary files /dev/null and b/guide/wiring-create-columns-right.jpg differ -- cgit v1.2.3 From 9d87a0b134fb8ecfd6be96927fbb1cc33ca7f9c6 Mon Sep 17 00:00:00 2001 From: BubblesToTheLimit Date: Sat, 10 Sep 2016 22:57:49 +0200 Subject: improvements on Route 2 --- guide/README.org | 142 +- guide/circuit-diagram.png | Bin 0 -> 143680 bytes guide/circuit-diagram.svg | 3590 --------------------------------------------- 3 files changed, 75 insertions(+), 3657 deletions(-) create mode 100644 guide/circuit-diagram.png delete mode 100644 guide/circuit-diagram.svg diff --git a/guide/README.org b/guide/README.org index 457fe82..ba51ce2 100644 --- a/guide/README.org +++ b/guide/README.org @@ -161,70 +161,78 @@ That's all for now, this guide will improve over time! (TODO!) ** Route 2: Dactyl Hand-Wiring Guide - Step 1: Creating the rows - - Using the copper wire you solder each row together, notice how the thumb-part gets its own - row. If you take a close look you can see how I did do a messy job soldering, I had to redo - some of the parts because they wouldn't be stable enough. Do this for both sides. Which ones of - the pins you chose for the row doesnt matter, but for it to look clean you should decide for - either one of them - - [[file:wiring_create_rows.jpg]] - - [[file:wiring-create-rows-both-sides.jpg]] - - You might want to go ahead and test each one of the 70 switches with a multimeter. - - [[file:wiring-create-rows-testing.jpg]] - - The next step is to create the columns by soldering the diodes. Notice which way these diodes - are directed here, the way these diodes are directed, we have to have a firmware that "drives - the rows". (TODO: insert diagram here) Luckily in our firmware "ergodox-firmware" we have the - option that adapts to that. However if you want to try and use the "tmk_keyboard" firmware - which seems to be also interesting you want to wire the diodes the other way. This way the - "columns are driving". As a side note, for some reason the tmk_keyboard firmware things of rows - as columns and the other way around, so if you look through the source code it will also see - "drive rows", even though that means "driving columns". - - The tmk_keyboard firmware could also be used for this kind of wiring, but it would have to be - rewritten, maybe in a beautiful way, such that it can also "drive rows". However I didnt go - ahead and perfomed that rewriting, so I had to stick with the "ergodox-firmware". In retrospect - I'd wish I had wired the diodes the other way around. - - The first picture doesnt show how the 6 thumb-keys are actually individually connected to the 6 - main columns. - - [[file:wiring-create-columns-left.jpg]] - - This second picture shows how the 6 thumb-keys are actually connected to the 6 main columns. - - [[file:wiring-create-columns-right.jpg]] - - TODO: Insert diagram of how the thumb-keys are connected to the main clumns. - - The next step is to wire the Teensy 2.0 and the MCP 23018 in place. - Everything necessary for that really is the following circuit diagram - - [[file:circuit-diagram.svg]] - - [[file:rows-and-columns-connected-to-chips.jpg]] - - Things to note here: - - The columns for the MCP go from 0 to 6, the columns for the Teensy go from 7 to D (counting - in hexadecimal) which makes great sence, since the MCP is left to the Teensy and we read from - left to right. - - When debugging this and using the ergodox-firmware, both sides have to be wired completely - and actually connected, dont expect the keyboard to work before that. The reason being is how - the ergodox-firmware stops completely if either the Teensy or the MCP weren't initiated - properly. - - In the circuit-diagram the columns on the left side (MCP side) actually go from GPA5 to INTA - (TODO: Update the circuit diagram and get rid of this point) - - The LEDs are handy for debugging, definately go ahead and connect those. When the keyboard - starts successfully two of the LEDs light up shortly. - - From the Teensy over to the MCP go exactly 4 connections. The blue, the red and the two green - ones. This is done using the TTRS jacks and cable (TODO: Add picture here how the jacks are - wired) - - Yes, the connection from B4 to VCC doesnt seem to make any sense, but the B4 port actually - gets used directly in the ergodox-firmware, so just connect those connections that make no - sense on first sight and either dont question it or find out why this is necessary by going - through the firmware in great detail. +*** Step 1: Creating the rows + Using the copper wire you solder each row together, notice how the thumb-part gets its own + row. If you take a close look you can see how I did do a messy job soldering, I had to redo + some of the parts because they weren't soldered properly. Do this for both sides. Which ones of + the pins you chose for the row doesnt matter, but for it to look clean you should decide for + either one of them + + [[file:wiring_create_rows.jpg]] + + [[file:wiring-create-rows-both-sides.jpg]] + + You might want to go ahead and test each one of the 70 switches with a multimeter. + + [[file:wiring-create-rows-testing.jpg]] + +*** Step 2: Create the columns + The next step is to create the columns by soldering the diodes. + + Notice which way these diodes are directed here. First of all, they are all wired with the + black part towards the switch, it is important that you follow that pattern for all of the + switches. The end where that color-mark is denotes the direction of the diode. The way these + diodes are directed, we have to have a firmware that "drives the rows", which means the + electricity can go from the column through the pressed switch through the row, but not the + other way around (TODO: insert diagram here to explain this further). + + Luckily in our firmware "ergodox-firmware" we have the option that adapts to that. However if + you want to try and use the "tmk_keyboard" firmware which seems to be also interesting you + want to wire the diodes the other way. This way the "columns are driving". As a side note, for + some reason the tmk_keyboard firmware things of rows as columns and the other way around, so + if you look through the source code it will also see "drive rows", even though that means + "driving columns". + + The tmk_keyboard firmware could also be used for this kind of wiring, but it would have to be + rewritten, maybe in a beautiful way, such that it can also "drive rows". However I didnt go + ahead and perfomed that rewriting, so I had to stick with the "ergodox-firmware". In retrospect + I'd wish I had wired the diodes the other way around. + + The first picture doesnt show how the 6 thumb-keys are actually individually connected to the 6 + main columns. + + [[file:wiring-create-columns-left.jpg]] + + This second picture shows how the 6 thumb-keys are actually connected to the 6 main columns. + + [[file:wiring-create-columns-right.jpg]] + + TODO: Insert diagram of how the thumb-keys are connected to the main clumns. + +*** Put the Teensy and the MCP in place + This next step is to wire the Teensy 2.0 and the MCP 23018 in place. + Everything necessary for that really is the following circuit diagram + + [[file:circuit-diagram.png]] + + [[file:rows-and-columns-connected-to-chips.jpg]] + + Things to note here: + - The columns for the MCP go from 0 to 6, the columns for the Teensy go from 7 to D (counting + in hexadecimal) which makes great sence, since the MCP is left to the Teensy and we read from + left to right. + - When debugging this and using the ergodox-firmware, both sides have to be wired completely + and actually connected, dont expect the keyboard to work before that. The reason being is how + the ergodox-firmware stops completely if either the Teensy or the MCP weren't initiated + properly. + - In the circuit-diagram the columns on the left side (MCP side) actually go from GPA5 to INTA + (TODO: Update the circuit diagram and get rid of this point) + - The LEDs are handy for debugging, definately go ahead and connect those. When the keyboard + starts successfully two of the LEDs light up shortly. + - From the Teensy over to the MCP go exactly 4 connections. The blue, the red and the two green + ones. This is done using the TTRS jacks and cable (TODO: Add picture here how the jacks are + wired) + - Yes, the connection from B4 to VCC doesnt seem to make any sense, but the B4 port actually + gets used directly in the ergodox-firmware, so just connect those connections that make no + sense on first sight and either dont question it or find out why this is necessary by going + through the firmware in great detail. diff --git a/guide/circuit-diagram.png b/guide/circuit-diagram.png new file mode 100644 index 0000000..886bbf3 Binary files /dev/null and b/guide/circuit-diagram.png differ diff --git a/guide/circuit-diagram.svg b/guide/circuit-diagram.svg deleted file mode 100644 index d6709d1..0000000 --- a/guide/circuit-diagram.svg +++ /dev/null @@ -1,3590 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - USB - R = (match to LEDs) - R = 2.2 kΩ - - - - - - SCL - SDA - PWM - PWM - PWM - - reset only active during power-on - address = 0b 0100 000 - - - - row 5 - row 4 - row 3 - row 2 - row 1 - row 0 - col D - col B - col C - col 7 - - - - - - - - - row 5 - row 4 - row 3 - row 2 - row 1 - row 0 - col 5 - col 4 - col 3 - col 2 - col 1 - col 0 - - - - - - - - - - - - - - LED 1 - LED 2 - LED 3 - - Please also see documentation (especially the notes) in the *.md files- Row and column assignments are to matrix positions, not physical positions - - col 6 - - col 8 - - col 9 - - col A - - - - - Vss - NC - GPB0 - GPB1 - GPB2 - GPB3 - GPB4 - GPB5 - GPB6 - GPB7 - Vdd - SCL - SDA - NC - NC - GPA7 - GPA6 - GPA5 - GPA4 - GPA3 - GPA2 - GPA1 - GPA0 - INTA - INTB - NC - RESET - ADDR - GND - PB0 - PB1 - PB2 - PB3 - PB7 - PD0 - PD1 - PD2 - PD3 - PC6 - PC7 - PD5 - Vcc - GND - RST - PD4 - PD6 - PF0 - PF1 - PF4 - PF5 - PF6 - PF7 - PB6 - PB5 - PB4 - PD7 - Vcc - PE6 - AREF - Teensy 2.0 - MCP23018 - - - -- cgit v1.2.3 From efd796c5ff3b1052e2878c37dc6aab61f9f37073 Mon Sep 17 00:00:00 2001 From: BubblesToTheLimit Date: Sun, 11 Sep 2016 17:20:14 +0200 Subject: Further upgrades on Route 2, diagrams added --- guide/README.md | 62 ---------------------------------- guide/README.org | 39 ++++++++++++++------- guide/diode-diagram-drive-columns.png | Bin 0 -> 816311 bytes guide/diode-diagram-drive-rows.png | Bin 0 -> 814872 bytes guide/thumb-key-wiring.jpg | Bin 0 -> 305919 bytes guide/trrs-jack.jpg | Bin 0 -> 1181038 bytes 6 files changed, 27 insertions(+), 74 deletions(-) delete mode 100644 guide/README.md create mode 100644 guide/diode-diagram-drive-columns.png create mode 100644 guide/diode-diagram-drive-rows.png create mode 100644 guide/thumb-key-wiring.jpg create mode 100644 guide/trrs-jack.jpg diff --git a/guide/README.md b/guide/README.md deleted file mode 100644 index 16163c1..0000000 --- a/guide/README.md +++ /dev/null @@ -1,62 +0,0 @@ -# Dactyl Flexible PCB Rough Guide - -![](workbench.jpg) - -For now, take a look at the images and try to figure things out, I know that's not great (it's better than nothing!) - -## Making the PCB - -Get two sheets of 6in square Pyralux™. Use the Toner Transfer -method to etch the Pyralux sheets as you would a usual PCB - -> NOTE: If you only have an Inkjet make photocopies of the print out, voilà Toner based copies! - -[Here's a handy toner transfer guide ... ](http://www.instructables.com/id/Toner-transfer-no-soak-high-quality-double-sided/) - -Print these PCB designs out... - -Left hand: - -![](left-hand-pcb-pyralux.png) - -Right hand: - -![](right-hand-pcb-pyralux.png) - -When you're done etching, you'll need to carefully cut the pcb into -pieces... See the images below. - -## This is Madness... - -The thumb cluster pcb for the left hand: - -![](madness.jpg) - -Solder the MCP like so: - -![](left-hand-mcp-1.jpg) - -![](left-hand-mcp-2.jpg) - -Solder the Teensy 2.0 like so: - -![](teensy-1.jpg) - -Some interesting pull up 10k resistor business here... (TODO add a small diagram and notes) - -![](teensy-2-fuxor-reziztorrs.jpg) - -Each hand of the keyboard will wire up like so: - -![](right-hand-pcb-1.jpg) - -Teensy goes here... note the rows soldered to the teensy via the Pyralux: - -![](right-hand-pcb-with-teensy.jpg) - - -Here the left hand: - -![](hotglue-left-hand.jpg) - -That's all for now, this guide will improve over time! (TODO!) diff --git a/guide/README.org b/guide/README.org index ba51ce2..01595f7 100644 --- a/guide/README.org +++ b/guide/README.org @@ -1,5 +1,5 @@ * Preparation and Cost - Get all the parts / raw material + Get all the parts / raw material: - For the 3D printing there are two options: 1. Filament, which is the basis for 3D printing. Luckily I could print at my work-place which reduced the cost from 210€ to 70€. The kind of filament you need depends on the 3D @@ -164,9 +164,9 @@ *** Step 1: Creating the rows Using the copper wire you solder each row together, notice how the thumb-part gets its own row. If you take a close look you can see how I did do a messy job soldering, I had to redo - some of the parts because they weren't soldered properly. Do this for both sides. Which ones of - the pins you chose for the row doesnt matter, but for it to look clean you should decide for - either one of them + some of the parts because they weren't soldered properly. Do this for both sides. Which ones + of the two available pins of each switch you chose for the row doesnt matter, but for it to + look clean you should decide for either one of them. [[file:wiring_create_rows.jpg]] @@ -183,19 +183,26 @@ black part towards the switch, it is important that you follow that pattern for all of the switches. The end where that color-mark is denotes the direction of the diode. The way these diodes are directed, we have to have a firmware that "drives the rows", which means the - electricity can go from the column through the pressed switch through the row, but not the - other way around (TODO: insert diagram here to explain this further). + electricity can go from the row through the pressed key-switches to the columns, but not the + other way around. + + These following sketches are supposed to make the two "driving"-options the ergodox-firmware + has more clear. + + [[file:diode-diagram-drive-columns.png]] + + [[file:diode-diagram-drive-rows.png]] Luckily in our firmware "ergodox-firmware" we have the option that adapts to that. However if you want to try and use the "tmk_keyboard" firmware which seems to be also interesting you want to wire the diodes the other way. This way the "columns are driving". As a side note, for - some reason the tmk_keyboard firmware things of rows as columns and the other way around, so + some reason the tmk_keyboard firmware thinks of rows as columns and the other way around, so if you look through the source code it will also see "drive rows", even though that means "driving columns". The tmk_keyboard firmware could also be used for this kind of wiring, but it would have to be rewritten, maybe in a beautiful way, such that it can also "drive rows". However I didnt go - ahead and perfomed that rewriting, so I had to stick with the "ergodox-firmware". In retrospect + ahead and perfom that rewriting, so I had to stick with the "ergodox-firmware". In retrospect I'd wish I had wired the diodes the other way around. The first picture doesnt show how the 6 thumb-keys are actually individually connected to the 6 @@ -207,7 +214,11 @@ [[file:wiring-create-columns-right.jpg]] - TODO: Insert diagram of how the thumb-keys are connected to the main clumns. + How Thumb-keys are wired again depends on the firmware, the following picture shows the wiring + of the thumb keys more clearly and also the part in the code that reflects this wiring + (ergodox-firmware/src/keyboard/dactyl/matrix.h). + + [[file:thumb-key-wiring.jpg]] *** Put the Teensy and the MCP in place This next step is to wire the Teensy 2.0 and the MCP 23018 in place. @@ -215,14 +226,12 @@ [[file:circuit-diagram.png]] - [[file:rows-and-columns-connected-to-chips.jpg]] - Things to note here: - The columns for the MCP go from 0 to 6, the columns for the Teensy go from 7 to D (counting in hexadecimal) which makes great sence, since the MCP is left to the Teensy and we read from left to right. - When debugging this and using the ergodox-firmware, both sides have to be wired completely - and actually connected, dont expect the keyboard to work before that. The reason being is how + and actually with the TTRS connected, dont expect the keyboard to work before that. The reason being is how the ergodox-firmware stops completely if either the Teensy or the MCP weren't initiated properly. - In the circuit-diagram the columns on the left side (MCP side) actually go from GPA5 to INTA @@ -236,3 +245,9 @@ gets used directly in the ergodox-firmware, so just connect those connections that make no sense on first sight and either dont question it or find out why this is necessary by going through the firmware in great detail. + + [[file:rows-and-columns-connected-to-chips.jpg]] + + How the TRRS jacks are wired for both sides: + + [[file:trrs-jacks.jpg]] diff --git a/guide/diode-diagram-drive-columns.png b/guide/diode-diagram-drive-columns.png new file mode 100644 index 0000000..0250bb2 Binary files /dev/null and b/guide/diode-diagram-drive-columns.png differ diff --git a/guide/diode-diagram-drive-rows.png b/guide/diode-diagram-drive-rows.png new file mode 100644 index 0000000..6205f6c Binary files /dev/null and b/guide/diode-diagram-drive-rows.png differ diff --git a/guide/thumb-key-wiring.jpg b/guide/thumb-key-wiring.jpg new file mode 100644 index 0000000..c1a28a1 Binary files /dev/null and b/guide/thumb-key-wiring.jpg differ diff --git a/guide/trrs-jack.jpg b/guide/trrs-jack.jpg new file mode 100644 index 0000000..5ee7b3d Binary files /dev/null and b/guide/trrs-jack.jpg differ -- cgit v1.2.3 From 38be49a5d7162378726a4b7a2255fd7c80fff935 Mon Sep 17 00:00:00 2001 From: BubblesToTheLimit Date: Sun, 11 Sep 2016 17:59:36 +0200 Subject: makeup changes --- guide/README.org | 34 ++++++++++++++++------------------ 1 file changed, 16 insertions(+), 18 deletions(-) diff --git a/guide/README.org b/guide/README.org index 01595f7..52dd7b0 100644 --- a/guide/README.org +++ b/guide/README.org @@ -177,14 +177,10 @@ [[file:wiring-create-rows-testing.jpg]] *** Step 2: Create the columns - The next step is to create the columns by soldering the diodes. - - Notice which way these diodes are directed here. First of all, they are all wired with the - black part towards the switch, it is important that you follow that pattern for all of the - switches. The end where that color-mark is denotes the direction of the diode. The way these - diodes are directed, we have to have a firmware that "drives the rows", which means the - electricity can go from the row through the pressed key-switches to the columns, but not the - other way around. + The next step is to create the columns by soldering the diodes. There are two options for + soldering the diodes. The end where that color-mark is denotes the direction of the diode. The + way these diodes are directed is crucial for the algorithm that detects the + key-press. Detecting the key-press can be done in two ways, row- or column-driven. These following sketches are supposed to make the two "driving"-options the ergodox-firmware has more clear. @@ -195,18 +191,17 @@ Luckily in our firmware "ergodox-firmware" we have the option that adapts to that. However if you want to try and use the "tmk_keyboard" firmware which seems to be also interesting you - want to wire the diodes the other way. This way the "columns are driving". As a side note, for - some reason the tmk_keyboard firmware thinks of rows as columns and the other way around, so - if you look through the source code it will also see "drive rows", even though that means - "driving columns". + want to wire the diodes the other way. This way the "columns are driving". As a side note, if + I understand it correctly the tmk_keyboard firmware thinks of rows as columns and the other + way around. The tmk_keyboard firmware could also be used for this kind of wiring, but it would have to be rewritten, maybe in a beautiful way, such that it can also "drive rows". However I didnt go ahead and perfom that rewriting, so I had to stick with the "ergodox-firmware". In retrospect I'd wish I had wired the diodes the other way around. - The first picture doesnt show how the 6 thumb-keys are actually individually connected to the 6 - main columns. + This first picture doesnt show how the 6 thumb-keys are actually individually connected to the 6 + main columns, but you can see very clearly that the diodes are all wired in the same direction. [[file:wiring-create-columns-left.jpg]] @@ -239,15 +234,18 @@ - The LEDs are handy for debugging, definately go ahead and connect those. When the keyboard starts successfully two of the LEDs light up shortly. - From the Teensy over to the MCP go exactly 4 connections. The blue, the red and the two green - ones. This is done using the TTRS jacks and cable (TODO: Add picture here how the jacks are - wired) + ones. This is done using the TTRS jacks and cable. - Yes, the connection from B4 to VCC doesnt seem to make any sense, but the B4 port actually gets used directly in the ergodox-firmware, so just connect those connections that make no sense on first sight and either dont question it or find out why this is necessary by going through the firmware in great detail. + This is how the trrs jacks are wired: + + [[file:trrs-jack.jpg]] + + After you are done you might have the following result: + [[file:rows-and-columns-connected-to-chips.jpg]] How the TRRS jacks are wired for both sides: - - [[file:trrs-jacks.jpg]] -- cgit v1.2.3 From d95986415b580750073b727af91599df75a12d20 Mon Sep 17 00:00:00 2001 From: BubblesToTheLimit Date: Sun, 11 Sep 2016 18:11:26 +0200 Subject: makeup changes --- guide/README.org | 29 ++++++++++------------------- 1 file changed, 10 insertions(+), 19 deletions(-) diff --git a/guide/README.org b/guide/README.org index 52dd7b0..ab159e5 100644 --- a/guide/README.org +++ b/guide/README.org @@ -178,30 +178,21 @@ *** Step 2: Create the columns The next step is to create the columns by soldering the diodes. There are two options for - soldering the diodes. The end where that color-mark is denotes the direction of the diode. The - way these diodes are directed is crucial for the algorithm that detects the - key-press. Detecting the key-press can be done in two ways, row- or column-driven. - - These following sketches are supposed to make the two "driving"-options the ergodox-firmware - has more clear. + soldering the diodes, all heading towards the switch or all heading away from the + switch. These two ways are called "row-driven" or "column-driven" and here again it is + cruciual for the firmware and the actual wiring to be on the same page. [[file:diode-diagram-drive-columns.png]] [[file:diode-diagram-drive-rows.png]] - Luckily in our firmware "ergodox-firmware" we have the option that adapts to that. However if - you want to try and use the "tmk_keyboard" firmware which seems to be also interesting you - want to wire the diodes the other way. This way the "columns are driving". As a side note, if - I understand it correctly the tmk_keyboard firmware thinks of rows as columns and the other - way around. - - The tmk_keyboard firmware could also be used for this kind of wiring, but it would have to be - rewritten, maybe in a beautiful way, such that it can also "drive rows". However I didnt go - ahead and perfom that rewriting, so I had to stick with the "ergodox-firmware". In retrospect - I'd wish I had wired the diodes the other way around. + If you want to try and use the "tmk_keyboard" firmware which seems to be also interesting you + want to wire the diodes in the according way (check whether the tmk_keyboard firmware expects + a row-driven or a column-driven setup). - This first picture doesnt show how the 6 thumb-keys are actually individually connected to the 6 - main columns, but you can see very clearly that the diodes are all wired in the same direction. + As you can see in these following pictures I went for the "row-driven" setup. This first + picture doesnt show how the 6 thumb-keys are actually individually connected to the 6 main + columns, but you can see very clearly that the diodes are all wired in the same direction. [[file:wiring-create-columns-left.jpg]] @@ -248,4 +239,4 @@ [[file:rows-and-columns-connected-to-chips.jpg]] - How the TRRS jacks are wired for both sides: + Good luck! -- cgit v1.2.3 From 4eaab75cd385df81b34fb916fa55e5cf5e8a88aa Mon Sep 17 00:00:00 2001 From: BubblesToTheLimit Date: Sun, 11 Sep 2016 18:29:06 +0200 Subject: makeup changes --- guide/README.org | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/guide/README.org b/guide/README.org index ab159e5..ebe7eed 100644 --- a/guide/README.org +++ b/guide/README.org @@ -63,8 +63,7 @@ After all the parts have arrived it is safe to move on to the next section. * Wiring - It is assumed that you have printed the casing successfully, I had alot of help for this so I'm - not going into advice on 3D printing here. + It is assumed that you have printed the casing successfully. 1) Plug the switches into the Casing, no glue is needed, the casing provides the perfect fit. 2) Put the keycaps on the switches @@ -77,13 +76,13 @@ 1. The first option is to print flexible PCBs. The advantage is that you save alot of wiring business, everything looks rather clean and you dont have to worry about your cables being too thick such that the casing doesnt close. However if you don't have the means to print out such - PCBs there is the second option, hand-wiring everything by hand. - - The guide for this is very rough indeed and it doesnt include the firmware used. Wiring and - firmware play extremely close together, wiring before knowing your firmware is like buying a - shoe without measuring your feet before. For this option information about the exact - firmware is not published, this in addition to the fact that the pictures in this rough - guide are incomplete makes this option extremely beginner-unfriendly. Going in blind-sided - like this may lead to one of these things: + PCBs there is the second option, wiring everything by hand. + - The guide for this PCB-option is very rough indeed and it doesnt include the firmware + used. Wiring and firmware play extremely close together, wiring before knowing your + firmware is like buying a shoe without measuring your feet before. For this option + information about the exact firmware is not published, this in addition to the fact that + the pictures in this rough guide are incomplete makes this option extremely + beginner-unfriendly. Going in blind-sided like this may lead to one of these things: 1. reprogramming huge parts of the firmware to match your wiring which comes with a ton of debugging 2. rewiring to adapt to what the firmware expects, which may easily double your work here @@ -190,9 +189,10 @@ want to wire the diodes in the according way (check whether the tmk_keyboard firmware expects a row-driven or a column-driven setup). - As you can see in these following pictures I went for the "row-driven" setup. This first - picture doesnt show how the 6 thumb-keys are actually individually connected to the 6 main - columns, but you can see very clearly that the diodes are all wired in the same direction. + As you can see in these following pictures I went for the "row-driven" setup (visible by the + direction of the diodes, the black line being towards the key-switches). This first picture + doesnt show how the 6 thumb-keys are actually individually connected to the 6 main columns, + but note the small black line on each diode. [[file:wiring-create-columns-left.jpg]] @@ -206,7 +206,7 @@ [[file:thumb-key-wiring.jpg]] -*** Put the Teensy and the MCP in place +*** Step 3: Put the Teensy and the MCP in place This next step is to wire the Teensy 2.0 and the MCP 23018 in place. Everything necessary for that really is the following circuit diagram -- cgit v1.2.3