Last update: 250928 20:38:34


Arduino cansat and IMUs

There are many IMU boards to be used with Arduinos, ESP32, Teensy etc

In general they have

  1. An IMU

    1. measuring 3 axis acceleration and gyro (rotation)

  2. A high precision pressure sensor (typical bosch bmp085, bmp180 or bmp285)

  3. A 3 axis magnetometer

  • In principle very elegant and very usefull.

  • In real life beware of clones which have more or less same functionallity

  • Or even fake boards…

GY boards

There exist a number of GY boards - lower number oldest

  • GY-80, GY-87, GY88, GY88A, GY89, GY91, and HW290(avoid ?)

All are based on IMUs from Invensense and Bosch(pressure)

Please notice the different sensors for same functionallity.

This means you need to download the right drivers

GY boardzz

GY-80 GY-87 GY-88 GY-88A GY-91 fake GY-91 HW-290
digital compass 3 axis magnetometer hmc5883L hmc5883L hmc5883L hmc5983 mpu9250 none qmc5883
pressure and temperature bmp085 1 bmp085/180 bmp085/180 bmp180 bmp280 none bmp085
3 axis accelerometer adxl345 mpu6050 mpu6050 mpu6050 mpu9250 MPU6000 mpu6050
3 axis digital gyro l3g4200d mpu6050 mpu6050 mpu6050 mpu9250 MPU6000 mpu6050
schematics schematics schematicsschematics schematics schematics none schematics

Datasheets

look into datasheet folder

Src folder list: here

beware

HW290 is based on on QMC5883 and NOT HMC5883L read here and find the right driver

QMC5883 is a cheap non compatible clone of hmc5883 - b…shit

See here for library - not tested by me - https://github.com/dthain/QMC5883L

Notes:

on the boards with MPU6050 the the hmc5883L accelerometer is located on a secundary I2C bus behind the MPU6050

See snippets code below

See full code here

#include <Wire.h>
#include <MPU6050.h>
#include <hmc5883l.h>
#include <bmp085.h>
#include "I2Cdev.h"

MPU6050 mpu;
hmc5883l compass;

int error;

void setup() {
  ...
  // 2000 degrees pr second max and +/- 16 g max
  mpu.begin(MPU6050_SCALE_2000DPS, MPU6050_RANGE_16G);

  mpu.setI2CBypassEnabled(true); // set bypass mode for gateway to hmc5883L

  // now we can reach hmc5883L
  compass = hmc5883l(); // Construct a new HMC5883 compass.
  ...

See full code here

Drivers

All drivers is a zip file you instal in your Arduino IDE by menu sketch -> include library -> add ZIP library

BEFORE starting install drivers you must install I2Cdev driver (link below)

Extra info

Driver/library SW for Arduino

Src folder list: here

You install the ZIP file libraries as usual:

  1. download library

  2. sketch->Include library/ add .ZIP file

  3. install

Plug in replacement

GY-80 and GY-87 can both be used on the AAU cansat shield version 4.

The GY-80 fills all holes - the GY-87 shall be located most far away from the openlog as shown on image below.

 

AAU cansat shield v 4 with GY-80 / GY-87 attached.