So... its raining hard down here and we are flooded for 2 days now. While waiting for the rain and  flood water to subside, I kept myself busy soldering and building shields :)

...I was busy building a P20 kit with wireless/bluetooth connectivity, actually. As usual, this is powered by ZMK with nrfmicro as its controller - I am very much in love with this controller :) Thank you very much, Joric! 

For its layout, it has the (almost) standard numpad layout with 3 layers - numpad layout, control, and arrow keys. 

Thank you KLE

Top-left most switch is a rotary encoder for volume control. I've had queries if these encoders could be hot-swapped... I don't have any idea on how to do that so this one is soldered. 

Local seller sells new old stock Alps encoders!

P20 PCB version I am using is 6. This version has allocation for a battery switch and a bigger controller pin holes to fit and reduce height of Hirel Socket strips. 

Mill Max sockets soldered for easy switch replacement.

E73 module is too wide to seat flushed.

I used pins from those they use for RGB leds. These are a PITA to pull and install but fit smugly with Hirel Sockets.

Meet assembly number six :) Only one side of the USB port works but I don't care since it'll only be used for charging.

For the battery, I have a 401030 with 90mAh. It took a week before my P42 with NRFMICRO needs charging with this same battery. Let's see how long P20 can hold... 

Case prototype...


Update 20200902: Troubleshooting

Initial connection with a PC or mobile device should be a breeze. In an event of failure, moving to the next available profile helps. To do this (on a P20BLE), press and hold top right most key (minus) then press zero (BT_NXT/next profile on Layer 1) then try to connect. Do this five (4) times since ZMK has 5 profiles by default. 

If above still fails, clear all profiles on the pad. To do this (on a P20BLE), press and hold top right most key (minus) then press dot (BT_CLR/clear profile on Layer 1) then wait for a second. Do this 5 times to clear all profiles on all layers. BLE device should now connect.

Update 20200903: Power saving mode

ZMK/NRFMicro typically goes to sleep after several hours left unattended. Pressing a key several times will wake it up. I typically tap once and wait for 3-5 seconds.

Source code

My P20BLE ZMK Shield is available on github. Pasting the whole folder on your zmk environment may pose an error. Manually creating each of this file on your zmk folder may guarantee smooth compilation.