I'm working on a project to make a SmartBall that can detect the velocity(km/h) , spin(degrees per second) and flightpath(trajectory) of the ball using Intel Edison with the 9DOF block (LSM9DS0 : 3-axis accelerometer, 3-axis gyroscope, and 3-axis magnetometer) & the battery block, I'm reading values from the 9DOF block by RTIMULib(Library for IMU chips). I've been working on integrating the acceleration data from the accelorometer to get the velocity then get the position, I know that this method is not really accurate as the integration error cumulate very fast but I rely on that my calculations will be done in a very short time (about 3 seconds) then i re-calculate again from the beginning after every kick so that error doesn't cumulate hardly, Also i only need an acceptable accuracy not a very high one. I discovered then that i'm dealing with projectile motion(ball kicking), so after considering this & searching in projectile motion equations i found that i must know the initial velocity and the angle of projection(theta) to be able to get my requirements. my problem that I don't know how to get any of these , I tried different approaches like getting the horizontal distance & getting the height to get their resultant(using pythagoras) then get the angle(assuming it's a right angle) in a very small time at the beggining of the projection , but i still couldn't get the height. The gyroscope outputs roll, pitch & yaw angles related to the sensor orientation but i'm still not using this as i'm assuming that the sensor will be fixed inside the ball so it's orientation will not be the same as the projection angle.Hope I made it clear , Any help on how to get my requirements is really appreciated, Thanks so much.