Repository navigation
QMI8658 Arduino Library v1.0.0
π QMI8658 Arduino Library v1.0.0
Initial release of the comprehensive QMI8658 6-axis IMU sensor library for Arduino!
β¨ What's New
- Complete QMI8658 support - Full implementation for 6-axis IMU sensor
- Flexible unit system - Choose between mg/m/sΒ² for acceleration, dps/rad/s for gyroscope
- Precision control - Configurable decimal places (2, 4, 6 digits)
- Multi-platform support - ESP32, Arduino Uno/Nano, RP2040/Pico, and more
- Wake-on-motion - Low-power applications support
- Easy-to-use API - Simple initialization and data reading
π Features
- β 3-axis accelerometer readings
- β 3-axis gyroscope readings
- β Temperature sensor support
- β Configurable measurement ranges and output data rates
- β Multiple unit options (mg/m/sΒ² for accel, dps/rad/s for gyro)
- β I2C communication with custom pin configuration
- β Compatible with ESP32, Arduino, RP2040, and other microcontrollers
π What's Included
- QMI8658 library - Complete source code in
src/folder - Three examples:
QMI8658_Basic- Simple usage with flexible unitsQMI8658_Advanced- Calibration, filtering, orientationQMI8658_WakeOnMotion- Low-power wake-on-motion
- Complete documentation - Detailed README with API reference
- Arduino Library Manager ready - Install via Library Manager
π§ Installation
Method 1: Arduino Library Manager (Recommended)
- Open Arduino IDE
- Go to Tools > Manage Libraries
- Search for "QMI8658"
- Click "Install"
Method 2: Manual Installation
- Download the ZIP file from this release
- In Arduino IDE: Sketch > Include Library > Add .ZIP Library
- Select the downloaded ZIP file
π― Quick Start
#include <QMI8658.h>
QMI8658 imu;
void setup() {
Serial.begin(115200);
if (!imu.begin()) {
Serial.println("Failed to initialize QMI8658!");
while(1);
}
// Configure units and precision
imu.setAccelUnit_mg(true); // Use mg units
imu.setGyroUnit_dps(true); // Use dps units
imu.setDisplayPrecision(6); // 6 decimal places
Serial.println("QMI8658 ready!");
}
void loop() {
QMI8658_Data data;
if (imu.readSensorData(data)) {
imu.printSensorData(data); // Print formatted data
}
delay(100);
}π Bug Reports & Support
If you encounter any issues:
- Check the [README](https://github.com/lahavg/QMI8658-Arduino-Library/blob/main/README.md) for troubleshooting
- Search [existing issues](https://github.com/lahavg/QMI8658-Arduino-Library/issues)
- Create a [new issue](https://github.com/lahavg/QMI8658-Arduino-Library/issues/new) with detailed information
Happy coding with QMI8658! π