A 1.4 MB replacement for Razer Synapse.
uncoil runs the lighting on your Razer keyboard, mouse and mat from one small background process on Windows. Uninstall Synapse; keep the desk.
Open source. No services, no account, no telemetry, no kernel drivers.
Pre-release: download a release from v0.1.0 on, or build it from source.
- Effect
- Wave
- Direction
- 35°
- Speed
- 14 s per cycle
- Band width
- 26 keys
- LEDs
- 113 on 3 devices
The default effect on the maintainer’s desk, computed in your browser by the same wave maths uncoild runs. Every key, underglow LED, mouse LED and the mat’s edge sits at its measured position.
Measured on one PC
uncoild against Razer Synapse 4, on the maintainer’s desktop.
- Processes
- 1
- Synapse 4: 17
- Memory
- ~3MB
- Synapse 4: ~1.4 GB at start, leaking
- CPU, wave running
- <1%of one core
- Synapse 4: ~7% of one core
- Install size
- 1.4MB
- Synapse 4: ~500 MB
A Ryzen desktop with a BlackWidow V4 Pro 75%, Basilisk V3 Pro and Goliathus Chroma Extended, where Synapse’s memory grew to several GB over a few days. Memory and CPU were measured on an earlier build; the size is the build of 2026-10-07 (1,402,880 bytes). One machine; yours will differ.
What it does
One effect across the whole desk
Every LED has a physical position in key units (1u = 19.05 mm), so an angled rainbow wave runs from the keyboard and its underglow onto the mouse and the mat as one continuous field, not three effects that happen to be in sync.
The keyboard keeps its own brain
Devices stay in firmware (normal) mode, so Fn keys, media keys and the dial keep working when uncoil is not running. Key remaps can be written into the keyboard’s own memory: on the BlackWidow, Fn+P becomes a native Print Screen that works with nothing installed at all.
Follows the display
Lighting fades out when Windows turns the display off, dims when Windows dims it, and comes back on wake. Devices that were unplugged are picked up again within seconds.
A different effect per device
Pick a device, or paint lights across several, and give them their own effect while the rest of the desk keeps its own. Or stack effects as layers in Studio. Every effect card shows the effect itself, running.
Your desk, drawn
Each device is drawn from above as line art traced from its product photo, lit with the live effect. With live OpenRGB, a PC page puts the motherboard, memory, graphics card and fans where they sit in the case.
Even colour
Uses FastLED’s rainbow hue map, tuned for LEDs, so no band of the wave looks wider or brighter than the rest.
Written down
The protocol, the quirks and every device are documented in the repository. A new device is a data file, not a fork.
What the colours on keys mean
When a key does something different, the app gives it a coloured tab: a gel that names the kind of change. There are four, each with one job, and each always appears with its name.
- Your change keys and buttons you remapped
- Media & macros media keys, macro record, game mode
- Lighting backlight brighter and dimmer
- System sleep, low power, profiles and DPI
What Fn changes7 keys on the BlackWidow V4 Pro 75%
- EscLow power modeSystem
- F9Macro recordMedia & macros
- F10Game modeMedia & macros
- F11Backlight downLighting
- F12Backlight upLighting
- DelSystem sleepSystem
- PPrint screenYour change
The BlackWidow V4 Pro 75% with Fn held, drawn from its real layout. The actions are the keyboard’s own onboard Fn map; Fn+P is the one uncoil wrote. Any other colour on this site is a device’s real LED colour.
Also: a command line, uncoil, for everything the app does with devices; and, off by default, motherboard, GPU and RAM lighting through OpenRGB: handed to their own hardware modes once at sign-in, or live, so the rest of the case follows the desk effect.
The app
A small desktop app sets the effect, layers effects and painted keys in Studio, remaps keys and buttons, sets the dial, the screen, DPI, polling rate, sleep timer and scroll wheel, and shows whether each device is live. You open it, change something, close it, or keep it in the tray for its effect menu and battery notifications. The daemon does not need it running. The app shows the daemon’s own memory and CPU in its top bar, so the numbers above stay checkable.
Changes land in %APPDATA%\uncoil\config.json, which uncoild hot-reloads. Editing the file by hand works just as well.
It follows Windows for light and dark, like this page.


