Stripping back to the matrix

A project log for Aerodox

[WIP] Keyboard based on Ergodox. But wireless?

Simon MerrettSimon Merrett 05/20/2020 at 13:462 Comments

Since I started #Aerodox I have found more and more excellent other wireless keyboard designs. They use a range of controller and radio solutions (often combined in a Nordic chip). This made me realise that I probably want to separate the keyboard layout and matrix routing from the controller and radio. So I stripped back the PCB to just have batteries, reverse polarity protection, switch and key switches.

I broke power and the matrix busses out to two 8x1 0.1" headers, spaced far enough apart to fit most radio modules in, at 0.9", and still let the motherboard be placed in a breadboard with room to add wires outside the motherboard legs. "Motherboard" is what I'm calling whatever you plug into the aerodox pin headers. All the row and column pins, plus VCC and GND are accounted for. You wouldn't even need to make this wireless if you made your motherboard wired.

Perhaps I should change the project name to Omnidox.

Here is the new PCB

The motherboard will / can be plugged in any way up you like, so I have tried to make the header labels fairly subtle, using copper under silkscreen:

This will let me design a few motherboards. One will be based on the wireless version of #Redox keyboard that employs an NRF 51822, one will hopefully be based on this that employs an NRF52840 but looks harder to port to my "KVM" requirement.

I'm still pondering the position of the thumb cluster though. Wouldn't it be nice if that were a movable feast?


After @s0 commented on some really good points, I'll just put this drawing up to show how I imagined the motherboard working. The 0.9" spacing is partly to give myself lots of margin in motherboard layout and routing to the two rows of pins. And then last night I watched Brian Lough's ESP32 BLE macro keypad video and realised that at 18mm wide for an ESP32 WROOM module, that would fit inside the rows on the motherboard, opening up a whole new area for control (ESP-NOW, anyone?), price, availability and hackability. I recall that ESP32 doesn't have a great performance on low power when its radios are in use, so this may be a dead end for a wireless version. Has anyone put QMK on ESP-32? I'm writing-before-googling so I bet it has been done.

I was thinking that the USB or TRRS connectors could be mounted to the side of the left row of pins for a wired connection. I don't think this would put too much mechanical stress on the motherboard pins. VBAT is a GREAT idea and we have duplicate GND pins because of an originally uneven number of matrix pins. So we can just lose a GND pin and have a VBAT pin. I will remove ground pours in the vicinity of the likely antenna position and shove the VCC trace over to the right. We can probably move the pins over to the right by a millimeter or two, and maybe up by the same.


s0 wrote 05/21/2020 at 06:37 point

That's a great idea to split to pin headers for any controller. Couple of thoughts: By having the headers parallel to the edge rather than perpendicular, it means you couldn't have a motherboard with a USB connector right at the keyboard edge there, which seems limiting. Could they be rotated 90º? Also, the lower right corner of the motherboard outline seems quite close to the thumb cluster, could it be shifted up a little to enable better clearances for acrylic case parts between the motherboard and thumb keyswitches? Another thought is to bring them closer together (0.9" is a lot compared to many boards) and provide an extended rectangular outline of where the board can extend to, even if that many pins aren't needed. Also, perhaps include a pin of VBAT to potentially allow in-place charging of a rechargeable cell if the motherboard supported it, as well as allow RTC/sleep-mode to keep running even with power off, depending on the motherboard? Also maybe remove the copper pours under the motherboard outline to lessen the antenna-blocking effect.

  Are you sure? yes | no

Simon Merrett wrote 05/21/2020 at 07:27 point

Great points, I've updated the log to reflect.

  Are you sure? yes | no