

The Fermion 10 DOF IMU Sensor is a highly integrated module that combines four powerful sensors:
This sensor provides comprehensive motion and environmental data, making it ideal for applications such as:
The module communicates via I2C, making it easy to interface with microcontrollers like the Arduino UNO.








| Parameter | Value |
|---|---|
| Supply Voltage | 3.3V to 5V |
| Communication Interface | I2C (default address: 0x68 for ITG3205, 0x53 for ADXL345, etc.) |
| Accelerometer Range | ±2g, ±4g, ±8g, ±16g (configurable) |
| Gyroscope Range | ±250°/s, ±500°/s, ±1000°/s, ±2000°/s (configurable) |
| Magnetometer Range | ±8 Gauss |
| Barometric Pressure Range | 300 hPa to 1100 hPa |
| Operating Temperature Range | -40°C to +85°C |
| Dimensions | 25mm x 25mm |
| Pin | Name | Description |
|---|---|---|
| 1 | VCC | Power supply input (3.3V to 5V) |
| 2 | GND | Ground |
| 3 | SDA | I2C data line |
| 4 | SCL | I2C clock line |
| 5 | INT | Interrupt pin (optional, for motion detection or data-ready signals) |
Wiring:
Install Required Libraries:
Adafruit_Sensor Adafruit_ADXL345 Adafruit_BMP280 Wire.hSample Code:
Below is an example Arduino sketch to read data from the sensor:
#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_ADXL345_U.h>
#include <Adafruit_BMP280.h>
// Create sensor objects
Adafruit_ADXL345_Unified accel = Adafruit_ADXL345_Unified(12345);
Adafruit_BMP280 bmp;
void setup() {
Serial.begin(9600);
Serial.println("Initializing 10 DOF IMU Sensor...");
// Initialize accelerometer
if (!accel.begin()) {
Serial.println("Failed to initialize ADXL345 accelerometer!");
while (1);
}
Serial.println("ADXL345 initialized.");
// Initialize barometric pressure sensor
if (!bmp.begin(0x76)) { // Default I2C address for BMP280
Serial.println("Failed to initialize BMP280!");
while (1);
}
Serial.println("BMP280 initialized.");
}
void loop() {
// Read accelerometer data
sensors_event_t event;
accel.getEvent(&event);
Serial.print("Accel X: "); Serial.print(event.acceleration.x); Serial.print(" m/s^2, ");
Serial.print("Y: "); Serial.print(event.acceleration.y); Serial.print(" m/s^2, ");
Serial.print("Z: "); Serial.print(event.acceleration.z); Serial.println(" m/s^2");
// Read barometric pressure and temperature
Serial.print("Pressure: "); Serial.print(bmp.readPressure()); Serial.println(" Pa");
Serial.print("Temperature: "); Serial.print(bmp.readTemperature()); Serial.println(" °C");
delay(1000); // Wait 1 second before next reading
}
Sensor Not Detected:
Incorrect or No Data:
I2C Communication Errors:
Q: Can I use this sensor with a 3.3V microcontroller?
A: Yes, the sensor is compatible with both 3.3V and 5V systems.
Q: How do I change the accelerometer or gyroscope range?
A: The range can be configured by writing to specific registers in the ADXL345 or ITG3205. Refer to their datasheets for details.
Q: Can I use this sensor for GPS-based navigation?
A: While the sensor provides motion and environmental data, it does not include GPS functionality. However, it can complement a GPS module for navigation systems.
This documentation provides a comprehensive guide to using the Fermion 10 DOF IMU Sensor. For further assistance, refer to the manufacturer's datasheets or community forums.