A device to count pull ups per day, week and month using an ultrasonic ditance sensor. It is based on an ESP32 Dev Module, an ultrasonic sensor and an OLED display enclosed in an 3D printed case.
The device connects to wifi on boot to get the currunt time. The pull up counts per day, week and month are saved on the EEPROM to survive a shutdown. Everyday at 4am the daily counter is reset. At 8pm the display is white (with black text) until you reach your daily goal of 10 pull ups. Only after that the display can time out and gets black (with white text). To still see your currunt counts in that case you can move a hand infront of the sensor in a distance between 80 and 30 cm so it is not counted as a pull up. All this parameters can be changed in the first lines of the arduino code in "pull-up-counter.ino".
The STL files for the 3D printed case "upper-case.stl" and "lower-case.stl" can be found in the repository. The diameter of the pull up bar in this case is 65.4 mm. If you want to change it, you can copy my project from oneshape and edit the radius in sketch 3. After printing you need to insert 4 threaded M3 inserts in the upper case usng a soldering iron. You also need 4 M3 screws. The electronic componants can be fixated using hotglue in the corners.
before uploading the arduino code you need to cerate a file called "secrets.h" containig your wifi credentials in the following format:
#define SSID "YOURSSID"
#define PASSWORD "YOURPASSWORD"
Furthermore you may need to edit
#define TIME_ZONE "CET-1CEST,M3.5.0/02,M10.5.0/03"
in the "pull-up-counter.ino" to match your region format.