Sounds like you are calibrating near metal... Like I B Spectre stated...
Here's how I calibrate.
- Remove any watches, metal objects from your person. (yes even your belt buckle and that change in your pocket)
- Invest in an OTG cable so you dont need to use wifi between the controller and your phone. (you can do this later, there are other benefits)
- Take the Spark and your smartphone out to an open clear area away from all structures/paving/concrete. Turn off blutooth and cellular networks on your phone.
- If you have a wife/partner, show them how to run the calibration process and have them stand about 20 feet away, and call out the instructions to you. If you dont have that luxury of a helper, then you will need to keep the phone closer.
Once you've completed that, do an IMU calibration on a very flat and level surface, like your dining room table...
Go back outside, check your sensor status, (compas and IMU) making sure they are both showing Green... and then take off in that same clear space you used, and your troubles should be over! Anywhere you choose to fly, make sure you have good distance from metal.