Skip to main content

GP2040-CE Web Configurator

Select the button labels to be displayed in the usage guide:

GP2040

GP2040-CE contains a built-in web-based configuration application which can be started by holding S2 when plugging your controller into a PC or by holding S2 + B3 + B4 for five seconds while the controller is plugged in. Then access http://192.168.7.1 in a web browser to begin configuration.

Supported

  • Windows
  • Mac
  • Linux
  • SteamOS
  • iPadOS

Not supported

  • Android
  • iOS
note

Linux distributions may need some extra steps to access the web configurator; see Linux Setup.

Linux Setup

When you plug in your controller while holding S2, you should see it connect in the kernel logs if you run dmesg:

[   72.291060] usb 1-3: new full-speed USB device number 12 using xhci_hcd
[ 72.450166] usb 1-3: New USB device found, idVendor=cafe, idProduct=4028, bcdDevice= 1.01
[ 72.450172] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 72.450174] usb 1-3: Product: TinyUSB Device
[ 72.450176] usb 1-3: Manufacturer: TinyUSB
[ 72.450177] usb 1-3: SerialNumber: 123456
[ 72.484285] rndis_host 1-3:1.0 usb0: register 'rndis_host' at usb-0000:06:00.1-3, RNDIS device, 02:02:84:6a:96:00
[ 72.498630] rndis_host 1-3:1.0 enp6s0f1u3: renamed from usb0

In the above example, enp6s0f1u3 is the virtual Ethernet interface for your controller. If you don't see the first rndis_host line, make sure CONFIG_USB_NET_RNDIS_HOST is compiled in your kernel or as a module.

The web configurator is automatically running, you just need to be able to reach it. Some configurations automatically set up the route, so try http://192.168.7.1 in your browser now. If it doesn't load, try configuring an IP for the interface manually via: sudo ifconfig enp6s0f1u3 192.168.7.2.

Whether or not you had to add an IP manually, you should end up with a route something like this:

% ip route
default via 10.0.5.1 dev enp5s0 proto dhcp src 10.0.5.38 metric 2
10.0.5.0/24 dev enp5s0 proto dhcp scope link src 10.0.5.38 metric 2
192.168.7.0/24 dev enp6s0f1u3 proto kernel scope link src 192.168.7.2 <---

Then the configurator should be reachable in your browser.