Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bilogic/logitech-unifying-device
Use ESP8266 and NRF24L01+ as a wireless Logitech Unifying keyboard/mouse
https://github.com/bilogic/logitech-unifying-device
board dongles firmware platformio
Last synced: 5 days ago
JSON representation
Use ESP8266 and NRF24L01+ as a wireless Logitech Unifying keyboard/mouse
- Host: GitHub
- URL: https://github.com/bilogic/logitech-unifying-device
- Owner: bilogic
- License: gpl-3.0
- Created: 2020-05-11T16:58:34.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-05-10T12:28:55.000Z (9 months ago)
- Last Synced: 2025-01-21T22:03:24.802Z (13 days ago)
- Topics: board, dongles, firmware, platformio
- Language: C++
- Homepage:
- Size: 76.2 KB
- Stars: 241
- Watchers: 17
- Forks: 26
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
README
# Library to build Logitech Unifying compatible devices
I have always wanted an 84 key standard layout, wireless, mechanical keyboard with RGB backlight and rotary knobs plus media control buttons near the spacebar. Anyway, it did not take long for me to realize that bluetooth keyboards are notoriously unreliable, intermittently disconnecting every so often. However, Unifying ones are much better.I never planned to publish this code, thus it is not the cleanest. ~~But since I'm stuck, I thought someone might put it to good use and maybe figure out the problem. If you can make a more secured Unifying compatible protocol, all the better.~~
### C-U0007 mitigation effort from firmware `012.010.00032` onwards
In an effort to prevent keys injection, the receiver's firmware will reject packets that start with a full buffer of 6 keystrokes, so start by filling the buffer slowly (like a human). If you know exactly how the receiver rejects these packets, feel free to PR a write up.### Many thanks to:
- Ronan Gaillard https://github.com/ronangaillard/logitech-mouse/issues/5
- RoganDawes and Marcus Meng https://github.com/RoganDawes/LOGITacker/issues/55
- Code to perform AES ECB mode, will gladly attribute it if someone knows its origin## Hardware
- Logitech ```C-U0007``` dongle
- ESP8266, NRF24L01+ and a 5v power board for the NRF24L01+ module, connect them as follows:
- WEMOS D1 mini D3 <-> power board CS
- WEMOS D1 mini D4 <-> power board CE
- WEMOS D1 mini D5 <-> power board SCK
- WEMOS D1 mini D6 <-> power board MISO
- WEMOS D1 mini D7 <-> power board MOSI
- WEMOS D1 mini 5V <-> power board VCC
- WEMOS D1 mini GND <-> power board GND## Software
- Open ```logitech-unifying-device.code-workspace``` in VSCode with PlatformIO installed
- Press ```ctrl + alt + u``` to compile
- If it is your first time using PlatformIO, **wait** until the icon appears on the activity bar at the left of VSCode before compiling, it should just work