Author Topic: Green and White - A Handwired 60% Keyboard  (Read 2152 times)

0 Members and 1 Guest are viewing this topic.

Offline EvergreenTree

  • Thread Starter
  • Posts: 7
  • Location: A forest somewhere in the midwest
Green and White - A Handwired 60% Keyboard
« on: Thu, 26 July 2018, 19:59:18 »
Hello everyone!

I posted a picture of my first keyboard build along with my self-introduction topic and I was told that it would be at home here.  It isn't anything too special other than the fact that it is hand-wired, but I thought I would post it anyway.

200652-0

More photos (including the build process): https://imgur.com/a/vrZ0zKW

Information that I put in the r/mk topic (https://redd.it/8zkim2):

More

Hi everyone!  As with many people who have lurked on this sub for a few months, I finally decided to take the plunge and build myself a keyboard.  Of course, good ol' me a month ago wasn't content with just soldering the switches into a PCB and decided that his first custom keyboard would be hand-wired (including the cable).  Some parts of it were painful and/or tedious but the result is definitely worth it (and honestly, why would you even be in this hobby if that bothered you).

Parts


Here are the bits and pieces I used along with their individual cost:

PartPrice (USD)LinkNotes
100 1N4148 Diodes$3.45https://www.digikey.com/product-detail/en/on-semiconductor/1N4148/1N4148FS-ND/458603
Teensy 2.0$16.00https://www.adafruit.com/product/199
60% Costar Stabilizer Set$7.75http://www.switchtop.com/product/costar-stabilizers-and-keycap-inserts
70 NovelKeys BOX Royal Switches$35.00https://novelkeys.xyz/collections/switches/products/novelkeys-box-royal-switches
LJD61UP Case$115.00https://www.1upkeyboards.com/shop/keyboard-kits/diy-ljd61up-2-plate-stainless-steel-keyboard-kit/No PCB, Silver Anodized Aluminum Legs ($10), Black Aluminum 10mm standoffs, and no stabilizers.
Vortex PBT Double Shot Green and White Keycaps$59.00https://mechanicalkeyboards.com/shop/index.php?l=product_detail&p=771
Skinny WS2812 RGB LED Strip$17.00https://www.adafruit.com/product/2954
Zap Cables DIY USB Cable Kit$14.00https://zapcables.com/diy-usb-cable-kit/USB Type A to Mini USB (both gold plated), 10 ft., green cord, no sleeving, white heatshrink. The 10 ft is just extra in case I assemble another cable.
6” Mini USB Extension Cable$8.19https://www.amazon.com/YCS-Basics-Female-Extension-Cables/dp/B01CKMGD10/Don’t get this kind if you can avoid it, the connectors and cable are too thick
25 ft of 20 AWG Solid Core Wire$5.00Would recommend smaller gauge wire, this was hard to work with
Strip of 40 right-angle header pins some guy gave me in the electronics store parking lot$0.00
Some random PTFE grease I had$0.00For lubing the stabilizers
A piece of plastic cut out of a plastic silverware container$0.00
~28 AWG stranded wire harvested from some phone cable$0.00
470 Ω Resistor$0.00
Total:$280.39


In reality it was a bit more than this with shipping costs + buying some other random stuff I needed, so the real total is more around $300.

Tools


As for the tools I used, the only thing I had to buy was a wire keycap puller.  However, as a reference for future builders, here are the tools I used:

- Soldering iron with a fine tip (set at around 600 °F)
- Rosin-core solder
- Solder wick
- Tweezers (absolutely indispensable during the entire process, would highly recommend)
- Needle-nose pliers
- Wire snips
- A wire stripper with fixed-size holes
- An adjustable wire-stripper (the fixed-size one was to large to do 28 AWG)
- A screwdriver with a decent set of bits
- Hot glue gun
- Scissors
- Double-sided tape
- Electrical tape
- Miscellaneous sizes of shrink wrap
- Helping hand tool (the alligator clips on it are pretty brutal, had to use some cloth to protect the stuff that it was holding)
- A multimeter for checking connections (make sure that it has a nice and loud beeper for checking shorts so it will scare your dog every time you use it)
- Heat gun (for the shrink-wrap)
- X-Acto knife

Tips


If you are considering doing a hand-wired build, here are some things I learned:

- Make sure that you either map the RESET keycode in QMK or have physical access to the button on the Teensy before you close the case up.  I got lucky and managed to sneak a header pin onto the reset pin and short it to ground.
- Make sure that _everything_ works and your solder joints are solid before you put the case together (both for the USB cable and the keyboard).  I had to cut the shrink wrap on the USB cable to redo a connection and also had to take apart the keyboard case to resolder a column to the Teensy.  Not fun.
- Put your stabilizer clips in before you solder anything.  Didn't have to learn this one the hard way thankfully.
- If you do have to use a USB Mini extension cable, use one with thin and flexible wire.  Even better, get a newer teensy with pads on the bottom for all of the USB connections.  That way you can simply get a USB female socket and wire it directly to the Teensy with your own wire.
- Use a pin that supports PWM for the RGB LED strip's data line (pins B5, B6, or B7) if you want variable brightness.

Credits


Finally, thanks to the following people for helping me with this project:

- u/ARCFXX for pointing me in the right direction for the electronic components, and also for suggesting that I should just get a PCB instead (even though I kind of ignored him on that one).
- u/alose for finding the LJD61UP case that I used, and also suggesting that I should just get a PCB (sensing a pattern here).
- The wonderful people on the #Mechboards freenode IRC channel for helping me choose which switch to get (they did a great job).

To be clear I do agree with them that a hand-wired build usually isn't the best thing to do for your first custom board (_especially_ if you don't have experience with electronics and soldering).

Appendix


I based my keymap heavily on u/merlin36's 60% ANSI keymap with a few changes, such as using the caps lock key to momentarily activate the first layer and act as an escape key when tapped (his original keymap is available in the QMK source code under "layouts/community/60_ansi/mechmerlin-ansi").

Here is the QMK keyboard source code if you'd want to use it for some reason (just extract it and move it into the "keyboards" subdirectory of QMK): https://www.dropbox.com/s/aezohceneqeldiv/hand_wired_60.tar.gz?dl=0

Here are a few diagrams I made to help figure things out: https://imgur.com/a/nFeVXJe

And here are some resources that I found helpful throughout the build process:

- https://deskthority.net/workshop-f7/brownfox-step-by-step-t6050.html
- http://trauring.org/hand-wiring-a-keyboard/
- https://www.reddit.com/r/MechanicalKeyboards/comments/4l0p41/guide_detailed_guide_to_making_a_custom_keyboard/
- https://learn.adafruit.com/adafruit-neopixel-uberguide?view=all
- https://github.com/qmk/qmk_firmware/blob/master/docs/hand_wire.md
- http://pcbheaven.com/wikipages/How_Key_Matrices_Works/
- https://docs.qmk.fm/

This was a great experience and one of the most rewarding projects I have ever done; nothing beats the "ah-ha!" moment of something I made working the way I want it to.  You can definitely expect to see more of me around here in the future.



P.S.
It's been while since I've been active on a forum that uses BBCode so please excuse any formatting issues.  I may just have to write a markdown->BBCode converter to avoid the terribleness of typing out long sections of heavily formatted BBCode.