Skip to content
joric edited this page Sep 13, 2024 · 1640 revisions

Welcome to the nRFMicro wiki!

This is a DIY drop-in Pro Micro controller replacement for converting wired Pro Micro-based keyboards to true wireless.

Also check out my Jorne Keyboard Wiki. Also see Dao Choc BLE, Jorian 840, Skean, Corne-WL, Ergonaut One (XIAO-based).

TL;DR

Buy two Superminis NRF52840 - they are preassembled and cheaper than nRFMicro. Get two 301230 batteries - they fit under the controller and last for weeks. Order two Jorne PCBs, study wiki, get your order from mail. Use ZMK as firmware. It supports both wired and true wireless modes. Left half is central (connects to computer), right half is peripheral (connects to central).

Pictures

nRFMicro-1.2 with shield removed nRFMicro-1.2 (internal LDO version) with shield removed. The latest release is nRFMicro-1.4.

Pinout

nrfmicro

Also see the Pinout article.

Preassembled boards

Preassembled nRFMicros and closest alternatives (with a Li-Po charger and ZMK support):

Also there are Chinese clones (popped up on Aliexpress in Oct 2023, they are very cheap, but well made):

Other boards:

Disclaimer

It is a Pro Micro drop-in replacement for the existing Pro Micro shields. If you don't have a shield, use a bare bluetooth module (nRF52840 has an internal 1.8V LDO so just solder VBUS and/or BAT+ to VDDH), use optional charger module (see Batteries).

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.

Certification

Certification is a complicated topic, but the laws around complete products are unambiguous, things you take out the box, turn on and use, supposed to have FCC/CE certification. It's not limited to wireless products, wired keyboards also have to be FCC certified.

This board is not certified. Contrary to popular belief, putting FCC certified module on the board doesn't make the whole product FCC certified. This is why most DIY boards (especially those that don't use modules) sell as "evaluation kits". However, if you use FCC-certified module, board certification may be simpler.

You have to pay $5000 to Bluetooth Consortium upfront to even use the word "Bluetooth" ("BLE" is free though). Then you have to pay for multiple FCC tests, each test can run north of $2000. In the US you get substantial fines (up to $75000/day) for failing to comply with FCC regulations. Related post on KeebTalk: your custom keyboard is probably illegal.

FAQ

  • Q. Do keyboard LEDs always draw battery?
  • A. No, there's zero leak if you use nRFMicro's built in software VCC switch (supported by ZMK).
  • Q. How many free GPIO pins does nRFMicro have?
  • A. 28 free GPIO pins total (18 side pins, 2 XTAL/data pins at the top, 8 through-hole pads at the bottom).
  • 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. Where to get footprints? I'm designing my keyboard specially for your controller.
  • 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 and VCC are not shorted together 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.
  • Q. Does it support Japanese solderless con-through (spring) pins?
  • A. Yes. Pin holes are 0.85 mm so they fit snugly (beware of the boards with 1.0+ mm holes, e.g. green Pro Micros).
  • Q. Why it doesn't use internal LDO or internal DC-DC?
  • A. There was nRFMicro 1.2, with issues. I may use HV mode in future versions (with an external LDO for OLED/RGB).
  • Q. Could I power keyboard peripherals via internal nRF52840 LDO or via a GPIO pin?
  • A. Internal LDO is only 25 mA and GPIO is 15 mA, so it's not recommended. Use dedicated power bus (VCC pin).

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 Bluetooth 5
  • 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

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 limited by ceramic antenna and 1.6 mm PCB (no shielding)
nice!nano 18x33x3.20 limited by midmount USB-C for 1.6 mm PCBs
nRFMicro-1.4 18x33x3.15 limited by midmount USB-C for 0.8 mm PCBs (no shielding)
Pictures

picture-sizes

nRFMicro 1.2 with 1.6 mm PCB and midmount USB connector, shielding (on the last picture) adds 1+ mm so better remove it.

References

Clone this wiki locally