Skip to main content

Turbo

Purpose: This add-on is intended for you to change the behavior of controls so that holding a button triggers a fast series of separate button presses.

Turbo Mode is enabled/disabled on individual buttons by holding an input and then pressing the Turbo Button. This results in the input being repeatedly sent in rapid succession (according to the Turbo Shot Count set in the Web Configurator).

note

Turbo Mode is limited to non-directional inputs on the game pad.

GP2040-CE Configurator - Add-Ons Turbo

Web Configurator Options

General Options

  • Turbo Pin - The GPIO pin used for the Turbo button, which toggles Turbo Mode on a button.
  • Turbo Pin LED - The GPIO pin used for the Turbo LED.
  • Turbo Shot Count - The number of of presses per second that the Turbo will activate at. (Default: 15, Range: 0-30)
  • Turbo Dial (ADC ONLY) - The GPIO pin used for the Turbo dial.
caution

Turbo Dial (ADC ONLY) must be set as one of the ADC pins (GPIO 26-29) on the RP2040 board.

Turbo - SHMUP MODE

GP2040-CE Configurator - Add-Ons Turbo SHMUP MODE

  • Turbo Always On 1-4 - These gamepad inputs will always send Turbo inputs (rapid, distinct button presses) even when Turbo mode is not enabled.
  • Charge Button 1-4 Pin - These GPIO pins used for an additional button that can be held down and send one sustained input regardless of Turbo status.
  • Charge Button 1-4 Assignment - These inputs that are associated with their respectiveCharge Button 1-4 buttons.
  • Simultaneous Priority Mode - Which of the two modes below should take priority.
    • Turbo Priority - When a Charge Button and a gamepad input with Turbo Mode are pressed simultaneously, apply Turbo Mode behavior.
    • Charge Priority - When a Charge Button and a gamepad input with Turbo Mode are pressed simultaneously, only send the input being held as a Charge Shot.
note
  • In order for these options to work, the Turbo Pin must be set to some GPIO pin and not disabled (-1).
  • Charge Button 1-4 Pin must be set to GPIO pins that are not currently assigned to any other inputs.

Some of the options above uses the following GP2040 input labels for input mapping from controller to GP2040-CE.

GP2040-CEXInput
Xbox One
SwitchPS4PS3DirectInputArcadeRP2040 Advanced Breakout Board
B1ABCrossCross2K1K1
B2BACircleCircle3K2K2
B3XYSquareSquare1P1P1
B4YXTriangleTriangle4P2P2
L1LBLL1L15P4P4
R1RBRR1R16P3P3
L2LTZLL2L27K4K4
R2RTZRR2R28K3K3
S1BackMinusShareSelect9CoinS1
S2StartPlusOptionsStart10StartS2
L3LSLSL3L311LSL3
R3RSRSR3R312RSR3
A1GuideHomePSPS13HomeA1
A2-CaptureTouchpad-14-A2

Requirements

Additional buttons are required for the Turbo Button as well as each of the additional Charge Buttons desired for a minimum of one button and a maximum of 4 buttons.

If a Turbo LED is desired, an 3.3V non-addressable non-RGB LED is required. This type of LED should only have 2 conductors, power and ground.

3.3V+ Forward Voltage LED

The LED is using power from GPIO pin, which can only supply +3.3V. Verify that the forward voltage of the LED is below 3.3V, otherwise the LED will not turn on.

Installation

For each button, connect one side of the button to their respective GPIO pin as assigned in the Web Configurator. Connect the other side of the buttons to GND.

For the Turbo LED, connect one side of the LED to the GPIO pin assigned in the Web Configurator. Connect the other side of the LED to GND.

Miscellaneous Notes

When using an OLED display, buttons that have Turbo enabled will have an additional, internal ring or square to indicate that when pressed, the input mapped to that button will repeatedly be sent by the controller.