Author Topic: MW-01 -- Left-handed Numpad  (Read 3333 times)

0 Members and 1 Guest are viewing this topic.

Offline MatchstickMan

  • Thread Starter
  • Posts: 129
  • Location: Seattle
  • CAD Jockey - YOLO Enthusiast
MW-01 -- Left-handed Numpad
« on: Sun, 05 May 2019, 13:46:35 »
The work that I primarily do is in CAD and in excel, and with most numpads being located on the right of the keyboard, it got kinda annoying to have to move my hand from my mouse to the numpad for data entry. I tried to use just a standard numpad with my left hand and it just didn't feel right, and most of the mechanical numpads that I was finding were the ortho layout without the 2u keys for 0, Enter, and +. So I decided to see at making my own, with very little real experience designing a PCB, how hard could it be, right?


Not that hard, actually...

My existing experience has been in attempting to make a split, full-sized keyboard from scratch much the same way. A number of things has put that on hold for the moment, the difficulty of the project given my (lack of) experience being a major contributing factor. So I figured this numpad could be a good way to build my confidence enough to ease me back in to that project.

So I got started in KiCad using Ruiqi Mao's guide on GitHub. Deviations from that included using an ATMEGA32U2 instead of the U4 (I didn't need that many pins for something this small) and using a USB-C connector (after seeing they exist in through-hole variants) instead of microUSB. The schematic with these changes was still straightforward enough, a little more tracing for the extra pins on the USB-C plug and fewer capacitors due to the fewer VCC pins on the ATM32U2.


Basic, easy, nothing to see here...

Then the fun part was doing the layout and tracing for the PCB. Everything here was also pretty straightforward. I don't like how KiCad handles geometry for edge cuts (I'm used to more robust CAD systems that allow for dimensioning, constraints, etc.), but it all worked out well enough. One thing I would do differently here is silkscreen on the values for each of the Resistors and Capacitors so I didn't have to go back and reference schematics during the build. It could certainly be more clean, but I'm pretty happy with Rev 0.1.


The intended mapping


Neat!

Once I was happy with the design, I slapped on some fancy silkscreening and ordered 5 prototypes from JLCPCB.com, components for those 5 from Digikey, and some 2u stabilizers and a bunch of 100g Aliaz from NovelKeys. My first attempt made me realize that the same solder tip I use for soldering switches just wasn't doing to cut it for the ATM and the USB-C plug, I also soldered the USB-C plug on the wrong side of the board (the cable might be reversible, but the plug certainly isn't) and I ended up breaking the pins off as I was trying to remove it and busted the plug and that board which I'm calling SN001. So I ordered some new tips, smaller dia solder, and a flux pen (praise the gods for this stuff). While I was waiting for that all to come in, I set to work on building the firmware. Took a couple nights of tinkering, but I was able to repurpose another build, move some stuff around, assign the proper pins for my design, and get it to compile properly.


Super neat!

Stuff came in and I got to work on SN002. Started with the plug, then the ATM, then the rest of the board. I plugged it in and Windows didn't error out, this was good news! So I attempted to flash the firmware, and it worked, this was good news! I took a paperclip and started bridging the switch holes and columns 1-3 worked perfectly, this was good news! But then column 4 didn't respond, this was not good news. I set to work with my multimeter testing connections, looking for shorts, but everything appeared fine. "Must be the firmware," I say to myself, and set to looking where I went wrong, checking that I mapped the pins correctly and all that jazz, but everything looks fine. "Ok, the pin MUST be burned out," I concede. So I painstakingly bridge a wire from that dead pin to one of the unused pins on the chip and go back into my firmware. "Aight, we need to update the mapping of B4 to D2...wait, why is col 4 mapped to D4?" So I fixed my dyslexia in the firmware, reflashed and everything worked! I desoldered the stupid, ugly wire from the ATM and soldered the heavy ass Aliaz switches to the board.


Oh god, it's hideous


It's done, finished

And that's about it! If you have any questions, comments, complaints just let me know. This was a super fun and challenging experience and I really love talking about it.
Current Projects:
- MW-01 -- Left-handed Numpad
- Full Split (Currently on hold)