Or, as it really ought to be called, “What Happens When You Don’t Have A Multimeter and Build a Keyboard Anyway”
The Viterbi is a split ortholinear mechanical keyboard of 70 switches arranged in two 7×5 blocks. It is sold as a kit on keebio.com; you cannot buy this keyboard in a store. There are assembly services around the web and from the store itself, but most of the fun comes from sourcing all the parts and building the keyboard. You can also buy similar keyboards (especially the Iris) through various local groups in Manila.
I sound like I know what I’m doing but it was my first build and had 2 lingering issues (one with the left controller and one with RGB) which I’ll go over at the end of the post.
Moving on this post will go over testing components, the build experience, materials, flashing, and using the keyboard.
All prices in this post are in Philippine peso (1 USD is roughly 50 Php).
post length: LONG
— my first build
— a DIY keyboard kit from keeb.io
— about 6000Php with shipping
— allow for a 15-20 hour build time with errors
— alexan megamall
— no soldering experience
— previously used and flashed keymaps for the Iris
Sourcing materials, costing, and shipping
Soldering and testing supplies are covered in a separate post. For everything else, these are what I used:
Conversion rate: 53.015 Php to 1 USD
|Viterbi Rev 2 Kit||1060.3 Php|
|Peel-a-way Sockets||53.015 Php||1 strip|
|TRRS cable||212.06 Php||Cheaper elsewhere|
|Black Aluminum Plates||1590.45 Php|
|Delivery (MyShoppingBox)||438.97||8.28 USD total due to promos|
From various sellers on shopee:
|Per key LED||121.8 Php||70 pcs, Blue|
|Pro Micro Clones||440 Php||2 pcs|
|*LED Strip||105.93||14 pcs, still uninstalled|
|Delivery||150 Php~||Rough estimate|
Conversion rate: 51 Php to 1 USD (bought at an earlier time with other items)
|Kailh Speed Bronze Switches||999.6 Php||70 pcs; 19.60 USD|
|Delivery (Express)||765||10 – 15 USD|
From Alexan Megamall:
|Resistors||40 Php~||510 ohms; 70 pcs; rough estimate|
total cost: 5977.125 Php
For a more budget build, consider
- using free shipping from kbdfans as their shipping is reliable anyway;
- joining group buys (but always compare before joining);
- buying cheaper FR4 plates at 25 USD or sourcing plates locally;
- and recycling old switches.
The PCB is a thoughtfully designed product made with builders in mind. When working with split ortholinears, their mirror appearance lends themselves to common mistakes including placing diodes on the front orientation, switching left/ride sides, and general confusion about which way to orient the Pro Micros. To address this, there are several improvements over the older model:
- The second iteration has made it clear what the front and back are. Pictured above is the “bottom/back”.
- The pro micros are now oriented only one way (originally, the left and right sides had flipped pro micros).
- The labels are written on the side that the component’s pins should go through.
As a minor note, the Squirtle Gang illustration was removed in Viterbi Rev 2 (probably to make way for the informational markers).
One of the biggest hurdles I had as a level zero builder was that my multimeter was too old to have a diode testing mode. I gave up after a lengthy five minutes of head-scratching and chucked it back in the drawer. Instead I got two bits of wire, a 9-volt battery, and a breadboard.
A quick summary of the process is as follows:
- If you don’t have a multimeter, test and/or flash all the components and microcontrollers.
- Add epoxy to each microcontroller’s USB port. Even then this isn’t a guarantee.
- Solder the diodes, resistors, and other components except the switches , LEDs and Pro Micros.
- Socket the Pro Micros and start testing switches.
- Solder the switches.
- Solder the LEDs; fit/friction test before soldering.
- Add keycaps.
I. Test all the things
Set up the breadboard’s circuit by putting one end of each wire on the power strips (on the far left and far right columns) on the same row.
You can then test a LED with a resistor, and add/remove components depending on how many components you want to test at one time.
In the above example, I just need to have a wire to connect the (+) current to the main breadboard. I close (complete) the circuit by putting the positive leg (longer) of the LED on the middle column of the breadboard and the negative leg (shorter) on the negative power column. The LED should light up.
If at first it doesn’t light up, try changing the orientation of the LEDs and diodes or lessening the components tested before assuming a faulty component.
Total time: about an hour
II. Flash and glue all the things
The micro USB ports of Pro Micro clones tend to break at the slightest twitch of the cord. Glue the bastards down with some epoxy after covering the connectors with some electrical tape to keep the epoxy from seeping into the connector.
You then have to flash the two microcontrollers. (I’ll be referring to them as ‘chips’ on occasion; it’s shorter to type.) On Windows, flashing is achieved through QMK Toolbox in theory. However, the software sometimes fails to detect the chips in time to put them into bootloader mode, so our elevator to the finish line must be abandoned in favor of going up the stairs. The true use of QMK Toolbox when this happens is to download your keyboard’s keymap file and to write out the command you need to flash.
Alternatively, AVRDudess does a wonderful job of resetting and flashing, but for this post, we’ll go over copy-and-pasting the flash command.
Then for the manual parts:
- Go into the cmd (winkey+r) and look for the QMK folder.
- Run the command from QMK Toolbox. It will fail.
- Attach the chip’s micro USB port to the cord (don’t connect to the computer yet)
- Stick a bit of wire (or paperclip, or tweezers) into both the Boot0 and Reset pins on your microcontroller. This is called shorting.
- While keeping those bits of wire on the pins, connect the USB to the computer.
- Remove the wires from the microcontroller.
- You have a few seconds so: press Up to call up the last command (the one from QMK Toolbox) on the console then press Enter to run the command.
- Hopefully you get the success message.
Time for this step: 30 minutes if you’ve done this before
Total time: 1’30”
III. Start soldering all the things
If you, like me, have gone through life without having to solder, then your best bet is to warm up on some stripboards. I have no idea what these are called colloquially but they can be found in Alexan Megamall. Just look carefully and point! They are less than 50Php / 1USD. I just soldered wire onto the holes as practice.
My working temp was about 325 – 350C. At that temperature you should be a little aware that keeping the heat on for too long will lift the circular conductive ring you’re supposed to be soldering the parts to.
The diodes took me 4 hours; 2 on each side. I was going extremely slowly as I did this; most videos on youtube show it is doable with good tools in an hour.
About through-hole soldering: One of the crappiest things about a beginner’s work bench is not spending on a PCB holder. I have an anti-slip mat and it doesn’t help much in the way of keeping my components flush to the PCB (some of them were raised and had to be redone). Also, I burned parts of the mat when soldering.
The resistors took me another 4 hours; 2 on each side. They were 510 ohm resistors and looked huge next to the diodes.
Another newb issue: “aesthetic”. I wanted to keep the pins straight and not bent, so I spent on electrical tape to keep them in place rather than bent. The results were questionable as not all the electrical tape stuck consistently.
I then did the MOSFET — damn if that thing isn’t tiny — then the extra resistors for I2C communication, the Peel-A-Way sockets, reset button, and the Pro Micros. That took about an hour each side.
The advantage of socketing in addition to being able to rip off any broken microcontrollers any time is being able to test the switches as you place them as the chips are already flashed at that stage.
The legs from the diodes were reused as the pins to fit the sockets. Legs from LEDs are too big.
Before soldering the switches, I tested them. It took about 1.5 hours for each side for testing and soldering.
Then I worked on the LEDs. I started with the LEDs directly under the microcontrollers. Therein began my four-hour pain in the ass.
I screwed up the orientation on one of them. Getting the LED out itself with one iron was hard (I could not lift both legs at the same time). I lifted the pads with all the effort and strain and still couldn’t figure it out. I eventually went with the slap method — I heated one leg and banged the PCB on the table. It raised the LED head a bit and I cut off the head, allowing me to remove each leg individually.
Then the switch had to somehow be removed. If I had 2 irons heating each pin up it would be fine, but I didn’t, and I could never suck enough solder. Eventually I resorted to brute force.
After that, I made sure to test the LEDs before soldering them, thus completing the build (at least until I work up the courage to try installing the LED strips.)
Pro Micros are hecka cheap in the Philippines, but they can break. Even with epoxy. Even with a magnetic cable. It may be worth it to either use a passthrough (I believe the ergodox does this)
If you are too cheap to pay for a multimeter, loupe, third hand, and all the nice desoldering tools, you have to build very carefully and compensate with experience. My takeaway was that I should never start soldering the switches until I’ve verified the RGB underglow (the last part of all the bottom side components) and the socketing.
Fit-test or breadboard-test all the things before soldering if you can. This is the only compensation you can make when you don’t have a multimeter.
Tin the wire of the RGB underglows before soldering. Test the underglow (fit test if you can) and then solder one half of the strip, then save the extra data (end of the line) for the last keys.
Keep the header plastics.