GP2040-CE on the w1spBox: what the firmware actually does
Every w1spBox Studio ships with GP2040-CE — Community Edition gamepad firmware for RP2040 boards. It is why the stick is plug-and-play on PC, why you can change SOCD without installing software, and why input lag stays under a millisecond. This is the player-facing tour: the features I actually use, and the ones that matter for Street Fighter 6.
What GP2040-CE is
GP2040-CE is open-source firmware that turns a Raspberry Pi Pico (or another RP2040 board) into a multi-platform gamepad. The project lives at gp2040-ce.info. It is not a Windows app. The configurator is a website that the controller itself serves when you hold S2 on plug-in.
Officially it talks to PC, PS3, PS4, PS5, Nintendo Switch, Xbox One, Steam Deck, MiSTer and Android. On the w1spBox, the daily drivers are PC / Steam Deck / Switch / PS3 / PS4 legacy. PS5 still needs a Brook Wingman (or similar) — more on that below.
Latency
This is the reason tournament players care. GP2040-CE publishes lab numbers using the methodology from inputlag.science, at a 1000 Hz poll rate. From their v0.7.12 results:
| Mode | Average | Min–max |
|---|---|---|
| XInput (PC) | 0.76 ms | 0.45–1.28 ms |
| Nintendo Switch | 0.72 ms | 0.41–1.22 ms |
| PS3 | 0.83 ms | 0.52–1.46 ms |
| PS4 | 0.90 ms | 0.55–2.33 ms |
| PS5 | 0.91 ms | 0.55–2.38 ms |
In practice that is “the stick is not the bottleneck.” One-frame links in SF6 are on you, not the USB stack. Newer firmware revisions can shift these numbers slightly; the project keeps the latest tables on the homepage.
The web configurator (no install)
Hold S2 while you plug the USB-C cable into a computer, then open http://192.168.7.1 in Chrome, Firefox or Edge. That is the whole workflow — documented here: Web Configurator. You can also hold S2 + B3 + B4 for five seconds while the stick is already plugged in.
From that page you can:
- Remap buttons and keyboard keys
- Pick the default input mode (XInput, Switch, PS4/PS5, etc.)
- Set SOCD cleaning and D-pad vs left/right stick emulation
- Edit hotkeys, or lock them so you cannot trigger them by accident
- Save profiles (different GPIO maps) if you ever rewire
Windows, Mac, Linux, SteamOS and iPadOS are supported. Phone browsers are hit-and-miss. If 192.168.7.1 does not load, use a data-capable cable (not charge-only) and try another USB port — the w1spBox setup guide walks through the same steps.
SOCD cleaning (the SF6-relevant part)
SOCD means simultaneous opposite cardinal directions — Left+Right or Up+Down at the same time. Consoles and Capcom Pro Tour rules expect the stick to resolve that, not send both. GP2040-CE can clean it in several ways (hotkeys docs).
Every w1spBox Studio ships already set to Neutral — the competitive default for Street Fighter 6. Plug it in and play a CPT-legal match; you do not have to open the web configurator first. The table below is only if you need to switch, or if a hotkey knocked you out of Neutral.
| Mode | What happens | Default hotkey |
|---|---|---|
| Up Priority (“stickless”) | Up+Down → Up. Left+Right → neutral. | S2 + A1 + Up |
| Neutral (how the w1spBox ships) | Opposites cancel. Competitive SF6 / CPT default. | S2 + A1 + Down |
| Last Win (second input priority) | The direction you pressed second wins. | S2 + A1 + Left |
| First Win | The first direction is kept until you release it. | Configurable in web config |
| Off | Both directions are sent. XInput only — Switch/PS3/PS4 force Neutral instead. | Configurable |
Mode is remembered across unplugs. If a combo suddenly feels “wrong,” you probably hit a hotkey. You can disable or rebind them under Settings → Hotkeys, or turn on Lock Hotkeys.
D-pad vs analog stick
Leverless controllers send a digital d-pad by default. Some games (3D fighters, platformers, Steam input quirks) want a left stick instead. Default hotkeys:
- S1 + S2 + Down — digital d-pad
- S1 + S2 + Left — left analog
- S1 + S2 + Right — right analog
- S1 + S2 + Up — Home / Guide
Dual-direction (d-pad + stick at once) and a reverse-input button exist if you need them. Most SF6 players never touch those.
Input modes and boot buttons
Fourteen modes, including XInput, Switch, PS4/PS5, Xbox One, DirectInput and Keyboard. The mode you last used is saved. Many boards also let you force a mode by holding a face button while plugging in — that map is configurable in web config under Settings.
PC: XInput. Switch / Steam Deck: Switch or XInput depending on the dock. Keyboard mode is there for hitbox-to-WASD experiments; remap keys in the configurator.
PlayStation and the 8-minute timeout
PS4 and PS5 authenticate licensed pads. A stick that does not answer that handshake works for about eight minutes, then dies until you replug. That is Sony, not a GP2040 bug. Details: console compatibility FAQ.
GP2040-CE can authenticate in PS4/PS5 modes if the board has a USB host port and a compatible dongle. The w1spBox is built as a clean leverless for PC-first play: PS4 legacy works plug-and-play; native PS5 needs a Brook Wingman (or equivalent) between stick and console. Do not chain the adapter the wrong way — passthrough devices belong on a host port, not as a USB sandwich that adds lag.
The rest of the feature list (what the w1spBox does not rely on)
The firmware can also do turbo + turbo LED, per-button RGB, OLED splash screens, a tiny speaker, extra analog add-ons, and player LEDs. Those are optional hardware. I keep the Studio chassis focused: hot-swap Kailh Choc, GP2040-CE, no extra light show. You still get the configurator, SOCD, modes and the latency.
Firmware updates use BOOTSEL / a .uf2 drop. On this board: hold the documented combo (or S1+S2+Up while plugging in, depending on config), then flash the UF2 from the
GP2040-CE project.
Back up a known-good UF2 before you update.
Why I ship it
I am not going to pretend I wrote this firmware. I assemble fightsticks in Almere and I need something that survives a local SF6 bracket, talks to a Steam Deck, and lets a customer change SOCD without installing a sketchy .exe. GP2040-CE is that. If you want the lab numbers and every add-on, read the official docs. If you just unboxed a w1spBox, start with the setup guide, then come back here when you want to know what those web-config toggles actually mean.
Feature list, latency table and SOCD behaviour summarised from GP2040-CE documentation (homepage, usage, web configurator, hotkeys, console FAQ). GP2040-CE is a community project; names and measurements can change with firmware versions.