some time ago I bought an Inertial Measurement Unit (IMU), to be precise I bought the MinIMU-9 developed by Pololu. (The link in case you need it) It's small, cheap and provides gyro, accelerometer and compass readings, each in 3D. It is perfect for implementing an Attitude and Heading Reference System (AHRS), very important if you want to control a RC plane, drone or other robots.
Luckyly, Pololu provides a complete software suite for the arduino, including the libraries for each sensor as well as a sample implementation for a AHRS, based on a Direction Cosine Matrix (DCM) approach. As I have close to no understanding of the theory behind this, I am very happy that the algorithm prints the roll, pitch, yaw angles to the serial interface ready for me to use!
No drifts, little noise (I need to take a close look there), simple as that!
this morning I read about something really crazy you can do in C++ which involves bitshifting a float number and subtracting it from a magic number to get . You can find the explanation here, very cool: link
for my first post that actually contains content, I would like to show you what I use as a cheap and small GPS device.
GPS devices can be found in a lot of different devices, like mobile phones, cars and security devices. One class of such security devices are GPS -Tracker. GPS-Tracker constantly register their position and send the information to a previously specified user via eMail or SMS. I bought this tracker (for ~60€) that sends a SMS with the current position as a reply to a request SMS coming from me. The initial idea was to get the position of a RC plane in case its lost or to track the position of my cat