HHL Gamepad Config

HHL Gamepad Config is the app for configuring and updating Hand Held Legend controllers that run HOJA firmware: GC Ultimate, ProGCC, Super Gamepad+ and others. It runs in the browser, nothing to install:

hoja.handheldlegend.com

It replaces the older Hoja 2 config tool.

What you need

  • A Chromium browser: Chrome, Edge, Opera or Brave on Windows, macOS, Linux, ChromeOS or Android.

  • A USB data cable. Many cables only charge. If the controller lights up but never shows in the browser's list, try another cable, plugged straight into the computer.

  • Safari, Firefox and every browser on iPhone and iPad can't connect to USB controllers. You can still open the app there and Try the demo.

Connect your controller

  1. Plug the controller in while holding A or B. Only Switch and Steam modes connect to the app (see Modes & Pairing).

  2. Open hoja.handheldlegend.com and press Connect controller.

  3. Pick the controller in the browser's list.

Home before connecting: Connect controller, and tips if it doesn't work

Home before connecting: Connect controller, and tips if it doesn't work


Once connected, Home shows the controller, its firmware, and anything that needs attention, such as Joysticks need calibration or an available update.

Home with a controller connected

Home with a controller connected


Save your changes

Every change applies to the controller right away, so you can feel it. It stays only until the controller is unplugged, unless you press Save in the top bar. The Save button glows while there are unsaved changes, and the app warns you before you disconnect.

Back up your settings

On the Firmware & backup page, Backup & restore saves the controller's settings to a file (Back up settings) and loads them back later (Restore from file). It's a good idea before a firmware update. Backups can include calibration, which you can choose to restore or not.

The app also makes automatic backups: each time a controller connects, it saves one in the browser and keeps the last 5 for each controller. Click Automatic backups under Backup & restore to open the list and restore one.

Backup & restore on the Firmware page

Backup & restore on the Firmware page


If it won't connect

  • Not in the browser's list: unplug it, hold A or B, and plug it back in. Try a different cable or USB port.

  • "The controller is busy in another tab or app": close other tabs with the app, and other controller tools, then try again.

  • It shows up as "controller name Update" (for example GCU 1 Update), RP2 Boot, RPI-RP2 or RP2350: the controller is in update mode, not running its firmware. See Update Firmware.

  • Linux: the app's Help & about page has a one-time Linux setup (a USB rule) that allows the browser to reach the controller.

  • iPhone or iPad: Apple doesn't allow USB access from the browser. Use a computer or an Android device.

More