Single channel wireless switch / pedal backpack #201
+251
−13
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
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.

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:
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