A standalone, zero-bloat, open-source Windows driver and hardware control application for the Redgear A20 RGB Gaming Mouse (VID: 0x18F8 & PID: 0x0FC0).
I engineered this project single-handedly to replace the abandoned, malfunctioning official vendor software with a clean, high-performance desktop utility that unlocks true 12-bit RGB lighting control, eliminates unwanted rainbow breathing, and communicates directly with mouse hardware without background services or telemetry.
This is an independent, unofficial community project. It is not affiliated with, endorsed by, sponsored by, or associated with Redgear or Imagine Marketing Limited. All trademarks and brand names belong to their respective owners.
This software interacts directly with mouse hardware using reverse-engineered USB HID Feature Reports. While it has been designed with strict safety guardrails (RAM-only application, mandatory hardware delays, decoupled flash writes), use this software at your own risk.
- Supported Mouse: Redgear A20 RGB Gaming Mouse (Instant Microelectronics OEM chipset,
VID: 0x18F8,PID: 0x0FC0). (Other mice are not supported in this release; see Adding Support for Other Mice). - Supported Operating System: Windows 10 / Windows 11 (64-bit).
- Dependencies: None. Built with standard .NET Framework 4.8 Windows Forms; runs on any standard Windows installation out-of-the-box.
-
Stealth Driver Watcher (Near-Zero RAM Persistence):
-
Zero Taskbar & Zero System Tray Clutter: Runs as an invisible background watcher (
trayIcon.Visible = false) with no taskbar button and no tray icons cluttering your screen. -
Ultra-Low Memory Footprint: Uses
SetProcessWorkingSetSizeP/Invoke to aggressively compress working set memory to ~1.8 MB RAM and 0.00% CPU when idle. -
Instant Hotplug Persistence Across All Ports: Intercepts native Win32
WM_DEVICECHANGEwindow messages in< 50ms. Custom color and DPI are restored in~300mswhen unplugging, replugging, or switching USB ports. -
Cold-Boot & Sleep Persistence: Starts silently on Windows login via
HKCU\Software\Microsoft\Windows\CurrentVersion\Run. Survives system reboots and Modern Standby / S3 sleep. -
Single-Instance IPC with UIPI Traversal: Re-launching the
.exewakes the existing GUI without spawning duplicate background processes. Closing via the Windows Close[X]button keeps your settings auto-applying silently in the background. An explicit Exit App button (with confirmation) is provided to completely terminate the background watcher. -
3 Persistence Modes:
- Stealth Driver Watcher: Invisible, no tray icon, ~1.8 MB RAM (Recommended)
- Tray Agent Mode: ~2.7 MB RAM, quick-access system tray icon
- Disabled: RAM only, reverts to default when mouse is unplugged
-
Zero Taskbar & Zero System Tray Clutter: Runs as an invisible background watcher (
-
4,096-Color True Precision Engine:
- Full 12-bit RGB color control (
$16 \times 16 \times 16$ levels per channel). - Uses verified Active-Low PWM register mapping (
$0 = 100%$ ON,$15 = 0%$ OFF). - Visual Color Dialog picker + custom Hex code input (
#RRGGBB). - Quick presets: Lavender, Purple, Cyan, Ice Blue, Mint, Green, Gold, Pink, White.
- Full 12-bit RGB color control (
-
Proportional PWM Brightness Dimming:
- Variable brightness slider (
$5\text{–}100%$ ) that scales channel duty cycles proportionally while preserving the exact color hue.
- Variable brightness slider (
-
Solid Static Mode (No Breathing):
- Hardware mode
0x86forces the microcontroller to display permanent, non-fading solid light, eliminating the default unchangeable rainbow breathing cycle.
- Hardware mode
-
Experimental DPI Stage Controls:
- Optional toggle for Command
0x09allowing selection of active DPI stages (Stage 0: 600, Stage 1: 1000, Stage 2: 1200, Stage 3: 1600, Stage 4: 2400, Stage 5: 3200 DPI).
- Optional toggle for Command
-
Hardened Safety Architecture:
-
Apply to RAM Only: Changes can be tested in volatile memory first (
Apply (RAM)). -
Local Profile Persistence: Auto-deploys to
%LocalAppData%\RedgearA20\RedgearA20.exeso you can move or delete the downloaded file without breaking persistence. - Factory Profile Reset: Restores stock multi-stage DPI colors (Blue, Yellow, Green, Purple, Cyan, White) and default breathing cycle mode.
- Asynchronous Execution & UI Locking: Background worker execution prevents GUI stuttering; locks UI controls during transmission.
-
Post-Write Health Check: Interrogates
HidD_GetFeatureto verify microcontroller responsiveness. - Zero Slider Spamming: Sliders only update local UI preview; zero USB packets transmitted while dragging.
- Mandatory 50ms Delays: Safe inter-packet delay prevents 8-bit MCU buffer overruns.
-
Apply to RAM Only: Changes can be tested in volatile memory first (
-
Live Monospace Diagnostic Log:
- Embedded console displaying every 8-byte Feature Report sent and its Win32 return status, with one-click clipboard export.
-
Ultra-Light Portable Executable:
- Standalone
$\approx 65\text{ KB}$ 64-bit executable (RedgearA20-win-x64.exe). Zero dependencies, zero installer, zero electron wrappers.
- Standalone
Through reverse engineering and disassembling the vendor's Gaming Mouse 2.0.exe, I discovered a critical hardware reality:
- The Instant Microelectronics A704 / A704F IC physically lacks non-volatile EEPROM/Flash storage for custom RGB lighting. Custom lighting registers are held in volatile SRAM, which wipes whenever power is lost (PC shutdown or USB unplug).
- The official Redgear software worked around this by leaving a bloated background service running.
- Redgear A20 Control Center replaces that bloat with a featherweight Stealth Driver Watcher (~1.8 MB RAM, 0% CPU, no tray icon) that detects USB hotplug in real-time via Win32
WM_DEVICECHANGEand restores your profile instantly.
All hardware communication is performed via 8-byte USB HID Feature Reports sent to endpoint UsagePage 0xFF01 (Report ID 0x07):
Packet Structure: [0x07, Command, Param1, Param2, Param3, Param4, Param5, Param6]
| Command | Target | Payload Format | Description | Status |
|---|---|---|---|---|
0x14 |
DPI Stage RGB | [07 14 (Stage<<5)|Green_Inv (Red_Inv<<4)|Blue_Inv 00 00 00 00] |
4-bit Active-Low PWM color per stage | Verified |
0x13 |
LED Mode | [07 13 7F ModeByte 00 00 00 00] |
0x86 = Solid Static, 0x80 = Breathing, 0x87 = Off |
Verified |
0x09 |
Sensor DPI | [07 09 (0x40|Stage) 08 EnabledMask 00 00 00] |
Active stage & 6-bit enabled mask | Experimental |
0x20 |
Sync Latch | [07 20 00 00 00 00 00 00] |
MCU register synchronization latch | Verified |
Project Documentation & Technical Guides:
- Architecture & Guardrails — Core architectural decisions, hardware reality, and strict developer guardrails.
- Protocol Specification — Complete byte-by-byte register and command reference.
- Feature Roadmap — Upcoming milestones, planned RGB effects, and sensor tuning.
- Engineering DevLog — Technical story, reverse-engineering breakthrough, and safety architecture.
- Changelog — Version release notes and migration history.
No installer or runtime dependencies required. It is a portable standalone utility for 64-bit Windows 10 and 11.
- Download Latest Release (
RedgearA20-win-x64.exe) from the GitHub Releases page. - Plug in your Redgear A20 mouse into any USB port.
- Double-click
RedgearA20-win-x64.exeto launch. - Verify the top status bar confirms:
● Connected: Redgear A20 (VID:18F8 PID:0FC0 UsagePage:0xFF01) - Pick your color using the visual picker or type a custom
#RRGGBBhex code (e.g. Lavender#BE59FF) and adjust brightness. - Under Section 3 (Persistence Mode), select
Stealth Driver Watcherand click[ Save Profile ]. - Close the window (
[X]).- The window closes and no system tray icon appears.
- Your mouse will now permanently keep your custom color across all reboots, laptop sleep/wake, and physical USB replugs into any port!
If you prefer to audit the source code and compile the standalone executable yourself:
Note: This project compiles directly using Microsoft's built-in C# compiler (
csc.exe) included with Windows. No Visual Studio, SDK, or toolchain installation is needed.
- Clone the repository:
git clone https://github.com/shivamvcx/A20-Driver.git cd A20-Driver - Run the 1-click build script:
build.bat
- The executable and SHA256 checksum will be generated in
release\:release\RedgearA20-win-x64.exerelease\RedgearA20-win-x64.sha256
If you have a different budget or OEM gaming mouse (e.g., mice powered by Instant Microelectronics, SinoWealth, or Holtek chips) that suffers from broken vendor software, community contributions are welcome!
To request support or contribute a profile, please open an Issue with:
-
Device Identification:
- Vendor ID (
VID) and Product ID (PID) (found in Windows Device Manager$\rightarrow$ Mice$\rightarrow$ Hardware IDs).
- Vendor ID (
-
USB HID Report Descriptor:
- Exported using tools like
USBlyzer,WiresharkwithUSBPcap, ornode-hid.
- Exported using tools like
-
Packet Captures:
- USB packet capture (
.pcapng) recorded while clicking buttons or applying colors in the original vendor software.
- USB packet capture (
Hey, I'm Shivam (@shivamvcx). I single-handedly built and reverse-engineered this project as an independent open-source passion project under my personal development lab, Silicon Labs.
I got tired of the abandoned, buggy official OEM software constantly wiping my mouse's RGB settings on every reboot or USB replug, so I sat down, reverse-engineered the USB HID communication protocol from scratch, and wrote a clean, lightweight driver utility for myself and anyone else using the Redgear A20.
This project is licensed under the MIT License. See the LICENSE file for details.
