Check the Testing Branch for the latest updates.
ESP32-based Climbing Hangboard Force Gauge with data collection to CSV and a webserver for management and data viewing. Allows CSV download from the web UI, live Force Display, as well as data display with charting ("Data") and rudimentary analysis ("View"). Also features a hangboard timer with pre-populated exercises.
beta-demo.mp4
This is a prototype and may stay that way forever, depending on how excited I get on improving it. I'd love for your to contribute. I hacked this together over Thanksgiving and I'm not a pro coder, so it could certainly use some love from someone smarter than me.

- Load Sensor - (https://amzn.to/3RfIloY)
- I took mine out of a $25 Crane Scale.
- HX711 - (https://amzn.to/40VuAPo)
- ESP32-S3-DevKitC-1-N8R2 - (https://amzn.to/3uAc5Eh)
I took the load sensor out of this Fuzion Hanging Crane Scale: https://amzn.to/3RfIloY. You can desolder or cut the 4 wires coming from the sensor. Any load sensor should work, but you'll likely need to tweak the calibration, no matter what.
- The Red wire goes to E+
- Black to E-
- White to A-
- Green to A+
- GND will go to a ground pin on the ESP
- VCC (Power) to to a 3.3v Out pin
- DT (Data) to an open GPIO port (I used GPIO4)
- SCK (Serial Clock) to another open GPIO port (I used GPIO6)
- Modify the WiFi credentials and your GPIO pins after the #includes in the code.
- The ESP will print the IP address to the serial console when it connects. This is the URL you type into the browser.

- GripTracker automatically begins logging data to a new CSV file each boot. It will create a new file each time the device turns on.
- New sessions can be started by entering a custom name on the main page.
- GripTracker will create a WiFi Access Point called GripTracker, which you need to connect to in order to use the web UI.
- GripTracker only needs power, not a computer connection.
- Besides identifying the server's IP address, which has always been 192.168.4.1 in my testing.
- GripTracker displays live force data with live charting on the web UI.
- Force data is logged to CSV file automatically.
- Hangs are automatically separated in the code and adds a "0,NaN" line to the CSV to indicate a new hang.
- Tare scale button will zero out the sensor after a grip has been hung on it.
- Clicking the Session Name will let you download it.
- "Data" launches a page to view raw data with charts, separated into Hangs.
- "View" gives Duration, Peak Force, Average Force and Standard Deviation for each hang in the session.
- Resume lets you resume a previous session.
- You are able to delete CSV files through the Web UI. (Note: this is irreversible).
- Pre-populated with Repeaters, a version of Eva Lopez' MaxHangz, and Emil Abrahamsson's No Hangs protocols.
- Select the exercise from the drop-down and click the Start Button.
- Timer will beep at each transition between Get Ready, Hang, and Rest.
- The idea is that you'll be able to see differences in your force production over the course of the exercise and compare the same exercise over time.
- For some reason, when the device restarts, you'll need to disconnect from the WiFi network and reconnect. The web UI doesn't like to load if you stay connected for some reason.
- Every time I've tested it, the IP for the server has been 192.168.4.1
- I assume it is the default and it will be the case for you, as well.
- Add instructions for using the Sparkfun sketches for calibration of HX711/Load Sensor to README.
- Add photos to README
- Add one-shot version that has the C++ build the webpages for people who don't want to do SPIFFS upload.
- This won't happen til I'm sure I'm happy with the code, because it will be a pain to modify.