Building a keyboard from scratch

111,363 views

Published on

Published in: Technology, Business
18 Comments
52 Likes
Statistics
Notes
No Downloads
Views
Total views
111,363
On SlideShare
0
From Embeds
0
Number of Embeds
2,066
Actions
Shares
0
Downloads
528
Comments
18
Likes
52
Embeds 0
No embeds

No notes for slide

Building a keyboard from scratch

  1. Building a keyboard from scratch Jesse Vincent jesse@fsck.com http://keyboard.io @obra / @keyboardio Wednesday, July 24, 13
  2. Why? Wednesday, July 24, 13
  3. My boss stole my keyboard Wednesday, July 24, 13
  4. WARNING WARNING There are no more cat pictures in this talk Wednesday, July 24, 13
  5. I couldn’t find a keyboard I wanted Wednesday, July 24, 13
  6. I tried Wednesday, July 24, 13
  7. So, you want to make a keyboard? Wednesday, July 24, 13
  8. Tools you’ll need Wednesday, July 24, 13
  9. Soldering Iron http://www.amazon.com/dp/B000BRC2XU $5+ ($86) Wednesday, July 24, 13
  10. Wire cutter $0.99 Wednesday, July 24, 13
  11. Tools you’ll want Wednesday, July 24, 13
  12. Wire cutter http://www.adafruit.com/products/147 $7 Wednesday, July 24, 13
  13. Solder Sucker http://www.adafruit.com/products/148 $5 Wednesday, July 24, 13
  14. Fine-tipped tweezers http://www.adafruit.com/products/422 $4 Wednesday, July 24, 13
  15. Wire-wrapping tool http://www.amazon.com/dp/B006C43VJU $13 Wednesday, July 24, 13
  16. Multimeter http://www.amazon.com/B000EVYGZA/ $20 Wednesday, July 24, 13
  17. Hot Glue Gun http://www.amazon.com/dp/B0009XTPAO $20 Wednesday, July 24, 13
  18. Parts you’ll need Wednesday, July 24, 13
  19. Keyswitches Wednesday, July 24, 13
  20. Cherry MX Keyswitches http://www.cherrycorp.com/english/switches/key/mx.htm $0.80/ea Wednesday, July 24, 13
  21. Key Caps http://www.wasdkeyboards.com/87-key-cherry-mx-keycap-set.html $37 Wednesday, July 24, 13
  22. Don’t make your own Wednesday, July 24, 13
  23. Wednesday, July 24, 13
  24. 26-30AWG Enamel-insulated magnet wire http://www.amazon.com/dp/B0082CUQEI Wednesday, July 24, 13
  25. Rosin-core Solder http://www.amazon.com/dp/B008DEYEAW $6 Wednesday, July 24, 13
  26. Teensy 2.0 Microcontroller http://www.pjrc.com/store/teensy.html $16 Wednesday, July 24, 13
  27. Arduino Pro Micro is also ok https://www.sparkfun.com/products/11098 $20 Wednesday, July 24, 13
  28. WARNING WARNING There is no more Arduino in this talk Wednesday, July 24, 13
  29. MiniUSB cable $0 Wednesday, July 24, 13
  30. Parts you’ll want Wednesday, July 24, 13
  31. $9 http://www.amazon.com/dp/B006C4ABR0 26-30AWG Kynar-insulated wire-wrapping wire Wednesday, July 24, 13
  32. Jumper wires http://www.adafruit.com/products/266 $7 Wednesday, July 24, 13
  33. IN4148 Diodes $12...for 500 http://www.digikey.com/product-detail/en/1N4148-T/1N4148DICT-ND/160623 Wednesday, July 24, 13
  34. Parts you’ll make Wednesday, July 24, 13
  35. The case Wednesday, July 24, 13
  36. Design your own! Wednesday, July 24, 13
  37. 14mm square holes Wednesday, July 24, 13
  38. 3+ mm apart Wednesday, July 24, 13
  39. Top plate: 1.5 mm thick Wednesday, July 24, 13
  40. I designed my first keyboards in OmniGraffle Wednesday, July 24, 13
  41. 14mm 14mm 3+mm 3+mm Wednesday, July 24, 13
  42. Prototype with paper Wednesday, July 24, 13
  43. Use lasers to cut out the pieces Wednesday, July 24, 13
  44. Use CAD to model the weirder stuff Wednesday, July 24, 13
  45. openscad module key(x,y,rotation) { translate([(x*key_spacing),(y*key_spacing),-0.01]) { rotate(rotation) key_inner(); } } module key_inner() { union() { translate([0,0,-3.5]) key_support(); cube(size=[keyswitch_x,keyswitch_y,keyswitch_plate_thickness], center=true); } } module key_support() { difference() { cube(size=[key_spacing-2,key_spacing-2,6], center=true); interior_bevels(); } } Wednesday, July 24, 13
  46. openscadmodule keyColumn(x,y) { translate([(x*key_spacing),(y*key_spacing),0]) { key(0,0); key(1,0); key(2,0); key(3,0); } } module hand() { rotate([0,0,-9]) keyColumn(0.5,-0.05); rotate([0,0,-13]) keyColumn(0.1,1.4); rotate([0,0,-15]) keyColumn(-0.2,2.7); rotate([0,0,-20]) { keyColumn(-0.2,4); keyColumn(0,5); key(2.2,6); key(3.2,6); } translate([165,24,0]) thumbKeys(); } Wednesday, July 24, 13
  47. Wednesday, July 24, 13
  48. What didn’t I mention? Wednesday, July 24, 13
  49. Printed Circuit Board Wednesday, July 24, 13
  50. You do know how to design and etch PCBs right? Wednesday, July 24, 13
  51. Can you teach me? Wednesday, July 24, 13
  52. Putting it together Wednesday, July 24, 13
  53. Try the keys & keycaps Wednesday, July 24, 13
  54. Start Soldering Wednesday, July 24, 13
  55. Flat pin: Connect Diode Square pin: Connect wire Wednesday, July 24, 13
  56. Wire-wrap the keys in each row Wednesday, July 24, 13
  57. http://en.wikipedia.org/wiki/File:Wire_Wrapping.jpg Wednesday, July 24, 13
  58. Solder the diodes in columns Wednesday, July 24, 13
  59. Why Diodes? Wednesday, July 24, 13
  60. Key Ghosting Wednesday, July 24, 13
  61. Credit: @pdcawley Wednesday, July 24, 13
  62. Credit: @pdcawley Wednesday, July 24, 13
  63. Credit: @pdcawley Wednesday, July 24, 13
  64. Credit: @pdcawley Wednesday, July 24, 13
  65. then trim the terminal wires Wednesday, July 24, 13
  66. Connect them in parallel Wednesday, July 24, 13
  67. Connect the black ends to the keys Wednesday, July 24, 13
  68. Don’t solder the diodes to each other Wednesday, July 24, 13
  69. You want the wire-wrapping wire Wednesday, July 24, 13
  70. Solder a wire to each column Wednesday, July 24, 13
  71. Solder a wire to each row Wednesday, July 24, 13
  72. Connect those wires to the microcontroller Wednesday, July 24, 13
  73. Firmware Wednesday, July 24, 13
  74. Install avr-gcc pjrc.com/teensy/gcc.html Wednesday, July 24, 13
  75. Install Teensy Loader pjrc.com/teensy/loader.html Wednesday, July 24, 13
  76. Configure some keyboard firmware Wednesday, July 24, 13
  77. github.com/humblehacker/keyboard Wednesday, July 24, 13
  78. % vi config.kspec Wednesday, July 24, 13
  79. Wednesday, July 24, 13
  80. % make Wednesday, July 24, 13
  81. Wednesday, July 24, 13
  82. Install your firmware Wednesday, July 24, 13
  83. Test your keyboard Wednesday, July 24, 13
  84. (This is why you want a multimeter) Wednesday, July 24, 13
  85. My experiences Wednesday, July 24, 13
  86. Mark 1 Keyboard Wednesday, July 24, 13
  87. shell from ergodox.org Wednesday, July 24, 13
  88. Wednesday, July 24, 13
  89. Wednesday, July 24, 13
  90. Wednesday, July 24, 13
  91. Wednesday, July 24, 13
  92. Wednesday, July 24, 13
  93. Wednesday, July 24, 13
  94. Mark 2 Keyboard Wednesday, July 24, 13
  95. Wednesday, July 24, 13
  96. Wednesday, July 24, 13
  97. Wednesday, July 24, 13
  98. Wednesday, July 24, 13
  99. Wednesday, July 24, 13
  100. Wednesday, July 24, 13
  101. Wednesday, July 24, 13
  102. Mark 3 Keyboard Wednesday, July 24, 13
  103. Wednesday, July 24, 13
  104. Wednesday, July 24, 13
  105. Wednesday, July 24, 13
  106. Wednesday, July 24, 13
  107. Wednesday, July 24, 13
  108. Mark 4 Keyboard Wednesday, July 24, 13
  109. Wednesday, July 24, 13
  110. Wednesday, July 24, 13
  111. Wednesday, July 24, 13
  112. Wednesday, July 24, 13
  113. Wednesday, July 24, 13
  114. Wednesday, July 24, 13
  115. Wednesday, July 24, 13
  116. Wednesday, July 24, 13
  117. Mark 5 Keyboard Wednesday, July 24, 13
  118. Wednesday, July 24, 13
  119. Wednesday, July 24, 13
  120. Wednesday, July 24, 13
  121. Wednesday, July 24, 13
  122. Wednesday, July 24, 13
  123. Mark 6 Keyboard Wednesday, July 24, 13
  124. Wednesday, July 24, 13
  125. Wednesday, July 24, 13
  126. Wednesday, July 24, 13
  127. Wednesday, July 24, 13
  128. Wednesday, July 24, 13
  129. Wednesday, July 24, 13
  130. Wednesday, July 24, 13
  131. Wednesday, July 24, 13
  132. Wednesday, July 24, 13
  133. Wednesday, July 24, 13
  134. Mark 7 Keyboard Wednesday, July 24, 13
  135. Wednesday, July 24, 13
  136. Mark 8 Keyboard Wednesday, July 24, 13
  137. Wednesday, July 24, 13
  138. Mark 9 Keyboard Wednesday, July 24, 13
  139. Wednesday, July 24, 13
  140. Wednesday, July 24, 13
  141. Wednesday, July 24, 13
  142. Wednesday, July 24, 13
  143. What have I learned? Wednesday, July 24, 13
  144. Hardware is not scary Wednesday, July 24, 13
  145. 3D printers are almost there Wednesday, July 24, 13
  146. Iterating on hardware isn’t much harder than iterating on software Wednesday, July 24, 13
  147. Patching hardware is a lot harder Wednesday, July 24, 13
  148. Patching hardware is a lot more satisfying Wednesday, July 24, 13
  149. Keyboards don’t have to suck Wednesday, July 24, 13
  150. Make one Wednesday, July 24, 13
  151. ...or nine Wednesday, July 24, 13
  152. What’s next? Wednesday, July 24, 13
  153. Figuring out a mousing solution Wednesday, July 24, 13
  154. Learning about PCB design Wednesday, July 24, 13
  155. Learning about contract manufacturing Wednesday, July 24, 13
  156. Learning how to make a Kickstarter video Wednesday, July 24, 13
  157. Questions? Wednesday, July 24, 13
  158. Thanks! Jesse Vincent http://keyboard.io jesse@fsck.com /@obra Wednesday, July 24, 13

×