Supported devices
| Device | Lighting | LEDs | USB | Data file |
|---|---|---|---|---|
| Razer BlackWidow V4 Pro 75%Keyboard | 81 keys + 18 underglow | 99 | 1532:02B3 wired | razer-blackwidow-v4-pro-75.toml |
| Razer Basilisk V3 ProMouse | scroll wheel, logo, strip ×11 | 13 | 1532:00AA wired1532:00AB dongle | razer-basilisk-v3-pro.toml |
| Razer Goliathus Chroma ExtendedMousemat | 1 zone | 1 | 1532:0C02 wired | razer-goliathus-chroma-extended.toml |
Generated from the same devices/*.toml files the daemon compiles in. Supporting another device is mostly a data file: USB endpoints, quirks, the LED matrix and where each LED physically sits. How to add one.
How it was built
Prior art first. The report format is public thanks to OpenRazer and OpenRGB; uncoil re-implements it from those facts.
Then Razer’s own logs. Synapse 4 logs every command it sends, with a readable name and the raw bytes. Mining 130 MB of those logs produced a catalogue of 30 commands and 116 distinct input events, with no USB sniffer involved.
Then the hardware. Small Python probes against the real devices, reading back status codes and asking a human what the LEDs actually did. The expensive lessons: Synapse leaves devices in driver mode, the BlackWidow freezes if the custom-frame command is re-sent every frame, and it silently stops applying frames unless every reply is read.
One feature report, all 90 bytes
- Status
- 000 new · 01 busy · 02 ok · 03 fail · 04 no answer · 05 unsupported
- Transaction id
- 11F keyboard and mouse · 3F mat
- Header
- 2–5remaining packets, protocol type, data size
- Command
- 6–7class, id (high bit set = get)
- Arguments
- 8–87up to 80 bytes
- CRC
- 88XOR of bytes 2–87
- Reserved
- 89
Fn+P, written to the keyboard
02/0D [1, 26, 1, 2, 2, 0, 0x46]
profile 1 · key P · Fn layer · key code · Print ScreenOne report into the keyboard’s onboard key map, verified on hardware. Fn+P is now handled by the firmware: no driver mode, no daemon, works on any PC.
Install
Three steps. The daemon has no installer; there is not much to install.
Download
From GitHub Releases:
uncoild.exe,install-task.ps1and, if you want them, theuncoil.execommand line and the desktop app's installer, into one folder. Check them againstSHA256SUMS.txt(Get-FileHash file). Or build from source:cargo build --release -p uncoildin a clone of the repository.Retire Synapse
Quit Synapse from its tray icon, then uninstall it from Windows Settings. If the keyboard dial scrolls instead of changing volume afterwards, the device was left in driver mode: uncoil resets it on connect, and an unplug and replug fixes it either way.
Run it at logon
powershell -ExecutionPolicy Bypass -File .\install-task.ps1From the download folder (or
scripts\install-task.ps1in a clone). Copies the executable to%ProgramFiles%\uncoil, registers a scheduled task nameduncoilthat starts at logon, and starts it now. The lighting should change within a second.
The optional command line builds the same way (-p uncoil-cli). Removing it again, changing settings and everything else: getting started.
Questions
Is uncoil made by Razer?
No. It is an independent open-source project, not affiliated with or endorsed by Razer Inc. It speaks the same USB HID reports Razer's software uses, which OpenRazer and OpenRGB documented long before uncoil existed.
What does it cost, and what is the licence?
Nothing. uncoil is GPL-3.0-or-later. Protocol facts and some device data derive from OpenRazer and OpenRGB (both GPL-2.0-or-later).
What still needs Synapse?
Anything uncoil does not do yet: macros, what each command-dial mode does, custom images on the BlackWidow’s dial screen, switching onboard profiles, firmware updates, and devices that are not on the list. Key and button remapping works from the app and the command line, though only one remap (Fn+P to Print Screen) has been checked on a real keyboard so far. DPI, polling rate, the sleep timer and the scroll wheel are there too; DPI, the poll rate, scroll mode and Smart Reel are confirmed on the Basilisk V3 Pro, and for the rest uncoil reads each value before it changes anything. Settings already stored in a device’s own memory stay there after Synapse is gone.
Can Synapse stay installed?
Not running at the same time: both would write to the same LEDs. Quit Synapse completely, or uninstall it; the getting started guide covers doing that without leaving the keyboard stuck in driver mode.
Does it work alongside OpenRGB, SignalRGB or iCUE?
Leave the Razer devices to uncoil; any other app driving them will fight it for the LEDs, and uncoil shows a notice when it sees Synapse, OpenRGB or SignalRGB running. For the rest of the PC, uncoil can use OpenRGB (off by default; install with -OpenRgb): either once at sign-in, to put the motherboard, GPU and RAM on their own hardware modes, or live, so they follow the desk effect. It skips the RAM while iCUE is running because they share the SMBus. See configuration.
Does it need administrator rights?
Once, to copy the executable into Program Files. The daemon runs as you, unelevated, and talks to Razer devices as plain user-mode HID. Only the optional OpenRGB part runs elevated, from its own logon task, because RAM lighting sits on the SMBus. There is no service and no kernel driver.
Does it phone home?
No. There is no account, no telemetry and no updater. uncoild reads one config file, writes a status file, a small log and a record of writes to device memory, all under your user profile, and answers the app and the command line over a local pipe only your account can open. Its one network connection is in the optional live OpenRGB mode, to OpenRGB on 127.0.0.1, on this PC.
Mac or Linux?
Windows 10 and 11 only. On Linux, OpenRazer already does this job well.