• Current: Integrating Kalman filter.
  • Current: Improving communication between IMU and Simulink.
  • 2008/03/26 - Sample data acquisition and bluetooth distance benchmarking.
  • 2008/03/17 - Working to improve connection between MATLAB and IMU.
  • 2008/03/07 - Studying Kalman filter mathematics and implementation.
  • 2008/03/05 - SparkFun 6-DOF IMU v2 acquired.
  • 2008/02/12 - Introductory meeting with football-r-us research group.



By embedding an inertial motion unit inside a football we will be able to record the ball's path throughout a play. With no frame of reference we will have to record acceleration and tilt data for all three axis. This data will be relayed to a computer via Bluetooth where the ball's path can be calculated and visualized.


Today, the accuracy with which the position with which a football is spotted is dependent upon the referee's judgement. Using our prototype, the human error associated with this type of measurement would be mitigated. This project will allow for fast and reliable data that can be used to precisely mark the position of the football.


first and ten

'1st and Ten Line' by sportvision

This is the yellow line that is commonly seen during all NFL football games. It costs $30,000 per game to provide this line.

first and ten

'Pass Track' and 'Kick Track' by sportvision

These products accurately depict the position of the football during flight.

Virtual First Down Line by Princeton Video Image, Inc.

Identical to the "1st and Ten Line" presented by SportVision, except this product needs a $300,000 laser system to be installed at every venue.





Linking the blocks together. Orientation block. Acceleration block. Position block.


  • Maintaining original characters of the football despite added weight/components.
  • Obtaining accurate positioning after integrating acceleration, velocity, and rotations.
  • Overcoming the high power consumption and limited range of Bluetooth communication.
  • Designing a power supply that reduces overall weight and size while maingaining operability over time.
  • Creating a safe and rugged device that can withstand the rigor and physical demands of football.

test cases

In order to evaluate progress and the effectiness of our design, it is necessary to create benchmarks that directly compare the most relevant aspects of our progress that we can observe over time. Fortunately, our particular project has the benefit of being highly observable in the real world - we may precisely calculate the distance, path, and speed of the ball as it moves in the physical world - and compare it to our device output to obtain a percentage error.

  • Test Type:Speed Calibration Test
  • Purpose:Estimate the difference between the observed velocity of the ball as it travels along a particular path and then allow for error correction in our position algorithm.
  • Procedure:Beginning in a stopped position, travel along a path in one axis only for 10 meters at each of the following speeds consecutively: 5 kmh, 10 kmh, and 20 kmh. Then, run the output data through Kalman filtering and MATLAB integration to calculate points of error along the path and overall drift. Then, repeat for each of the three axes.
  • Target Goal:Less than 10% error in estimating ball velocity.
  • Test Type:Ball Passing Test
  • Purpose:Develop a metric to create appropriate threshold values for determining when a ball is being thrown, when it is in the air, and when the ball has finally been caught or reached the end of its flight trajectory.
  • Procedure:Repeatedly record IMU output from a ball starting motionless, thrown at a variety of different velocities and initial angles, in the air for 10 meters, and then caught. Then, plot the data to create confidence intervals for the "throw" and "catch" events. Compare the results from actual recorded results of the amount of time the ball spent travelling in the air.
  • Target Goal:Less than 10% error in determining the hang time of the ball.
  • Test Type:Ball Trajectory Test
  • Purpose:Create an ultimate benchmark to test the ability of our software to plot the path of a moving ball and determine its final position. This requires incorporation of all three accelerometers and all three gyroscopes in order to effectively determine the movspanent of the ball over time.
  • Procedure:Repeatedly record IMU output from a ball starting motionless, thrown at a variety of different velocities and initial angles, varying the distance and path taken until caught. Then, compare the actual data measured on the field to the observed resulting output from MATLAB-implspanented algorithms. Compute the percentage error accumulated over the individual passes and use this procedure to allow benchmarking of the positioning algorithm as it is expanded and optimized over time.
  • Target Goal:Less than 25% error in determining final position of the ball.

use cases

Normal Operation

Poor/Dropped Signal Operation

In the event of poor signal, store data on the device temporarily until within range of the computer, then transfer all of the recorded flight path, as much as possible.

Low Battery

In the event of low battery, the data stream on the IMU will notify the user of low battery, and then either manually shut down the device, and if not, automatically stop streaming and operate with sensors turned off (low-power op).



Our hardware supplier. The pre-built IMU we purchased off of them is the second in an ever-evolving line of IMUs.

football engineering @ carnegie mellon