Skip to content
 
 

Latest commit

 

History

31 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Logitech Unifying Protocol Implementation

Arduino nano and nRF24L01+ on breadboard

This project is an attempt to re-implement the proprietary Logitech Unifying protocol as a free and open C library. The library is intended to be Arduino compatible while remaining compiler and hardware agnostic. The goal of this project is to enable people to create custom keyboards and mice that are compatible with Logitech Unifying receivers.

Example

The provided Arduino example is dependent on the RF24 library. https://github.com/nRF24/RF24

Pro Micro nRF52840 (nRF Connect SDK + ESB + USB CDC) example: examples/promicro_nrf52840/

GitHub Codespaces

Open this repo in Codespaces. The Pro Micro build requires nRF Connect SDK v3.4.0 with the promicro_nrf52840 board definition. The setup script selects the existing /root/ncs/v3.4.0 installation and refuses to fall back to the incompatible /workdir NCS 2.9 environment.

./scripts/build-promicro.sh

Firmware: examples/promicro_nrf52840/build/promicro_nrf52840/zephyr/zephyr.uf2 (or .hex).

Flash check: after UF2 copy, a USB serial port must appear and show === ProMicro Unifying CLI ===. Unifying receivers do not BLE-scan for this device — use serial pair after the receiver pairing button. See examples/promicro_nrf52840/README.md.

TODO

  • Add proper HID++ response payloads
  • Add more examples
  • General code cleanup

Done

  • Timing-critical packet transmission
  • Pairing with a receiver
  • HID++ error response payloads
  • Encrypted keystroke payloads
  • Add documentation
  • Add mouse payloads
  • Add multimedia payloads
  • Add wake up payloads

See also

Hacking Logitech Unifying DC612 talk
nRF24 pseudo-promiscuous mode
KeySweeper
MouseJack
KeyJack
KeySniffer
Of Mice And Keyboards
Logitech HID++ Specification
Official Logitech Firmware

About

FOSS re-implementation of the Logitech Unifying protocol

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages