Please see all COVID-19 updates here as some shipments may be delayed due to CDC safety and staffing guidelines. If you have an order or shipping question please refer to our Customer Support page. For technical questions please check out our Forums. Thank you for your continued support.

Member #440034

Member Since: May 22, 2013

Country: United States

  • I have been working with one of these for a while now and I have a few comments. The firmware it ships with and the firmware in the google code website for the V3 was not correct, it has an incorrect scaling factor for the accelerometer. The HMC-5883L magnetometer has two modes of reading outputs; continuous mode and single measurement mode. In continuous mode a max of 75 Hz output data rate is achievable, but with the single measurement mode an output data rate of 160 Hz is achievable. The arduino firware uses continuous mode. I have chosen to use atmel studio to program this board because debugging/changing arduino code in the old arduino IDE (this board only uses the old IDE apparently) is a nightmare.

    This board has the capability of giving 3 gyro readings, 3 accelerometer readings, a temp reading from the MPU-6000 for correct gyro scaling, three magnetometer readings and gps capability. It is well known that the best way to combine all this data is through quaternions with an Extended Kalman Filter (EKF) to avoid singularities at 90 degree pitch and to get an accurate estimate of the orientation/position without the integral drift effect. Now, with all this said, the board ships with an 8-bit 16Mhz atmega328p MCU!! I have tried at great length to implement a quaternion based EKF at 100Hz output rate (which is required to stabilise an inherently very unstable helicopter) but have so far failed on this chip, it is just too slow. I have now resorted to using the atmega328p for gathering the raw data from the sensors and sending it all to a much faster board for processing.

    Therefore if you looking for something that is able to give you accurate, singularity free orientation/position estimates at fast update rates, then I don't recommend this board. If next generations of this board are board shipped with more powerful MCUs that are capable of these types of calculations then they would be a great development board and an amazing way to learn industry standard sensor fusion algorithms.

    Another thing is that all on board sensors need calibration before use. I highly recommend using this guide: http://www.st.com/web/en/resource/technical/document/application_note/CD00269797.pdf and this guide: http://www.adafruit.com/datasheets/STMEMS.pdf (both from ST micro) to help with that. This is where you find out what offsets and scaling factors are.

No public wish lists :(