OpenStickCommunity / OpenStickCommunity/GP2040-CE
Classic Controller analog triggers and sticks have jitter and range issues
@mikepparks is already working on this.
Since Aug 6, 2025.
- Dominant language
- C++
- Stars
- 2.5k
- Forks
- 666
- Avg merge
- 1d 19h
- Merged PRs (30d)
- 7
Description
Expected Behavior
Classic Controller triggers read 0 when unpressed and 1 when pressed. Analog sticks reach full range and do not jitter.
Current Behavior
On my controller, the left trigger is unable to reach 0 (minimum of around 0.13), with a maximum below 0.9. Strangely, with the shell on, the right trigger can reach 0 (sometimes, other times 0.04) and 1, but with the shell removed, f i move the sliders to their maximal positions, both can't exceed a range of 0.04 to 0.92.
My left analog stick can't quite reach full left (-0.95-96), while my other cardinals range from 0.97-98 to 0.99x. Ideally it would be possible to calibrate the stick range so all cardinals can output a full ±1.00 or within a rounding error of.
Additionally both analog sticks (and sometimes triggers) have jittering positions even when I don't touch the sticks.
- I checked for jitter using https://hardwaretester.com/gamepad, and ranges using that and Dolphin Emulator.
Context
GP2040-CE_0.7.11_Pico.uf2- Stock firmware, configured with
force_webconfig.uf2and Classic Controller addon - Pi Pico 1 RP2040 from raspberrypi.com
- See https://discord.com/channels/1049366310389289001/1049370085413888111/1402518913857622068 and below.
Steps to Reproduce
- Wire Classic Controller to Pi Pico I2C pins using WiiChuck adapter.
- Enter web UI using
force_webconfig.uf2and setup keybinds. - Try to calibrate controller.
Screenshots & Files
Please include any relevant screenshots, photos/recordings, or files here.
https://github.com/user-attachments/assets/e150ee8c-42d3-439c-8123-ae45c865850b
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.