Close

Make it wireless

A project log for ErgoSNM Keyboard

An split ergonomic keyboard with trackball

ziteZiTe 05/12/2023 at 03:280 Comments

I'm try to make ErgoSNM full-wireless, implemented with nRF52840 and NCS (Zephyr RTOS based).

QMK is not complete in wireless functions for split keyboard, ZMK and BlueMicro have richer wireless support, but only QMK supports real-time keymap edit (Via and Vial software).

For ZMK, the mouse keys and PMW3360 functions not yet been merged into main branch, it means i need more time to study it and coding.

As for KMK, I haven't learned about it in detail, it may be a good choice.

So I decided to use QMK, and refer to the Mitosis Keyboard. Both halves have a nRF52840 RF SoC run key matrix scan, and transmit data wirelessly. The nRF52840 on the host side also needs to get mouse data from PMW3360 and send data to QMK (ATmega32U4) through UART. Implement USB HID through ATmega32U4, and then use nRF51822 to implement Bluetooth HID.

Although the hardware cost of such an architecture will be higher (ATmega32U4 and nRF51822), the firmware is simpler.

I'm new to using Zephyr, after some study, Gazell wireless protocol, key matrix scan and PMW3360 mouse sensor functions can now be completed. Now it is possible to scan the key matix, wirelessly transmit the key status to another nRF52840, and read the data from PMW3360, and then send all the data through UART.

Hardware:

Discussions