Skip to content

Conversation

@CapnBry
Copy link
Member

@CapnBry CapnBry commented Dec 1, 2025

An easy to construct wireless pedal that can send a single channel high/low through the ExpressLRS backpack. This is used for Street League (SL) and Underground Drone League (UDL) RPM BOOST race features, or a Velocidrone Combat weapons trigger.

The draft of this PR includes targets for ESP32, ESP32S3, and ESP32C3 to allow users to use what they can find most easily. The C3 target doesn't work right currently, the ESPNOW packets are being dropped quite frequently.

Pins / Connections

Just 2 wires soldered to the pedal and you're good to go.

Name ESP32 ESP32-S3 ESP32-C3 Description
PIN_BUTTON_PEDAL 15 13 4 Pedal input. Connect the NO wire from the pedal and its common wire to GND
PIN_BUTTON_BIND 0 9 0 Bind button. Behaves differently than the standard button. Hold for 5 seconds to enter bind mode, Hold for 10 seconds to enter wifi mode
PIN_LED 2 8 48 Standard monochrome LED

PIN_BUTTON_PEDAL and PIN_BUTTON_BIND can be wired/switched together to make the pedal also work as the bind button

This is a simple design just to show off how easy this is to build a pedal from, but there are definitely better off-the-shelf boards to use which are smaller and include lipo chargers.
20251201_133309

Software

This uses the ExpressLRS Wireless Headtracking system and transmits the pedal position every 750ms when idle. The pedal press detection is handled by interrupts and will transmit the new position as soon as the button is debounced, around 5-10ms later. The position will then be transmitted at 100ms intervals at least 7x and will stay high rate until the pedal position is unchanged for 750ms.

Setup:

  • Update the TX Backpack to 1.5.2 or greater
  • In the ExpressLRS lua "Backpack" folder set:
    • HT Enable to ON
    • HT Start Channel where the pedal value should appear. Usually AUX8 is best due to the Headtracking always overwriting 3x channels in ELRS 3.x. ELRS 4.0 it can go anywhere and only overwrite that channel.
  • Add a mixer line in EdgeTX that sets that channel to MIN. This will make the switch appear unpressed when the pedal is not connected.

WIP

I may tweak some of the pins, so this design is not finalized, but I wanted to get this up to link to in the 4.0 release notes

@CapnBry CapnBry marked this pull request as draft December 1, 2025 18:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant