Home - rittme/nrfmicro GitHub Wiki
Welcome to the nRFMicro wiki!
This is a DIY drop-in Pro Micro controller replacement to convert wired Pro Micro-based keyboards to the true wireless ones.
- The latest official release is nRFMicro-1.4. Join Discord chat (#nrfmicro channel) here: https://discord.gg/CHd6hUy
- Wiki articles in the reading order: Alternatives, Releases, Soldering, Bootloader, ZMK, Pinout, Batteries, Sockets, PCBA.
Also check out the Jorne keyboard wiki about a keyboard I made to test this controller.
Disclaimer
The board is based on the BLE-Micro-Pro board and nrf52 QMK firmware branch by sekigon-gonnoc. I've made my version using the cheapest nRF52840 bluetooth module available and the cheapest available components instead of rare japanese ones. I've also added Li-Po charger, USB Type-C and a physical ON/OFF switch on board. There's almost no room on a board this size so I had to remap GPIO pins to the closest physical positions (see Pinout). The rest is taken from the Adafruit Feather schematic almost verbatim (see Alternatives), considering that modules I use have different layout and different set of pins.
nRFMicro Features
- Built in KiCad and fully autorouted with Freerouting (shouldn't be a problem to modify)
- Same size as Pro Micro (18x33mm), has both MicroUSB and Type-C, Li-Po charger and BT 5.0
- Runs full-featured QMK software (nrf52 fork) and ZMK, uses USB Mass Storage for firmware updates
- Runs true wireless split keyboards over Bluetooth, does NOT need TRRS cables or receivers
- Supports wired split keyboards via USB-C, MicroUSB and I2C/Serial extension cables
FAQ
- Q. How many free GPIO pins does nRFMicro have?
- A. 18 Pro-Micro pins at the sides, 8 pins at the bottom, 2 optional (XTAL) pins at the top - 28 pins total, see Pinout.
- Q. Do you sell them?
- A. No. It's a DIY project for kids. It's NOT suitable for mass production. See PCBA and Alternatives.
- Q. Do I still need TRRS cable for the wireless split keyboard?
- A. No, it uses wireless link between the halves. Cables are supported too (no charging over TRRS though).
- Q. What's the battery life?
- A. 2 weeks on a 100 mAh battery, a year on a 2500 mAh battery (or 2xAA). Charger is built in.
- Q. Is there a lag while typing?
- A. BLE devices can reach a latency of 1.3 ms, so no, there's virtually no lag.
- Q. Can it switch between bluetooth devices?
- A. Both QMK and ZMK support at least up to 5 bluetooth profiles.
Advanced FAQ
- Q. Why there are no capacitors on the board (in the latest revisions)?
- A. No room. It reuses capacitors from the bluetooth module (there are two large 4.7uF ones).
- Q. Why the board is single sided, is it for the automated assembly?
- A. It's NOT automated assembly compatible at all. It's just trying to be as thin as Pro Micro.
- Q. I'm designing my keyboard specifically for your controller, where to get footprints?
- A. Please stop. This board is nothing but a drop-in Pro Micro replacement, use Pro Micro footprints.
- Q. What are the B+ and B-? Are they the same pins as RAW and GND?
- A. Yes. It's 4.2V power input for the battery. Make sure RAW is separate from VCC on your keyboard.
- Q. What are the EXT_VCC and EXT_GND? Are they the same pins as VCC and GND?
- A. Yes. It's 3.3V output, sofware-controlled to save battery (RGB LEDs draw up to 1 mA each when off).
- Q. What are you using to render pictures for GitHub?
- A. I used kicadScripts both for pictures and gerbers, now I use Kikit.
MCU comparison
Board | MCU | Architecture | Clock | Flash | RAM |
---|---|---|---|---|---|
nRFMicro | nRF52840 | 32-bit Cortex M4 | 64 Mhz | 1 MB | 256 kB |
Pro Micro | ATmega32u4 | 8-bit AVR | 16 Mhz | 32 kB | 2.5 kB |
Bluepill | STM32F103C8T6 | 32-bit Cortex M4 | 72 Mhz | 64 kB | 20 kB |
Proton-C | STM32F303CCT6 | 32-bit Cortex M4 | 72 Mhz | 256 kB | 40 kB |
Size comparison
Board | Size (mm) | Comment |
---|---|---|
nRFMicro-1.1 | 18x33x6.35 | height is limited by double-sided SMT and topmount USB-C |
Proton-C | 18x33x4.80 | limited by topmount USB-C height |
nRFMicro-1.2 | 18x33x4.50 | midmount USB-C, limited by shielding height |
Pro Micro | 18x35x3.75 | limited by topmount Micro USB height |
nRFMicro-1.3 | 18x33x3.45 | no shielding, limited by ceramic antenna and 1.6 mm PCB |
nice!nano | 18x33x3.20 | limited by midmount USB-C for 1.6 mm PCBs |
nRFMicro-1.4 | 18x34x3.20 | no shielding, 0.8 mm PCB, limited by midmount USB-C |
nRFMicro 1.2 with 1.6 mm PCB and midmount USB connector, shielding (on the last picture) adds 1+ mm so better remove it.
Preassembled boards
If you're not too skilled at soldering there are stores that sell compatible wireless controllers (I am not affiliated in any way):
- https://nicekeyboards.com
- https://store.jpconstantineau.com
- https://pohjola.works
- https://boardsource.xyz
- https://keyhive.xyz
- https://www.littlekeyboards.com
- https://mechboards.co.uk
- https://splitkb.com
- https://dailyclack.com
- https://www.tokopedia.com/ampastore
See Alternatives article about alternative boards.
References
- https://imgur.com/a/zUSlpPi (my album of nRFMicro pictures)
- Adafruit Feather nRF52840 Express module reference hardware and schematics
- Stretching a single sculpted set to two keyboards, not a problem (reddit)
- nrfmicro bluetooth hotswap numpad (reddit) (Hardware/Firmware/Pictures)
- Another BLE corne in the stable (A build by Lenbok, also imgur album)
- Hardwired Atreus50 wireless + hotswap (reddit)
- wireless ortho 40% split (imgur album)
- nrfmicro board set (imgur album)
- https://habr.com/ru/post/566784 (Corne build guide, Russian)
- https://devpew.com/blog/corne-rus (Corne Bluetooth guide, Russian)
- https://youtu.be/EtowP7j7D5I Building an nrfmicro controller (by Keyboard Kitchen)