Mechanical Keyboard Sound Isn't That Simple
Figure 1: I couldn't think of a more literal way to represent this article if I tried... Looking back just a few years ago, there’s no doubt that the huge influx of people that joined the hobby at the peak of the COVID pandemic were drawn to keyboards by way of YouTube, TikTok, and other audio-visual content platforms. Even as the output from these content creators has waned in recent months, their collective impact and legacy on the keyboard hobby is rather firmly etched in the history books. As a result of all of their sound tests, build logs, and opinion videos, the message is clear to any new person joining the hobby: mechanical keyboards are all about the sound. Thock this, clack that. Whether it’s keyboards, keycaps, or even singular switches, seemingly everyone new to the hobby meticulously pores over each component of their keyboard not in an attempt to figure out how it will feel in hand, but how it will sound as they’re furiously grinding their way out from...
Mar 27, 2024
By the way, the plate (and a different collection of switches) is availabe on eBay for $25.30 shipped (current price - when I bought it, it was $24). Transparent 1U keycaps are included, in different profiles (so the curve is correct). Note that this means the 0, + and ENTER keys do not have the 2U wide keys. It does not have the NPKC logo on the top - it's completely plain. The only (maybe) shady part about this auction is that the seller is using some photos from Massdrop. Maybe he has permission...
And yeah, I'm not gonna rail too much on NPKC, they got pushed into making a PCB, and it's not a great one, but on the other hand, they weren't even sure they'd have it ready for this drop. So we kinda forced this on ourselves by pushing them to build a PCB really quickly. You push people to put something out, they put something out. it's very much an unfinished product, but, it does everything they said (it's a numpad). fast, cheap, good, choose two :P
That being said. I'm very interested in wiring up my own tester now and getting moving ahead building something neat I can use.
Also, as a heads up for anyone who does decide to use the PCB. Unsoldering the switches is a giant pain. A much bigger pain than unsoldering normally is because the lip on the bottom edge makes getting to some places difficult.
I'd do your research and make sure your PCB works, and it's what you want before assembly.
Was going to look into it, since it seems the Infinity backers are getting these PCB's, but probably not worth it.
And all the other people with the board would need to pay to have the board shipped 2 ways, or buy a programmer for $50+, for a $9 board.
I think it'll be a great learning experience, but other than that it doesn't make sense. Unless someone works with these as their day job. Anyone?
Question.. is the pro micro easier to program than the teensy? The teensy's capabilities are not matched by online documentation. You already have to be familiar with programming in C to get full use of it.
[edit - I read the code... and I figured out that you're using pullups instead of a matrix]
Anyway, I've finished soldering my numpad in a matrix layout, wrote and tested the code. It's for a Pro Micro, so if you want to use it for a Teensy, you'll need to modify it.
https://github.com/theimmc/numeric-keypad
The soldering could have been neater. I should have planned it out first before starting to solder.
https://www.reddit.com/r/MechanicalKeyboards/comments/3q41gn/photos_npkc_numeric_keypad_build_instructions/
[edit2] - from what you showed me, I searched and found this: https://github.com/benblazak/ergodox-firmware/blob/master/src/lib-other/pjrc/usb_keyboard/usb_keyboard.h
NOTE: This was written for Teensyduino 1.25 with Arduino 1.6.3. I updated to Teensyduino 1.26 and Arduino 1.6.6, and it DID NOT WORK. However, Teensy's keyboard library was TESTED WORKING when I used Teensyduino 1.25 with Arduino 1.6.5-r5.
Something I found out abut the Teensy 3.x versions: The pins output 3.3 volts instead of 5v. Because of this, I had to buy some 100 ohm resisters for the led's (I know I needed less resistance, but I am overly protective of my LEDs. In 5v circuits I use 470 or 500 ohms).
The matrix:
Testing the four status LED's:
Layer 0 is numpad keys: This is useful for gaming because games can bind separate commands to numpad_1 and regular 1, for example. Layer 1 is regular keys: This is useful for using a number pad-like device on a laptop where you can't turn numlock on, as numlock on a laptop messes up the letters or other keys.
How to change layers: Hold top left button (button 0 in the code), then press slash (button 1) BOTH LAYERS HAVE BEEN TESTED IN WINDOWS AND LINUX
Tested using: http://www.keyboardtester.com/tester.html
I recommend using osk.exe (included with Windows) and "Onboard" for linux. These are virtual keyboards. You need these for pressing... or unpressing a key while you are debugging.
I also recommend looking at @theimmc's code which is linked on page 27. I learned half of what I know in arduino C from reading his code.
Question : where's the class Keypad defined? Is this in Arduino IDE 1.6.6?
FYI This is my first attempt at cutting away insulation on a wire in the middle. I saw it on reddit I think. Stranded wire is a pain. I have stuff I was needing to get from adafruit.com... I just made a purchase after making this keyboard, I also got some solid core wire to use in the future.
Yeah, stranded wire is a pain. The 6 pack of 22 AWG solid core from Adafruit looks useful. I used a roll of 22 AWG solid core black wire I had instead. To make life a little easier in the future, I picked up another roll of red.
I used a pair of flush cutters to notch the insulation and slide it to expose the conductor instead of using an Xacto to cut away the insulation. Seems like it might be easier this way if you get the measurements correct.