Skip to content

Modules

joric edited this page Feb 9, 2026 · 32 revisions

Many older modules have UART-controlled HID firmware. UART means you can use them in official QMK as daughter modules to the wired controller. They understand a set of modem-like commands sent via the standard terminal (you just need a couple of free GPIO pins), handle Bluetooth pairing and send key codes via the Bluetooth HID protocol.

NRF52-based modules are usually standalone (they don't need STM32 or Atmega32u4 for MCU) and use ZMK firmware.

NRF52

E73-2G4M08S1C

Used in nRFMicro, nRF52840-based, 13x18mm (13mm is a maximal possible width for Pro Micro), sells for $5-$7 (sometimes can be found for $3.50 and $3.20 even). 30 free GPIOs including XL1/XL2.

E73-2G4M08S1C Pinout

E73-2G4M08S1CX

E73-2G4M08S1CX schematic (with the IPEX antenna) is IDENTICAL. Does not need an extra XTAL or anything.

image

E73-2G4M08S1E

nRF52833-based (half the Flash, so no Python). Lacks pin 1.11 so it's not 100% compatible. Also no DCCH so no HV mode. Other changes for nRF52833 module is that 1.10 is now 0.25 (blue led) and 1.13 is now 1.05 (standard gpio).

Raytac MDBT50Q

Used in Adafruit Feather nRF52840 Express, nRF52840-based, 10.5x15.5mm, sells for $8.89

Lairdtech BL654

Used in BLE-Micro-Pro, nRF52840-based, 10x15mm, sells for $15.97. There also BL651 modules without SMA socket.

Holyiot YJ-18010

nRF52840-based, 18x13.5x1.6mm, sells for $10.11 ($5 on alibaba). Very interesting module! Has xtal on board. Theoretically fits Pro-Micro with a little bit of filing. Not too many underside pins. Used in Corne-ish Zen.

Note that Holyot already has the DC-DC inductivity soldered in so you don't need 3V LDO to run MCU from internal DC-DC. If you want to run off a raw module, don't buy E73, buy Holyot (it also has an external crystal, XTAL).

image

SKYLAB SKB501

nRF52840-based, 13.7x14.7mm, sells for $8.53 ($6 in bulks)

Please note that there is NO USB on this SKYLAB SKB501 module, and no USB pins in the pinout albeit it's nRF52840, so I would very much NOT recommend it for anything.

Mind that anything that's wider than about 14mm won't fit on a Pro Micro footprint. This one ought to be 13.7x17.4mm and it fits just fine, and it's about the cheapest on Aliexpress ($8.53 total) but there's NO USB.

NINA-B3

nRF52840-based, either 10.0 x 11.6 mm for B3x1 10.0 x 15.0 mm for B3x2 (either way, it's not larger than 10 mm on the narrower side). Lots of underside pins. Used in Arduino Nano-33 BLE.

MS88SF2

nRF52840-based, costs $3-$4. Too large for the Pro Micro footprint (17.4mm wide, need 13mm).

MS88SF3

There are also MS88SF3 modules, they are smaller but but they're impossible to solder with an iron.

MS88SF3

PTR9618

nRF52822-based (BT 5.2 SoC, same as nRF52840 but half the ram, half the flash and with BT 5.1 direction finding). Seems too large for the Pro Micro footprint (685 mil = 17.3 mm, need 13mm).

PTR9618-pinout

PTR9813

nRF52822-based, no shielding. Too large for the Pro Micro footprint (size 24.3 x 17.5 x 1.8mm with Antenna, width 17.5mm, need 13mm).

nRF52840 Core Board

Something obscure from the seller of Supermini ICBuy. Costs the same as Supermini nRF52840. Claims to support ZMK (NRF52840 Core, Bluetooth module with ZMK support Tool IO Full Lead Out). Untested.

nRF52840 Core Board

SparkFun Artemis Module

An interesting module by SparkFun (NOT nRF52840-based, just Cortex-M4F with BLE 5.0). No hardware USB so it kind of sucks a little bit. All breakout boards are UART/CH340-only.

We did it, everyone! SparkFun’s Artemis Module has earned approval from the Federal Communications Commission (FCC) and Industry Canada (IC), making it the first open-source, US-manufactured, FCC/IC-certified BLE module on the market.

RF-BM-S02

You can unofficially (licensing is expensive) code/program a keyboard using CC245x modules (same as used in HM-10/HM-11).

It uses CC2540 RF-BM-S02 module (11.2 x 15.1 x 1.74 mm, onboard USB support).

Video:

World's smallest keyboard

Misc

STM32WB55

Not a board, but rather an STM32 microcontroller with BLE/ZigBee/Thread/802.15.4 support.

Two cores: Cortex-M4 (64 Mhz) and Cortex-M0+ (radio, 32 Mhz), USB, 1M Flash, 256Kb RAM.

Not widely available but have a higher chance to be merged into QMK (better licence than Nordic). Not QMK firmware tested. (Upd. Nope, not gonna happen, firmware blob license appears to be even funkier than Nordic's).

CH582

QMK has a CH582 port! It has BLE and there's a dev board for it on Aliexpress for about 2 bucks. That is, if you're willing to experiment since, as far as I'm aware, no keyboard has been designed with it and there's not a lot of users yet.

Also check out the dev board for this thing, it's Pro Micro sized, has USB-C but costs less than $2.

ZMK does not support them yet but there's some early Zephyr work for a similar SoC (CH56x):

Last I looked, datasheets were basically "sorry, not documented" on the registers for BLE hardware. And 32KB of RAM on the CH582F would definitely be a challenge.

Seems like the WCH Bluetooth stack is supplied as a binary blob

and various functions are just calls to the blob at some address.

Also check out FAK firmware (reddit):

Also there is another firmware for WCH's low cost CH582 (see #82):

Comparison table

A brief comparison of nRF52840 modules from Alibaba sorted by the width of their smallest module with antenna and certs (smw), ssmw is the same but with side pins (taken from here).

company volume_usd volume_count ratings rating response_rate smw ssmw
Holyiot 5000 34 7 5 95.2 13.5 13.5
Skylab 270000 74 0 0 90 13.7 13.7
Minew 110000 172 48 4.8 93.9 17 17
Thingo 50000 89 21 5 86.9 12 12
Feasycom 120000 74 0 0 90 10 10
Ebyte 410000 247 40 4.8 94.4 13 13
RF-star 4000 35 4 5 100 15 15
Dingcheng 50000 96 39 4.9 96.5 13 13
Raytac - - - - - 10.5 -
ShenzhenWireless-Tag 3000 9 2 5 96.2 18.4 18.4

References

Clone this wiki locally