Suche senden
Hochladen
Building a keyboard from scratch
•
61 gefällt mir
•
165,601 views
Jesse Vincent
Folgen
Technologie
Business
Melden
Teilen
Melden
Teilen
1 von 158
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
So, I made a keyboard
So, I made a keyboard
Jesse Vincent
24 SENADOR NG PILIPINAS
24 SENADOR NG PILIPINAS
Alice Bernardo
The Essentials of HR and Labor Law. July 24, 2014. Philippines.
The Essentials of HR and Labor Law. July 24, 2014. Philippines.
PoL Sangalang
Dancing App Stores - Android Open 2011
Dancing App Stores - Android Open 2011
Jesse Vincent
Perl 5.16 and Beyond - YAPC::Asia 2011
Perl 5.16 and Beyond - YAPC::Asia 2011
Jesse Vincent
Perl 5.16 and beyond
Perl 5.16 and beyond
Jesse Vincent
OSCON 2011 - Perl 5.16 and beyond
OSCON 2011 - Perl 5.16 and beyond
Jesse Vincent
RT4 - The whole sordid story
RT4 - The whole sordid story
Jesse Vincent
Empfohlen
So, I made a keyboard
So, I made a keyboard
Jesse Vincent
24 SENADOR NG PILIPINAS
24 SENADOR NG PILIPINAS
Alice Bernardo
The Essentials of HR and Labor Law. July 24, 2014. Philippines.
The Essentials of HR and Labor Law. July 24, 2014. Philippines.
PoL Sangalang
Dancing App Stores - Android Open 2011
Dancing App Stores - Android Open 2011
Jesse Vincent
Perl 5.16 and Beyond - YAPC::Asia 2011
Perl 5.16 and Beyond - YAPC::Asia 2011
Jesse Vincent
Perl 5.16 and beyond
Perl 5.16 and beyond
Jesse Vincent
OSCON 2011 - Perl 5.16 and beyond
OSCON 2011 - Perl 5.16 and beyond
Jesse Vincent
RT4 - The whole sordid story
RT4 - The whole sordid story
Jesse Vincent
K-9 Mail for Android
K-9 Mail for Android
Jesse Vincent
Perl 5.12.0
Perl 5.12.0
Jesse Vincent
P2P Bug Tracking with SD
P2P Bug Tracking with SD
Jesse Vincent
SD - A peer to peer issue tracking system
SD - A peer to peer issue tracking system
Jesse Vincent
Hacking your Kindle (OSCON Lightning Talk)
Hacking your Kindle (OSCON Lightning Talk)
Jesse Vincent
Beginning Kindle Hackery
Beginning Kindle Hackery
Jesse Vincent
SD, a P2P bug tracking system
SD, a P2P bug tracking system
Jesse Vincent
Prophet - Beijing Perl Workshop
Prophet - Beijing Perl Workshop
Jesse Vincent
Beijing Perl Workshop 2008 Hiveminder Secret Sauce
Beijing Perl Workshop 2008 Hiveminder Secret Sauce
Jesse Vincent
A brief introduction to RTIR
A brief introduction to RTIR
Jesse Vincent
An introduction to RTIR
An introduction to RTIR
Jesse Vincent
Prophet: a path out of the Cloud
Prophet: a path out of the Cloud
Jesse Vincent
Web 2.0 is Sharecropping
Web 2.0 is Sharecropping
Jesse Vincent
Hiveminder - Everything but the Secret Sauce
Hiveminder - Everything but the Secret Sauce
Jesse Vincent
Prophet - A peer to peer replicated disconnected database
Prophet - A peer to peer replicated disconnected database
Jesse Vincent
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
Safe Software
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
The Digital Insurer
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
Gabriella Davis
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
Radu Cotescu
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Miguel Araújo
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
ThousandEyes
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
Weitere ähnliche Inhalte
Mehr von Jesse Vincent
K-9 Mail for Android
K-9 Mail for Android
Jesse Vincent
Perl 5.12.0
Perl 5.12.0
Jesse Vincent
P2P Bug Tracking with SD
P2P Bug Tracking with SD
Jesse Vincent
SD - A peer to peer issue tracking system
SD - A peer to peer issue tracking system
Jesse Vincent
Hacking your Kindle (OSCON Lightning Talk)
Hacking your Kindle (OSCON Lightning Talk)
Jesse Vincent
Beginning Kindle Hackery
Beginning Kindle Hackery
Jesse Vincent
SD, a P2P bug tracking system
SD, a P2P bug tracking system
Jesse Vincent
Prophet - Beijing Perl Workshop
Prophet - Beijing Perl Workshop
Jesse Vincent
Beijing Perl Workshop 2008 Hiveminder Secret Sauce
Beijing Perl Workshop 2008 Hiveminder Secret Sauce
Jesse Vincent
A brief introduction to RTIR
A brief introduction to RTIR
Jesse Vincent
An introduction to RTIR
An introduction to RTIR
Jesse Vincent
Prophet: a path out of the Cloud
Prophet: a path out of the Cloud
Jesse Vincent
Web 2.0 is Sharecropping
Web 2.0 is Sharecropping
Jesse Vincent
Hiveminder - Everything but the Secret Sauce
Hiveminder - Everything but the Secret Sauce
Jesse Vincent
Prophet - A peer to peer replicated disconnected database
Prophet - A peer to peer replicated disconnected database
Jesse Vincent
Mehr von Jesse Vincent
(15)
K-9 Mail for Android
K-9 Mail for Android
Perl 5.12.0
Perl 5.12.0
P2P Bug Tracking with SD
P2P Bug Tracking with SD
SD - A peer to peer issue tracking system
SD - A peer to peer issue tracking system
Hacking your Kindle (OSCON Lightning Talk)
Hacking your Kindle (OSCON Lightning Talk)
Beginning Kindle Hackery
Beginning Kindle Hackery
SD, a P2P bug tracking system
SD, a P2P bug tracking system
Prophet - Beijing Perl Workshop
Prophet - Beijing Perl Workshop
Beijing Perl Workshop 2008 Hiveminder Secret Sauce
Beijing Perl Workshop 2008 Hiveminder Secret Sauce
A brief introduction to RTIR
A brief introduction to RTIR
An introduction to RTIR
An introduction to RTIR
Prophet: a path out of the Cloud
Prophet: a path out of the Cloud
Web 2.0 is Sharecropping
Web 2.0 is Sharecropping
Hiveminder - Everything but the Secret Sauce
Hiveminder - Everything but the Secret Sauce
Prophet - A peer to peer replicated disconnected database
Prophet - A peer to peer replicated disconnected database
Kürzlich hochgeladen
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
Safe Software
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
The Digital Insurer
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
Gabriella Davis
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
Radu Cotescu
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Miguel Araújo
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
ThousandEyes
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
Antenna Manufacturer Coco
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
Delhi Call girls
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
debabhi2
How to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
naman860154
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
Rafal Los
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
sudhanshuwaghmare1
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
naman860154
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
wesley chun
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Igalia
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Katpro Technologies
Slack Application Development 101 Slides
Slack Application Development 101 Slides
praypatel2
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
Principled Technologies
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Neo4j
Kürzlich hochgeladen
(20)
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
How to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Slack Application Development 101 Slides
Slack Application Development 101 Slides
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
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
Jetzt herunterladen