Fight-or-flight Triggering Workout Device

About the project

A game device designed to improve the user's pull-ups through the power of fight-or-flight response, if you can't beat the pull-up highscore, you get tazed... hard.

Project info

Items used in this project

Hardware components

ESP32 Thing ESP32 Thing x 2
Pulse Generator Pulse Generator x 1
Large Arcade LED Blue Button Large Arcade LED Blue Button x 4
I2C 4-DIGIT 7-SEGMENT DISPLAY I2C 4-DIGIT 7-SEGMENT DISPLAY x 2
12V battery 12V battery x 1
DC-DC Buck Converter 7-24V to 5V 4A DC-DC Buck Converter 7-24V to 5V 4A x 2
Relay Relay x 5
9V battery 9V battery x 1
LiPo Battery (550 mAh) LiPo Battery (550 mAh) x 1

View all

Software apps and online services

Arduino IDE - C++ Arduino IDE - C++

Hand tools and fabrication machines

Drill with wood drillbits Drill with wood drillbits x 1
Plywood Plywood x 1
Screws Screws x 1
L Brackets L Brackets x 1
"Running" phone holder pouch "Running" phone holder pouch x 1
Wood Saw Wood Saw x 1
Hot glue gun Hot glue gun x 1
Primer+Paint Primer+Paint x 1

View all

Story


Most fitness gadgets promise motivation. Mine threatens electrocution.

The Pull-Up Trainer is a custom workout system I built around a simple idea: if you can’t keep up, you get shocked. The setup combines a bar-mounted game with wearable punishment hardware, pushing pull-ups into the world of interactive torture devices.


At its core, the system uses:

  • ESP32 (controller) – runs the game logic and communicates wirelessly.

  • 4 large LED arcade buttons – mounted above the bar. They light up in randomized patterns, turning your pull-up into a fast-reaction mini-game.

  • Relays + 12V battery pack – drive the arcade buttons/relays and on-board esp-32 + logic

  • Wearable shock module (ESP32-based) – strapped to the unlucky player. Connected to the main unit wirelessly via ESP-Now, it administers a short zap whenever the player misses a button cue.


The software side is kept lean: the ESP32 listens for button inputs, keeps score, and syncs with the wearable over ESP-Now. Relays control the arcade buttons’ LEDs and input states. Timing windows are intentionally brutal, because fitness is suffering.

Design-wise, this project sits at the intersection of fitness gamification and bad ideas. It’s built to look slick enough to pass as a "serious" trainer, but underneath, it’s really a chaotic arcade machine haphazardly stuck onto gym equipment. The punishment loop creates a unique kind of motivation—you don’t just fight gravity, you fight electricity.

What started as a joke quickly became an engaging build. It taught me a lot about relay timing, wireless latency, and the surprising resilience of human skin. Would I recommend using it daily? Probably not. But as a cursed prototype, it’s the most shocking way to train your pull-ups.

Schematics, diagrams and documents

Some sort of component disposition

Code

GitHub repo - both receiver and transmitter code

Credits

Leave your feedback...