LSM6DS33 3D Accelerometer and Gyro Carrier with Voltage Regulator

I have bought myself the following product LSM6DS33 but having difficulty getting it to work. I have followed every tutorial and example, etc perfect but still no luck. My connection is as follow:

LSM6DS33--------------------Arduino UNO
VIN (2.5V - 5.5V) ------------5V

And using Arduino library LSM6.

But having luck. I even tried placing:
LSM6DS33--------------------Arduino UNO
SDA/SDI/SDO----------------Analog 4 (A4)
SCL/SPC----------------------Analog 5 (A5)

As well I have tried placing 10k Ohm Resister as pull-up resister for SDA and SCL but all I receive from Arduino LSM6 library is:
“Failed to detect and initialize IMU!”

But when I upload the I2C Scanner to my Arduino Uno and run it, it picks the LSM6DS33 up at address 0x1E. So that tells me the sensor is connected up correctly.

Hope I can get some help. And thank you in advance!


I am sorry you are having trouble getting started with our LSM6 examples. Can you post pictures that clearly show your connections and soldering joints? The #2736 already has 10k pull-ups to VDD on SDA and SCL, (you can refer to the schematic at the bottom of its product page for more detail) so you do not need to add your own.


Hello Jon.

Thank you for your kind words. Attached is the pictures as you requested.

As well, here is my sample code that I am testing with:

#include <Wire.h>
#include <LSM6.h>

LSM6 imu;

char report[80];

void setup()

  if (!imu.init())
    Serial.println("Failed to detect and initialize IMU!");
    while (1);

void loop()

  snprintf(report, sizeof(report), "A: %6d %6d %6d    G: %6d %6d %6d",
    imu.a.x, imu.a.y, imu.a.z,
    imu.g.x, imu.g.y, imu.g.z);


From your picture, it looks like you are actually using the LIS3MDL 3-Axis Magnetometer Carrier with Voltage Regulator. This also makes sense because its default I2C slave address is 0x1E, which is what your scanner detected. You can use our LIS3MDL Arduino library to get started with that sensor.