GP2040-CE: gamepad firmware for the Raspberry Pi Pico #Gaming #RP2040 #PiDay #Raspberry_Pi @Hackaday

GP2040-CE is a gamepad firmware for the Raspberry Pi Pico and other boards based on the RP2040 microcontroller, and provides high performance with a rich feature set across multiple platforms. GP2040-CE is compatible with PC, MiSTer, Android, Raspberry Pi, Nintendo Switch, PS3 and PS4 (legacy controller support).

Features

  • Selectable input modes – XInput, DirectInput, and Nintendo Switch
  • Overclocked polling rate for less than 1 ms of input latency in all modes
  • Multiple SOCD cleaning modes – Neutral, Up Priority (a.k.a. Stickless), and Second Input Priority
  • Left and Right stick emulation via D-pad inputs as well as dedicated toggle switches
  • Dual direction via D-pad + LS/RS
  • Reverse input via button
  • Turbo and Turbo LED with selectable speed
  • Per-button RGB LED support
  • PWM Player indicator LED support (XInput only)
  • Multiple profile support
  • Support for 128×64 monochrome I2C displays – SSD1306, SH1106, and SH1107 compatible
  • Custom startup splash screen and easy image upload via web configuration
  • Support for passive buzzer speaker (3v or 5v)
  • Built-in, embedded web configuration – no download required!

But how does the humble RP2040 (be it in Pico guise or compatible) provide a web page, you ask? The quick answer comes thanks to Microsoft and their Remote Network Driver Interface Specification (RNDIS) support. RNDIS implements a network device over USB, and luckily, other OSs have caught up and implemented it also. The GP2040 firmware leverages TinyUSB to implement the RNDIS protocol, lwIP to implement a lightweight network stack (whilst only occupying a rather paltry 40k of flash), and finally react-bootstrap to code the actual web logic. (Aren’t modern open source libraries awesome?) If you feel the need to use the source (whether you are named Luke or not) the project can be found on the GP2040 GitHub.

Read more on the official website and in a Hackaday article.


Have an amazing project to share? The Electronics Show and Tell is every Wednesday at 7:30pm ET! To join, head over to YouTube and check out the show’s live chat and our Discord!

Join us every Wednesday night at 8pm ET for Ask an Engineer!

Join over 38,000+ makers on Adafruit’s Discord channels and be part of the community! http://adafru.it/discord

CircuitPython – The easiest way to program microcontrollers – CircuitPython.org


New Products – Adafruit Industries – Makers, hackers, artists, designers and engineers! — New Products 11/15/2024 Featuring Adafruit bq25185 USB / DC / Solar Charger with 3.3V Buck Board! (Video)

Python for Microcontrollers – Adafruit Daily — Python on Microcontrollers Newsletter: A New Arduino MicroPython Package Manager, How-Tos and Much More! #CircuitPython #Python #micropython @ThePSF @Raspberry_Pi

EYE on NPI – Adafruit Daily — EYE on NPI Maxim’s Himalaya uSLIC Step-Down Power Module #EyeOnNPI @maximintegrated @digikey

Adafruit IoT Monthly — The 2024 Recap Issue!

Maker Business – Adafruit Daily — Apple to build another chip at TSMC Arizona

Electronics – Adafruit Daily — SMT Tip – Stop moving around!

Get the only spam-free daily newsletter about wearables, running a "maker business", electronic tips and more! Subscribe at AdafruitDaily.com !


No Comments

No comments yet.

Sorry, the comment form is closed at this time.