Hello guys. I need some opinions about my (possibly stupid) PCB design for Cherry 1800 keyboard.
I'm relatively new to this hobby. My experience so far includes: restoring about dozen of Model Ms (bolt mod, patching membranes, etc.), making a replacement controller for M 122 ('blue pill' STM32 board, TMK), conversion of Magnavox Videowriter, ANSI mod for Model F AT, two handwired boards. I don't have any experience with PCB design (used to draw them by hand in early-mid 1990s when I was a teenager, but that doesn't count) and I'm not an expert in MX-compatible keyboards in general (stabilizers, non-standard layouts, etc.)
About a month ago I've ordered three Cherry G80-1800 boards from German eBay. They are incredibly cheap (about 5.5€, even with shipping it was about 11€ per board). What you can expect for this price?
- ISO-DE layout with stepped CapsLock, 1U bottom row and exotic 6U spacebar
- Thin lasered PBT keycaps
- Very flimsy PCB without diodes
- Cherry MX Black switches. They are definitely not as smooth as vintage or retooled Blacks
- Yellowed case
- No plate
But it's way cheaper than crappiest of Chinese mechanical keyboards and I just like the compact 1800 layout.
I've bought these boards for two reasons: I can just give two of them to my colleagues after cleaning and converting them to USB, and I am going to use the third as guinea pig for practicing PCB and plate design. I'm going to buy more of them in case of success.
The primary goals of modding this kind of keyboard are:
- Reasonable price. I don't think that anybody is going to spend $100 on PCB and plate for $5 keyboard. So there will be no RGB backlight, in-switch LEDs and no plate.
- Flexibility of TMK/QMK. I can achieve this with PS2-USB converter running TMK by simply attaching $4 Pro Micro, but there are other goals also.
- Increase keycaps compatibility. I've heard that 6U off-centered spacebar is unique to these Cherry boards, so I definitely need to use 6.25U or 7U spacebar (more on this later). I have nothing against 1U bottom row, but it just worsens the compatibility with inexpensive keysets.
I've spent two days with KiCAD and https://github.com/ruiqimao/keyboard-pcb-guide and finally made a draft of my PCB, I just need to add edge cuts and mounting holes. And there is the point where I need some advice as I have plans to make an open source PCB design:
- Plateless design. I know that not using the mounting plate limits the customization flexibility. I will not be able make a fancy multi-layout PCB (overlapping holes will reduce the solidity of the PCB) and precisely mounting the plate-mount switches (there is no PCB-mount Kailh Box switches for example) will bee too hard. Am I right?
- Only single layout. Personally I need only ANSI, but I can just well make a separate ISO version if anybody needs it.
- Bottom row. I still can't choose between two bottom row layouts: 3x1.25U + 6.25U + 2x1.5U vs 2x1.5U + 7U + 2x1.5U (KLE). First option is asymmetric so less aesthetically pleasant, but it uses more common 6.25U spacebar.
- Diodes. IMHO, there is no need to use through-hole diodes as soldering relatively large SOD-123 diodes isn't hard even for beginner. Using only SMD footprint for the diodes reduces the complexity of design and possibly can reduce the cost of manufacturing.
- Matrix organization. Here I came with ambiguous decision to use 11x10 matrix instead of 17x7 just to save 3 IO pins so I can use Arduino Micro (24 pins) or Teensy 2.0 (25 pins) and have 3 pins for Numlock/ScrollLock/CapsLock LEDs. That topology resulted in messy routing of tracks with lots of vias. It will work, but I just don't like this kind of engineering, it looks ugly and overcomplicated. So I'm going to redesign the PCB with 17x7 matrix. That will require to use an IO expander (e.g. MCP23017, 16-bit I2C expander) if you need to connect the LED's or another MCU board with more IO pins. Those expanders are cheap (about $1 on Aliexpress soldered to a breakout PCB), but I suck in programming. I think that need to try using them to improve my skills.