Barbell Trainer XTreme is the perfect device for any gym enthusiast who wants to learn how to lift correctly. Barbell Trainer XTreme is a low cost, highly successful device that you can attach onto your barbell. It will measure your form as you lift and beep to indicate to you if your bar is uneven.

Barbell Trainer XTreme uses the cutting-edge technology of the Arduino to do this. It uses an Arduino placed on each edge of the bar. Using an accelerators that are wired onto it and bluetooth modules to communicate, it finds the differences in your acceleration on each side and then compares them. If it is over a certain threshold, it will indicate to you that you are uneven. It has three different modes in can measure in so it works for a variety of barbell lifts.


Barbell Trainer XTreme was invented with a simple purpose in mind: to help make college students healthier. As students get deeper into their college lives, many begin going to the gym to help stay in shape. When going to the weight room, as many individuals have never received formal training in how to lift correctly, they display incorrect form. Lifting with poor form long-term can cause serious injury. Barbell Trainer Xtreme serves to help correct a lifter's form. In particular, it focuses on correcting the form of barbell Lifts such as bench press.

Addressing the Problem

The most common error in barbell lifts are those in which the bar is raised unevenly. To help measure and correct a lifter's form, this product uses two separate Arduinos placed at the edge of each barbell. Each Arduino has an accelerometer and a battery pack attached two. The two devices communicate via bluetooth with each other and run separate codes written in the Arduino script form. Each Arduino is wired with a breadboard shield attachment to help keep the device compact.

How it Works

When the Arduinos are powered and attached to the edge of the bar, they each take a reading in either the x,y,z direction (depending on which version of the code is set to run). Readings are taken every quarter second The module that contains the master-component of the bluetooth takes it's reading and sends it to the slave-receiver on the other module. The slave then compares the reading to the reading on it's accelerometer. If the reading is over a certain threshold, it then powers the speaker to beep to indicate to the lifter that the bar is uneven. If it is below the threshold, the speaker does not beep. (See code files within submission)

The Arduinos are placed at the edges of the bar as it is the location furthest from the center of mass of the bar. This is the spot on the bar that will experience the most rotation as the distance from the center is greatest. The rotation is measured as acceleration and a large enough differences in acceleration show that the lifter is lifting the bar unevenly. The threshold calibration can be changed within the code by changing the minimum z difference to adjust the sensitivity of the bar.

A video of the technical demonstration and demo can be viewed in the link below.

Future Plans

When using heavier weights on a barbell, it is important to clip the weights so they do not slide. Barbell Trainer XTreme will be attached to a clip to allow it to slide onto the bar easily and so it does not look out of place at the gym. Each clip will weight 2.5lbs so the user can account for the devices weight when placing weights on the barbell.

Share this project: