Recommended Free Tools
iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more
Rev 2.0 of the RP2040 Joystick Mouse is a DIY computer mouse built around a Seeed Studio XIAO RP2040, an analog joystick and an MCP23008 GPIO expander. Its CircuitPython implementation maps joystick movement to the pointer and adds buttons, scrolling, pointer-speed selection and NeoPixel feedback. It is a working project prototype, not a finished retail mouse, and its author reports USB startup and resume issues that may require a physical reset.
What Rev 2.0 is
The project replaces conventional hand movement across a desk with joystick-controlled pointer movement. The XIAO RP2040 reads the joystick’s analog axes and sends mouse input over USB using CircuitPython’s HID mouse support. The documented controls include left, middle and right buttons, scroll inputs and a rotary encoder. The encoder button cycles through pointer-speed settings, with a NeoPixel indicating the selected setting.
The project page, published on Hackster on October 27, 2023, describes a custom PCB and a XIAO RP2040 board. The design grew from an initial breadboard version; the Rev 2.0 redesign added features such as a middle button while addressing the microcontroller board’s limited available GPIO. See the Rev 2.0 project page for the project context and its in-progress CircuitPython implementation.
Windows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallOutdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchHardware and controls
Main components
- Seeed Studio XIAO RP2040: the project’s microcontroller board.
- MCP23008: an I2C GPIO expander used for several buttons, scroll controls and the rotary encoder.
- Analog joystick: provides the axes used to move the pointer.
- Rotary encoder and encoder button: the encoder is used for scrolling in the described implementation; pressing its button cycles pointer-speed settings.
- NeoPixel: provides color feedback for the speed setting.
- Custom PCB: the project’s board also provides I2C breakout headers and access to unused XIAO pins.
The project source does not identify exact retail models for the joystick module or rotary encoder, so those parts should not be treated as a specified model or guaranteed drop-in replacement. The author selected the MCP23008 rather than the MCP23017 for the expander.
#1 Best Overall
- Wide Compatibility – Supports X-Input, Nintendo Switch, PlayStation 3, D-Input, and Keyboard modes for seamless use across multiple gaming platforms.
- Ultra-Low Latency – Delivers highly responsive gameplay with an average input latency of just 0.76ms in X-Input mode, perfect for competitive fighting games and arcades.
- High-Quality Switch: Utilizes original mechanical keyboard Microswitches for smooth and reliable operation up to 50 million cycles.
- Advanced Features & Developer Friendly – Powered by Raspberry Pi RP2040 development board and based on the GP2040-CE project, offering flexibility for custom mods and development projects.
- Complete Arcade Kit: Includes Raspberry Pi RP2040 encoder, 10 microswitch buttons, joystick, USB cable, plus all necessary wiring for easy installation and setup.
Assembly considerations
This is a hands-on electronics build, not a ready-to-use mouse. The project author notes that assembly requires a stencil because some surface-mount components are small. PCBWay is named as the custom PCB manufacturer used by the author; the project information does not establish current fabrication terms or availability.
Reported Rev 2.0 limitations
The project author characterizes the hardware as working with a few issues. In particular, USB behavior during computer startup or after waking from suspend may require a physical reset. This is the author’s report, not an independently reproduced test, so it should be treated as a possible compatibility or recovery issue rather than a guaranteed result on every computer.
Rank #2
- Wide Compatibility – Supports X-Input, Nintendo Switch, PlayStation 3, D-Input, and Keyboard modes for seamless use across multiple gaming platforms.
- Ultra-Low Latency – Delivers highly responsive gameplay with an average input latency of just 0.76ms in X-Input mode, perfect for competitive fighting games and arcades.
- Custom RGB Lighting – Per-button RGB LED support with multiple customizable lighting profiles to personalize your arcade controller.
- High-Quality Switch: Utilizes original mechanical keyboard Microswitches for smooth and reliable operation up to 50 million cycles.
- Advanced Features & Developer Friendly – Powered by Raspberry Pi RP2040 development board and based on the GP2040-CE project, offering flexibility for custom mods and development projects.
Rev 2.0 was also not designed around an enclosure, and the author had not settled on one in the project account. Anyone intending to use it as a daily mouse should account for the exposed-board form factor and the possibility of needing access to its reset.
The Tool Desk
Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →What changed in Rev 3.0
The author’s later Rev 3.0 account describes changes that clarify Rev 2.0’s status as an earlier proof of concept.
Rank #3
- Wide Compatibility – Supports X-Input, Nintendo Switch, PlayStation 3, D-Input, and Keyboard modes for seamless use across multiple gaming platforms.
- Ultra-Low Latency – Delivers highly responsive gameplay with an average input latency of just 0.76ms in X-Input mode, perfect for competitive fighting games and arcades.
- Custom RGB Lighting – Per-button RGB LED support with multiple customizable lighting profiles to personalize your arcade controller.
- 3D Analog Mushroom Thumbstick – 3D Joystick Analog Stick for Flight Simulation Games, Thumb Stick Cap, Mushroom Head Replacement for Game Controllers
- Advanced Features & Developer Friendly – Powered by Raspberry Pi RP2040 development board and based on the GP2040-CE project, offering flexibility for custom mods and development projects.
| Area | Rev 2.0 | Rev 3.0, as described by the author |
|---|---|---|
| Rotary encoder connection | Connected through the MCP23008 I/O expander | Moved to native XIAO RP2040 GPIO after the author encountered problems using an encoder on an I/O expander with CircuitPython |
| Hardware status | Functional, with reported issues including USB startup/resume behavior | The author says the revision eliminated hardware bugs |
| Enclosure | No enclosure design was settled | The author describes the device in its first enclosure |
| Documentation | Hackster project page dated October 27, 2023 | Later account on the author’s site |
These are the author’s descriptions of separate revisions, not results from a controlled comparison. The sources do not establish that Rev 3.0 is faster or more accurate.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Is Rev 2.0 a practical mouse to build?
Rev 2.0 is most useful as a reference for a custom input-device project: it shows how joystick movement, mouse buttons, scrolling and speed selection can be combined with a small RP2040 board and an I2C expander. It is less suited to someone seeking a polished, enclosed mouse that is ready to use immediately. The available project information does not establish current prices, retail stock or the availability of PCB files, so confirm those details before planning a build.
Quick Recap
Best Value
- PS2 joystick Game joystick module Electronic building blocks standard interface and 2.54mm pin Interface lead, metal joystick.
Rank #4
- Wide Compatibility – Supports X-Input, Nintendo Switch, PlayStation 3, D-Input, and Keyboard modes for seamless use across multiple gaming platforms.
- Ultra-Low Latency – Delivers highly responsive gameplay with an average input latency of just 0.76ms in X-Input mode, perfect for competitive fighting games and arcades.
- Custom RGB Lighting – Per-button RGB LED support with multiple customizable lighting profiles to personalize your arcade controller.
- 3D Analog Mushroom Thumbstick – 3D Joystick Analog Stick for Flight Simulation Games, Thumb Stick Cap, Mushroom Head Replacement for Game Controllers
- Advanced Features & Developer Friendly – Powered by Raspberry Pi RP2040 development board and based on the GP2040-CE project, offering flexibility for custom mods and development projects.
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

