How gaming mouse firmware works

Logitech Gamingmouseopen

SROM: the brain of your gaming mouse

Secure read-only memory, or an SROM, is “basically parameters that the sensor uses to define how it works,” said Pate. “The sensor is a piece of silicon or silicium, a wafer that’s been baked. You can’t change it. All those transistors are where they are. It’s done. But it has parameters that can be adjusted. The SROM is basically firmware for the sensor specifically. You can change how it drives the light, how the framerate works, its sensitivity to certain things, and you can do that by modifying the SROM.” The SROM is not always flashable, though Pate said Logitech always tries to make sure its SROMs can be modified to correct unforeseen issues.

If there’s any single most important element of the mouse firmware, it’s the SROM. You could call the SROM the brain; the rest of the firmware package is the nervous system that supports it. Here’s an even more in-depth explanation, courtesy of Overclock.net poster wo1fwood’s exhaustive Guide to Mouse Technology:

Secure read-only memory, or SROM is a class of storage medium that contains and distributes the firmware files of the mouse. These firmwares are an ASCII text file with each 2-characterbyte (hexadecimal representation) on a single line. The mouse's SROM is commonly stored on the MCU (Avago sensors operate in this manner, though not all sensors/mice have to) and internally controls how the sensor operates (what registers can be accessed or written to, how much CPI and how many CPI steps are used, how angle snapping functions where applicable, etc...). Each time the mouse is connected to a power source, the SROM is loaded into the sensor (through the SPI if externally housed).

Logitech Mousesensor

Mouse firmware can never correct or repair fundamental hardware errors. Not all mouse sensors return flawless tracking data. They have limitations like maximum tracking speed—how many inches per second you can move the mouse before it stops accurately tracking. Firmware can’t fix a damaged lense, or stop a mouse button from double-clicking if its mechanical switch is malfunctioning. But flashing an SROM can significantly improve the performance of a mouse sensor by changing how that sensor behaves.

Pate gave an example. “With the G500S, we released a firmware update that reduced the latency of the cursor response by changing the SROM to a later version,” he said. “We could make the cursor response be much more snappy and feel better.”

Other mouse makers have released similar fixes. Cooler Master, for example, has released multiple firmware updates to the CM Storm Spawn, tweaking sensor performance to lower lift-off distance and reduce latency. Sensor manufacturers will also update the SROMs for their sensors as they continue R&D, and those updates will sometimes be handed off to mice companies, and then make their way to already-released mice through a firmware update.

It’s possible for SROM updates to have a negative impact, of course. For example, here Steelseries talks about how an SROM update from the sensor manufacturer caused a performance bug in the Steelseries Rival. They identified the issue and worked on another SROM update to solve the issue. Used properly, SROM firmware updates allow mouse companies to fix issues users discover after release.

That’s the essence of what firmware is, what it does, and why it’s so important. Firmware is comprised of thousands, tens of thousands, of lines of code. It controls the little things, like cycling the RGB lighting of your mouse and storing macro commands. And firmware controls the core functionality of the mouse—the DPI range of the sensor, how fast it can track, its lift-off distance, and everything else. Physical mouse design is only half the equation—without smart engineers and programmers writing the software that tells the mouse how to work, it’s more or less an overpriced hunk of plastic.

TOPICS
Wes Fenlon
Senior Editor

Wes has been covering games and hardware for more than 10 years, first at tech sites like The Wirecutter and Tested before joining the PC Gamer team in 2014. Wes plays a little bit of everything, but he'll always jump at the chance to cover emulation and Japanese games.

When he's not obsessively optimizing and re-optimizing a tangle of conveyor belts in Satisfactory (it's really becoming a problem), he's probably playing a 20-year-old Final Fantasy or some opaque ASCII roguelike. With a focus on writing and editing features, he seeks out personal stories and in-depth histories from the corners of PC gaming and its niche communities. 50% pizza by volume (deep dish, to be specific).