18 Jun OPENBARBELL
OpenBarbell is a cheap, open source device for measuring important information about barbell exercises. The science behind the device is based on decades of well respected research about strength training that isn’t being utilized outside of professional sports, primarily because of the cost prohibitive devices that are available today. OpenBarbell aims to solve that problem by utilizing inexpensive manufacturing techniques along with some clever engineering to make an incredibly accurate bar velocity measuring tool for less than one one-hundredth the price of what is on the market today.
I’ll go into some detail about the ideation and evolution of the project in this post. If you want some info about where it is today, and what velocity based training is, check out our hackaday page. If you’d like to contribute or help the project in any way, feel free to leave a comment on the page or send me an email at email@example.com.
Early on in the process of creating what is now known as OpenBarbell, the implementation was completely different. I had originally imagined it being a completely wireless device. It would have an internal 9-axis IMU (inertial measurement unit), Bluetooth, an Android app, and would clip magnetically onto a barbell. With advanced data filtering and integration, it was possible but required some effort. I started simple with a 3-axis accelerometer, simulink, and a 15 foot USB cable and headed to the lab of my friend Dr. Mike Zourdos, at Florida Atlantic University to run some tests.
You can see on the right two objects attached to the bar. The taught yellow string belongs to a device called a Tendo Unit. They run about $2000 a pop depending on what accessories you want with it and are the de-facto velocity measurement tool in strength science. Next to that you’ll see a breadboard attached with a rubber-band to the bar, and a USB cord dangling by its side. I was able to record data simultaneously from each device to store for later, that way I could iterate my code while feeding in the accelerometer data and compare it to the Tendo Unit’s output.
The results were… poor. The 3-axis was a simple intro to IMU based velocity measurement but accelerometers are pretty terrible for measuring speed. In order to convert between the two, you need to do a discrete integral to the acceleration data and these devices have pretty gnarly drift. If the primary axis changes remotely, the zero moves around due primarily to it’s inability to correct for gyroscopic rotation, and the difference between real zero, and drifty zero gets added in the integration. If you’re thinking a gyroscope may help you would be correct, they are fantastic at measuring angular velocity. Unfortunately they are poor at measuring heading, which is where magnetometers come in. Over the years 9-axis IMU’s have been getting pretty fantastic, so I gave it a try and bought a state of the art IMU with built in sensor fusion co-processor.
The Sentral Motion and Measurement modules were, at the time, the top of the line in 3D position measurement. If you open up a Wii U you’ll find the same surface mount 11mm² circuit board sensing movement data. These weren’t meant for consumers to buy individually, but PNI was kind enough to send me a (not so cheap) sample to build with. Unfortunately it came in a surface mount package, and I didn’t want to solder my expensive new board into a permanent home, so I made a breadboard friendly 3D printed PCB utilizing wire wrapping techniques. It worked like a charm and I was reading bits and bytes in no time.
Meanwhile, during my tinkering with the IMU new offerings were coming to market packed with similar functionality to what I was intending to build. The only one that had exited pre-order, the Push Band, turned out to be less than stellar at consistent velocity measurements. My own testing with the device didn’t exhibit enough consistency to be able to use it for autoregulation, 1 rep max estimation, or even a decent estimator of fatigue. Without more time to work on my own code I wasn’t getting results that were any better.
Realistically, the technology won’t be there for truly accurate position and velocity measurement via IMU for another 5-10 years. I took that realization as an opportunity to pivot the direction of the project. If I made it with inexpensive manufacturing techniques like 3D printing and laser cutting while keeping the accuracy respectable, and the cost way down, it would make a great open source project. The lifting community isn’t traditionally synonymous with microcontrollers and circuit boards but if a small community could come together to create this product and get it into the hands of some enthusiastic early adopters, it may accomplish the goal of making velocity based training accessible.
For the rest of the story, check out the logs at our hackaday page and toss us a skull and leave a comment! We’re about a week or so away from opening the door on OpenBarbell V1.0, but we could use your help! If you have access to a laser cutter or have app designing skills, give us a shout in the comments here or on the hackaday page. Stay strong!