We were originally inspired by recent studies showing that when lifting high weights, such as when doing heavy bench sets, better strength and hypertrophy gains were made by pushing the bar up as fast as possible. We wanted to develop an inexpensive system to record how fast a lifter pushed the bar up and compare this speed across reps and sets.

What it does

The Smart Bar is a prototype IoT barbell that has the potential to enhance your workout through the magic of data analytics. Using a gyroscope and an accelerometer the smart bar can automatically count your reps, display rep speed, and make sure your strength is symmetrical. The Smart Bar has an accompanying Android app and access to a website for in-depth analysis.

Software Components

AWS server running Python backend using the flask framework and a PostgreSQL database C script running on the Arduino 101 Python script running on the Raspberry Pi Android App programmed in Java

Hardware Components

Broom Raspberry Pi 3 Arduino 101 Android Phone

Challenges we ran into

We found out at around 11 pm on Saturday (2/3 of our time gone) that the accelerometers we had on each end of the bar connected to 2 arduino's were unusable for our purposes. So we changed to a single Arduino in the middle of the bar, rewrote our Arduino code, rewrote our python script on the Pi, and luckily found the Arduino 101 sensors to be perfect for our use case.

We also spent a fair amount of time simply troubleshooting hardware.

Accomplishments that we're proud of

We're pretty sure we had to at some point restart the development of every single component of our project. We're extremely proud that at no point did we consider giving up.

What we learned

The main completely new thing we learned is how to develop an android application, something none of us had done before.

What's next for SmartBar

We're looking into shrinking the system down to a more useful form factor such as building the system into bar clips. We would also like to provide the recorded data for download and add some more features such as bar velocity.

Share this project: