-
Notifications
You must be signed in to change notification settings - Fork 0
Developer Setup
Sean P. Harrington edited this page Feb 26, 2025
·
1 revision
The Aq+ Gamepad can be modified or customized a number of ways, including an easy-to-Use menu system via USB serial terminal. Also, when system updates are needed, this setup allows users to perform updates themselves.
- Download and install Arduino IDE (see Links & References page)
- Download and activate ESP32 boards, drivers, and supporting tools:
- From within the Arduino IDE, go to the Boards Manager:
- (SHFT+CTRL+B on Windows)
- Tools > Board: [current board name] > Boards Manager
- In the "Filter your search..." box, type "esp32", then from the list below, select "esp32 by Espressif System", choosing version 3.1.1 or later from the dropdown.
- Click on the INSTALL button
- The system will download and install the ESP32 boards definitions
- Depending on your connection, this could take a few minutes
- From within the Arduino IDE, go to the Boards Manager:
- Once installed, set the correct Board for this project:
- From the menu, select Tools > Board: > esp32 > ESP32-S3-Box
- Install the Arduino libraries for this project:
- From within the Arduino IDE, go to the Library Manager:
- (SHFT+CTRL+I on Windows)
- Tools > Manage Libraries...
- In the "Filter your search..." box, type "ESP32-BLE", then from the list below, select "ESP32-BLE-Gamepad by lemmingDev", choosing version 0.7.3 or later from the dropdown.
- Click on the INSTALL button
- The system will download and install the library
- It will also install "NimBLE-Arduino by h2zero", 2.2.2 or later
- Depending on your connection, this could take a few minutes
- Clear the "Filter your search..." box, and type "NeoPixel", then from the list below, select "Adafruit NeoPixel by Adafruit", choosing 1.12.4 or later or later from the dropdown.
- Click on the INSTALL button
- The system will download and install the library
- Depending on your connection, this could take a few minutes
- From within the Arduino IDE, go to the Library Manager:
- Connect the Aq+ Gamepad to your system using a USB micro cable.
- You may need to use a system utility (i.e. Device Manager on Windows) to determine what communication port the Aq+ Gamepad has been assigned, needed in the next steps.
- Set the proper Board Settings for the project:
- Tools > Port: > COMxx (whatever port your Aq+ Gamepad has been assigned)
- Tools > Core Debug Level: > None
- Tools > USB DFU On Boot: > Disabled
- Tools > Erase All Flash Before Sketch Upload: > Disabled
- Tools > USB Firmware MSC On Boot: > Disabled
- Tools > Partition Scheme: > 16MB Flash (3MB App/9.9MB FATFS)
- Tools > USB Mode: > Hardware CDC and JTAG
- Tools > Programmer: > Esptool (ensure it is CHECKED)
- Configure the Serial Monitor:
- Tools > Serial Monitor
- Within the Serial Monitor window or tab, from the drop-down, select New Line
- Within the Arduino IDE, the Baud rate, stop, and parity bits are automatically set, but for other terminal programs, they are 115200 baud, 8 bits, no parity
Once all of this is set up, when the Aq+ Gamepad is attached, you can interact with the Aq+ Gamepad via terminal menu by entering commands in the top box of the Serial Monitor and then typing ENTER.
Below is the HELP menu, showing all available commands:
A - Toggle DPAD <> Analog state
B - Toggle button rows (1 2 3) <> (4 5 6)
C - Show configuration data
D - Show debug data x10, once every 1/4 second
L - Show current DPAD & Button Row settings
M - Auto-set max battery level (only when charge light is off)
P - Show preferences data
R - Reset X & Y trim to 0
S - Show BTLE statistics
T - Auto-trim X & Y axis
H/? - Show Help (this) screen