- Pro Micro Compatible
- Atlas Micro BLE
- Partially Pro-Micro Compatible
- BlueDuino Rev2
- Micro with 2.4G
- Non Pro Micro Compatible
- Seeeduino XIAO
- Seeduino XIAO BLE (Sense)
- Seeduino XIAO (Wired)
- Adafruit ItsyBitsy nRF52840 Express
- Adafruit Feather nRF52840 Express
- Particle.io Xenon
- Arduino Nano 33 BLE
- nRF52840 Dongle
- nRF52840 Micro Dev Kit USB Dongle
- Raytac MDBT50Q
- Lairdtech BL654
- Holyot YJ-18010
- SKYLAB SKB501
- Comparison table
- Non-wireless commercial boards
- Pro Micro
- Pro Micro with USB-C
- Non-wireless open-source boards
- SparkFun Artemis Module
- Bluetooth Adapters
- UART Bluetooth HID Adapters
- QMK-compatible modules
- RN42 HID Module
- HM-10 HID Module
- nRF51822 HID Module
- Adafruit Bluefruit LE UART
- HHKB Pro 2 Wireless Mod
- USB-to-BT Bluetooth Adapters
- Handheld SCI
- Taobao Adapter
- DIY HID Relay
- Logitech Unifying Receiver
- Unified Firmware
Clone this wiki locally
There are a lot of preassembled boards, I mostly list single MCU nRF52840-based ones, they support both USB and Bluetooth. This article also covers other possible approaches including RF adapters and USB to BT converters.
A board that started it all. Runs QMK firmware (open source nrf52 branch). Pro-Micro compatible. Uses Lairdtech BL654 module, assembled board sells for about $36. Schematic is open, but no PCB gerbers available for this board. Very hard to assemble at home, the module has a lot of small underside pins. A single 32Mhz 4-pin oscillator on the module, no external XTAL.
- https://nogikes.booth.pm (Online shop, sells for 4000 JPY, about $36)
- https://yushakobo.jp/shop/ble-micro-pro (online shop, sells for 4000 JPY)
- https://discord.gg/MqufYtS (Ble-Micro-Pro Discord channel, ask @_gonnoc)
Currently ships with midmount USB-C and a preinstalled bootloader (BLE-Micro-Pro Default Firmware, see QMK#BMPAPI) that allows editing keyboard layouts and keyboard options as easy as editing text files on the internal USB drive.
Pro-Micro compatible. Uses midmount USB-C connector. Has nRF52840 soldered on board. Built in Li-Po charger (MCP73831-based). Has 3+ extra GPIO pins. Has external XTAL. Runs QMK firmware. Closed source hardware (based on the reference nRF52840 QIAA layout with the PCB antenna). The board height is about 3.2 mm (0.55mm thinner than Pro Micro).
- https://imgur.com/a/OWH4Cym (images)
- https://discord.gg/CHd6hUy (discord)
- https://redd.it/gsszq7 (the final IC posted on r/mk, 29 May 2020)
- https://redd.it/gst1n6 (IC posted on r/mm)
- https://nicekeyboards.com (shop)
- https://docs.nicekeyboards.com (documentation)
- 2020-04-12, I just ordered v0.2 with a fixed power system from my PCB maker. I expect to get them in a month... Maybe. I'm currently using two of these to type on a split Lily58 Pro wirelessly-sort of. The firmware I'm using is a modified version of QMK that has a lot of shortfalls. If v0.2 turns out good, and I have a base level firmware working, I will start a group buy.
- 2020-04-23, Nice!nano 0.2 is finished (features external 3.3V AP2112 LDO).
- 2020-04-25, Nice!nano 1.0 design exposes 21 pins via thru hole and 2 extra pad pins on the back for a total of 23 pins (changed the pin layout of 009, 010, 106, and 104).
- 2020-05-29, the final, more public IC posted to r/mk and r/mm.
- 2020-06-20, GB started and finished. 1000 boards sold in about 2 hours.
- Schottky diode: PMEG4010ESBYL in DSN1006-2 package (up to 1A)
- Charger: LN2054Y42AMR (code 2YL6, up to 500 mA charging current)
- Regulator: AP2112K (code G3P, up to 600 mA, leaks 55uA), you can replace it with XC6220 (up to 1A, leaks 8uA)
- P-MOSFET: DMP2088LCP3-7 in X2-DSN1006-3 package
- features something like https://www.ti.com/product/BQ24072 that integrates the charger and battery/USB supply selection into one chip
2021-07-19: Actually, it's bq24075. See new schematic https://nicekeyboards.com/docs/nice-nano/pinout-schematic
Forked from nRFMicro design by jpconstantineau (formerly nrfMicro v2). Adds a separate battery measuring circuit. Same set of pins. Same voltage regulator (no high voltage mode). Has 32kHz crystal on board. Non-reversible.
- https://store.jpconstantineau.com you can buy preassembled boards here (new!!!)
- https://github.com/jpconstantineau/NRF52-Board (open source for now, follow the updates)
- Live Build: a nRF52840 with the form factor of a Pro Micro! (Youtube)
I took Joric's first design of the nrfMicro and made my own adjustments to include the features of the BlueMicro. I used 0402 components and a super tiny mosfet. It includes an on-board LiPo charger. This is a simple two-sided board. My next iteration for this board will replace the mosfet by a slightly larger one and all 0603 components and will probably use a 4 layer board.
I tested it with Adafruit's Arduino library and bootloader and it works. Flashing to it once a program has been uploaded it tricky and best done by re-flashing the bootloader.
- Voltage regulator: AP2112K-3.3V (SOT-23-5)
- Power source selector mosfet: LP0404N3T5G (SOT-883)
- Power source selector diode: B140WS-7 (SOD-323)
- Battery management IC: TP4054ST (SOT-23-5)
- Battery voltage divider: 800K/2M (0402)
Video about assembling those boards:
Recent video about wireless Corne using those boards:
Also check out recent videos:
There are also old Bluemicros that do NOT support wired connection (uses nRF52832-based E73-2G4M04S1B module, so no hardware USB on the board), but have Li-Po charger on board (USB is used only for charging). Runs its own firmware but it's possible to run full QMK (nrf52 branch) on it, see jian_bm. The board is much longer than a regular Pro Micro so it's not really suited for the small keyboards such as Corne and Jian (Iris is fine). No indicator LEDs.
- https://github.com/jpconstantineau/NRF52-Board (hardware)
- https://github.com/jpconstantineau/BlueMicro_BLE (firmware)
- https://github.com/joric/BlueMicro_BLE/tree/joric-nyquist (my branch for Nyquist)
- https://github.com/joric/qmk_firmware/wiki/jian_bm (alternative firmware)
There also new BlueNano boards in the repository but they still don't support USB connectivity (nRF52832-based).
Announced 20 Dec 2020 by https://www.reddit.com/user/SouthPawEngineer. Longer than Pro Micro (extra 2 rows of pins at the bottom) so it might not fit Corne. Uses mid-mount USB-C connector. Has battery gauge (probably LC709203 because it's the only one I found supported by CircuitPython). Has 2Mb SPI flash on board. Has regulated 3V with power switch on VCC pin and unregulated 5V/4.2V output on a RAW (?) pin. Not sure what does SW pin do.
Mikoto is a new ready to manufacture open-source PCBA alternative to nice!nano.
You can't really buy Mikoto at the moment, only assemble by hand. There are no production/placement files in the latest revision.
- 2021-06-08 zhiayang @ discord: most things seem to work, including bluetooth but looks like the antenna needs tuning.
It's a 4-layer 1.6mm board with ENIG plating (JLCPCB has a bunch of weird restrictions - no 0.8mm for 4L, and no ENIG for 2L 0.8mm) following reference config 4 with the high voltage mode. All elements are 0402 or bigger (though JLCPCB has a bunch of 0201 elements now). Costed about $80 for 2 pcs. The name is みこと in Hiragana, (Mikoto, it's a character from Railgun).
Upd: It's open source now: https://github.com/zhiayang/mikoto looks like antenna is okay.
The panel looks like this:
Upd. version 5.1 uses nicenano 2.0 schematic. This one is assembled at home (issues with pin 1.11, discord):
It still uses 0402 components, there are no 0201 parts, which is good. It's still 4-layer which is bad.
Upd. 2021-08-18 figures 1.11 was missing because of that (fixed now):
Sadly 5.x stopped provide production files for JLCPCB so you can revert to 4.7, or (better) add BOM to 5.x.
It uses the same battery management IC as nicenano 2.0, bq24075 (JLCPCB has it in the extended parts, it costs about $1/pcs): https://jlcpcb.com/parts/componentSearch?isSearch=true&searchTxt=bq24075
Mikoto soldering video:
There’s no official ZMK support, and the charger is software controlled. Won’t charge if you don’t pull down at least one of the control lines.
What is it? Pro Micro pin compatible Bluetooth Low Energy(BLE) module Can be used as a drop-in replacement for Pro Micro in custom keyboards. This module is pin compatible with Nice!Nano, so it is compatible with ZMK/Bluemicro firmware. Why did you make it? I wanted to have a Pro Micro compatible BLE module that complies with FCC regulations. What makes it special? Uses FCC certified and Nordic semiconductor certified module partner's module.
I have to note though, that contrary to a popular belief, putting FCC certified module on the board doesn't make the whole product FCC certified.
Looks like Pro Micro, slightly larger but fits Corne, except TX/RX pins used for TRRS and LEDs are occupied by the ILT254 BLE module. Does not have HID capabilities per se but probably can be flashed with CC254x HID firmware to be fully compatible with the current QMK codebase (atmega32u4 + HID via AT commands, though it wasn't tested). Does not have Li-Po charger on board. Virtually impossible to buy now.
- https://www.seeedstudio.com/Blueduino-Rev2-Arduino-compatible-pius-BLE-CC2540-p-2550.html ($14)
- https://github.com/rampadc/cc254x-hidKbdM (experimental HID firmware for CC254x)
No specs and not QMK firmware tested. Looks like a regular Pro Micro with 2.4G NRF24L01 (non-bluetooth) radio on board. The board is also way too long to fit on Corne. I'm not 100% sure about schematic but looks like 24L01 is hooked to pins 7 and 8 (pin 7 is used as ROW3 on Corne), those pins are used for 24L01 very often as so:
#include <RF24.h> RF24 radio(7, 8); // CE, CSN
It's also uses global 3.3V power and apparently overclocked at 16 MHz because NRF24L01 wants 3.3V and there's only one LDO on the board. From its Aliexpress customer reviews: The ATmega32U4 runs at 3.3V and 16MHz - that is like an overclocked 3V/8MHz pro micro, but its working perfectly fine so far.
There are 3 versions: Wired, BLE, BLE Sense.
nRF52840-based with onboard Li-Po charger. 11 GPIO pins plus 2 NFC pins on the back side, so 13 GPIO pins total. 11 pins give us 6x5 = 30 key matrix, should be enough for a split keyboard (maybe we can have OLED screen hooked up on NFC pins).
- Onboard PDM microphone MSM261D3526H1CPM (only in XIAO BLE Sense)
- Onboard 6-axis Gyroscope LSM6DS3TR-C IMU (only in XIAO BLE Sense)
- Powerful wireless capabilities: Bluetooth 5.0 with onboard antenna
- Powerful CPU: Nordic nRF52840, ARM® Cortex®-M4 32-bit processor with FPU, 64 MHz
- Ultra-Low Power: Standby power consumption is less than 5 uA
- Battery charging chip: Supports lithium battery charge and discharge management
- Onboard 2 MB flash
- Ultra Small Size: 20 x 17.5mm, XIAO series classic form-factor for wearable devices
- Rich interfaces: 1xUART, 1xI2C, 1xSPI, 1xNFC, 1xSWD, 11xGPIO(PWM), 6xADC
- Single-sided components, surface mounting design
Schematic is open: https://files.seeedstudio.com/wiki/XIAO-BLE/Seeed-XIAO-nRF52840-v1.0-SCH.zip
- MCU: nRF52840 (BLE) or ATSAMD21G18A-MU (wired)
- Battery charger: BQ25100, uses battery divider 1M/510K (pins 0.31/AIN7, 0.14/pulldown)
- Red charging LED (pin 0.16), common anode RGB LED (pins 0.26, 0.30, 0.06)
- Switchable power source, uses P-MOS (1x0.35mm) and Schottky diode.
- Low leak 3.3V regulator (XC6206P332MR)
- QSPI flash (2MB)
You can buy it here:
- https://www.seeedstudio.com/Seeed-XIAO-BLE-nRF52840-p-5201.html ($10 for BLE, $16 for BLE sense with a mic)
- https://www.aliexpress.com/item/1005004021078832.html ($23.52)
- https://www.aliexpress.com/item/1005003993016972.html ($17.55)
- https://www.aliexpress.com/popular/seeeduino-xiao-ble.html (search)
Miniature Pro Micro clone with USB-C connector. Non-wireless Used in Zaphod Lite keyboard along with a GPIO expander (there are just too few GPIO pins for a keyboard). See https://wiki.seeedstudio.com/Seeeduino-XIAO/
- Powerful CPU: ARM® Cortex®-M0+ 32bit 48MHz microcontroller(SAMD21G18) with 256KB Flash,32KB SRAM.
- Flexible compatibility: Compatible with Arduino IDE.
- Easy project operation: Breadboard-friendly.
- Small size: As small as a thumb(20x17.5mm) for wearable devices and small projects.
- Multiple development interfaces: 11 digital/analog pins, 10 PWM Pins, 1 DAC output, 1 SWD Bonding pad interface, 1 I2C interface, 1 UART interface, 1 SPI interface.
Sells for $17.95. Uses MDBT50Q module. The pinout is NOT Pro Micro compatible. Does NOT have Li-Po charger on board (needs a Li-Po charger backpack which is sold separately for $4.95). The board size is 36x18mm, 3mm longer than Pro Micro (14 pins in a row instead of 12-13) and a little bit taller (SMD components on both sides). Has 6 power pins, 21 digital GPIO pins (6 of which can be analog in). Uses MicroUSB connector. Confirmed to work with QMK (nRF52 branch).
NOT Pro-Micro compatible. Uses MDBT50Q module. Schematic and PCB are open source. Sells for $24.95. Not QMK firmware tested.
- Adafruit Feather nRF52840 Express Downloads
- Adafruit Feather nRF52840 Express Schematic
- Adafruit Feather nRF52840 Express pinout (read carefully)
NOT Pro-Micro compatible. Open source, nRF52840-based, assembled board sells for about $15. No module is used, nRF52840 soldered on board. Meets the Adafruit Feather specification in dimensions and pinout. Not QMK firmware tested.
NOT Pro-Micro compatible (rather, Nano-compatible), does NOT have a Li-Po charger on board. Sells for $19 on arduino.cc. Uses NINA B306 module (nRF52840-based). It's much longer than Pro Micro and power pins are on the other edge of the board from the MicroUSB connector, also power pins are a little bit scrambled, note RST, GND and VCC locations. Not QMK firmware tested.
CC-2540 and Atmega32u4-based Nano-sized board. Probably eligible for QMK if you flash CC2540 with RN-42 like HID firmware.
- https://github.com/rampadc/cc254x-hidKbdM (experimental HID firmware for CC254x)
- https://imgur.com/a/KWmz6 (Turning HM-10, HM-11 into Bluetooth HID modules)
Original nRF52840-based USB donlge from Nordic. Does NOT have a Li-Po charger on board. USB-A PCB connector. Schematic is open. 2-layer PCB with a PCB antenna. Sells for about $18. You can use it as nRF52840 module replacement or as an USB dongle, you decide. Should work with QMK/ZMK though I didn't really check that.
Reduced size, unoriginal nRF52840-based USB Dongle. Does NOT have a Li-Po charger on board. USB-A PCB connector. About the same as Nordic dongle but uses a small chip antenna.
Used in nRFMicro, nRF52840-based, 13x18mm (13mm is a borderline 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-2G4M08S1CX schematic (with the IPEX antenna) is IDENTICAL. Does not need an extra XTAL or anything.
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.
Used in Adafruit Feather nRF52840 Express, nRF52840-based, 10.5x15.5mm, sells for $8.89
Used in BLE-Micro-Pro, nRF52840-based, 10x15mm, sells for $15.97. There also BL651 modules without SMA socket.
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.
- Aliexpress: https://www.aliexpress.com/item/32868365660.html ($10.11 for 1 pcs, ~$7 in bulks)
- Shielded version: https://www.aliexpress.com/item/32868002366.html
- Alibaba: https://holyiot.en.alibaba.com/
- Schematic: http://www.holyiot.com/tp/2019042311405478395.zip
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.
nRF52840-based, 13.7x14.7mm, sells for $8.53 ($6 in bulks)
- https://www.aliexpress.com/item/32984570877.html ($8.53)
- https://www.aliexpress.com/item/32982453902.html ($59.27 for 10 pcs)
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.
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.
nRF52840-based, costs $3-$4. Too large for the Pro Micro footprint (17.4mm wide, need 13mm).
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).
- https://www.aliexpress.com/item/33011597378.html ($8.48 for 2 pcs)
There are also MS88SF3 modules, they are smaller but but they're impossible to solder with an iron.
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).
- https://www.aliexpress.com/item/4000712170592.html ($11.23 for 2 pcs)
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).
This section is for reference
Non-wireless, single-sided, Atmega32u4 based. Uses Micro USB connector. Usually cheap replicas of the original Sparkfun Pro Micro. MicroUSB connector is surface mounted and prone to breaking off.
Black ones have tougher connector, you can buy them here: https://www.aliexpress.com/item/32849563958.html
Recent board, mass produced, fully compatible with black Pro Micros but with top-mount USB-C (makes it ~ 1 mm taller than MicroUSB versions, about 1.6+3.2=4.8 mm overall, connector takes 3.2 mm so you can't use it with the Japanese 2.5mm con-through headers). Only comes in blue color up to date. The board is also ~ 2 mm longer to account for the USB-C connector.
Note that Purple Pro Micros with USB-C (Blue probably too) are incompatible with Japanese Con-Through (spring) pins, see Sockets#spring-pin-headers.
Non-wireless, Atmega32u4 based. V4 version introduces midmount connector to make board thinner.
Non-wireless, STM32-based. Official QMK hardware (split keyboard support has been recently pushed to upstream)
Custom, closed source (apparently) Pro Micro with USB-C board branded by https://keycapsss.com. Sells for 16.40 EUR a piece. Very few mentions. Puchi means "small" in Japanese (プチ). It also supports the spring header.
- https://keycapsss.com/media/pdf/78/e9/b9/puchi-c-pinout.pdf (Pinout)
Nicell announced Nuvoton m4521-based board (@a_p_u_r_o from Japanese discord was the one who discovered those Nuvoton MCU's) that has a few SMD components and it's cheap to produce. It is NOT wireless. The board is intended to be opensource.
- ARM® Cortex®-M4 with DSP and FPU
- Max frequency of 72 MHz
- 128 KB of Flash Memory
- 32 KB of SRAM
- 2-bit ADC ( up to 16 channels )
- 16-bit PWM ( up to 12 channels )
- 4 sets of 32-bit timers
- USB 2.0 FS Host/Device
- USB 2.0 FS Crystal-less at Device mode
- Up to 4 UART s
- Up to 2 SPI s ( 1x SPI + 1xQ SPI )
- Up to 2 I²C s ( up to 1 MHz )
- Smart card interfaces
- 22.1184 MHz internal RC oscillator
- 10 kHz internal RC oscillator
2020-11-12 Disclaimer: I have no clue if this works. It's called an m4521 from Nuvoton. Not a lot of software support, but I'm hoping to at least get Zephyr support for it. They're extremely cheap to produce. Let me see how much it's cost me to produce 5... One sec. $6 a piece including shipping/fees from 3 different vendors. Not bad.
Non-wireless, Atmega32u4-based, uses midmount USB-C connector.
Non-wireless, Atmega32u4 based. Also known as AoMicro but in blue (Ao in Japanese).
Non-wireless, Atmega32u4 based. Forked from ShirtMicro by Ariamelon. Features USB-C and extra pins.
Non-wireless, Atmega32u4 based. Heavily-modified Goldfish Rev. C. by Ariamelon.
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.
- https://www.aliexpress.com/item/32989918160.html ($62 for P-NUCLEO-WB55 SDK).
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).
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.
UART means you can control them from 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.
- QMK-compatible modules: https://beta.docs.qmk.fm/using-qmk/hardware-features/feature_bluetooth
- Turning HC-06 into RN-42 Bluetooth 2.0 HID module: https://imgur.com/a/1LHSR
- Turning HM-10, HM-11 into Bluetooth 4.0 HID modules: https://imgur.com/a/KWmz6
- Turning NRF51822 into Bluetooth 4.0 HID module: https://imgur.com/a/ej9hD
It's probably also possible to use Adafruit Bluefruit LE UART Friend HID firmare for nRF51822:
- world's smallest keyboard: https://github.com/joric/cc2540-keyboard
- https://github.com/joric/qmk/wiki/hhkb_ble HHKB Pro 2 wireless mod (Pro-Micro based, so also could be wired)
Not a hardware but rather nRF51822 firmware that supports both Bluetooth host and RF (Gazell) protocol and can switch between them. Originally written for Mitosis, hence the name. Not QMK-compatible. Left half is RF, right half is BT+RF. True wireless, supports custom RF receiver as well. Does NOT support 24l01+ (Gazell only).
The USB host-based adapters are the last resort if you don't have access to the controller or do not want to open the keyboard. You could do much better with UART Bluetooth HID modules, as they don't use USB, they don't need 3.3V to 5V boost converter and much more battery friendly. USB Bluetooth adapters are easier to use but the battery life is not good. You need either MAX3421e or PIC32 or STM32F105 for the USB host. Note some keyboards can work from 3V some won't even start (e.g. CM Novatouch needs 5V) so those adapters use 3.7V-5V DC-DC voltage booster for all the keyboards.
- Handheld SCI Bluetooth Keyboard Adapter, $39: http://handheldsci.com/kb
There's also a new version (BT-500):
- TaoBao Adapter, $20: https://world.taobao.com/item/542300386181.htm +$3 wakeup touch module https://world.taobao.com/item/548629862732.htm
Looks like there's no separate USB host (MAX3421E) on the PCB so that QFN controller could actually be STM32F105 (USB host and client) and the module on the rear side definitely looks like a CC2541 clone (I have a similar one).
There's also a funny thing, wake up touch module ($3) https://world.taobao.com/item/548629862732.htm Looks like people use it with the module above. According to the description you don't even need a physical button it's rather a proximity sensor (probably TTP223B based).
- USB2BT Adapter (PIC-32 based), $60: https://www.amazon.com/dp/B00PI7ZDOI/
- Schematics (japanese): http://sohta02.web.fc2.com/usb2bt.html
- Unboxing: https://www.youtube.com/watch?v=SRSyqky-WWk
This one is pretty cheap, recommended for starters. It uses $2 HC-06 module flashed into RN-42, $2 Arduino Mini and an $5 USB host Arduino shield.
Note you absolutely need an USB-host capable microcontroller such as MAX3421E, Atmega32u4 is USB-client only and can't work as a host.
- DIY HID Relay (Arduino Mini + USB Host Shield, MAX3421E based): https://hackaday.com/2016/09/04/convert-any-usb-keyboard-to-bluetooth/
USB Host Shield in question (costed about $5): https://www.aliexpress.com/item/32942427334.html
You can also make wired USB to QMK converter out of it:
- https://geekhack.org/index.php?topic=69169.0 (Hasu's USB2USB converter, costs $80)
- https://geekhack.org/index.php?topic=80421.0 (DIY from pro micro and USB host shield)
- https://testchamber.one/posts/qmk-usb-usb-converter (DIY instruction in Russian)
Also see the infamous GH60 thread: https://geekhack.org/index.php?topic=40514
A guy named _spindle managed to reflash unifying reciever with a tmk-like firmware. You can't reverse-engineer Logitech firmware but you can just overwrite it if you need a compact receiver. He also used a couple of 328p and 24l01+ for the halves (you need 328p as a GPIO extender and a host for 24l01+). The Unifying Receiver uses nRF24LU1+ (single chip solution for compact USB dongles, 8051-based CPU with 16/32 kB FLASH, 512b RAM, he was able to flash his own TMK fork on it).
There also were attempts such as Unigo66 https://geekhack.org/index.php?topic=97565 They used two unified receivers plugged in Hasu usb2usb adapter for the receiver part and two brand new Logitech k230 (cheapest keyboards they could find, about $25 each) broken and looted for the transmitter part. It didn't go well, there were a lot of complaints about bad reception and signal interference. They didn't modify the radio part, they just used MAX3421e USB host and Atmega32U4 with TMK on it to transcode HID USB traffic from two Logitech k230 controllers.
Ergonomics is also questionnable:
Video (This wireless split is wireless junk):
Unigo66 MCU and components (I guess this nRF24LE1 was desoldered from k320 unless they managed to save a dump):
- https://hackaday.com/2021/06/04/an-exercise-in-firmware-dumping-with-the-greatfet (dumping nRF24LE1)
Since Unigo66 was made/sold in 2018/2019 before those articles came out I tend to believe they resoldered the chips.
There's also a true reverse-engineered firmware that works with real unified receivers (New!)
- https://github.com/bilogic/logitech-unifying-device (uses ESP8266, NRF24L01+ and a 5v power board)