This is a summary of the operations that are done to use the LIS3DH. 8-bit I2C address is 0x30. To configure the device, put values in these two registers. Write to the CTRL_REG1 control register (0x20) a byte of 0x27: bits 7:4 (ODR3-ODR0) set to 0010 (Normal, 10Hz) bit 3 (LPen) = 0 (Normal power mode) bits 2:1 (Zen, Yen, Xen) set to 111 (enable all three axises) Write to the CTRL_REG4 control register (0x23) a byte of 0x88; bit 7 (BDU) set to 1 (block data update enabled) bit 6 (BLE) clear to 0 (LSB at lower address) bits 5:4 (FS1, FS0) clear to 0 (+/- 2G range) bit 3 (HR) set to 1 (high resolution enable) bits 2:1 (ST1, ST0) clear to 0 (self test disabled) bit 0 (SIM) clear to 0 (SPI mode = 4 wire) To read results, first read one byte from the STATUS_REG (0x27). If bit 3 (ZYXDA) is a zero there is no data to be read. If it's a one then read six bytes starting at register OUT_X_L (0x28). This will read two bytes of data for X, Y, and Z. 0x28 = low 8-bits of X 0x29 = high 8 bits of X 0x2a = low 8-bits of Y 0x2b = high 8 bits of Y 0x2c = low 8-bits of Z 0x2d = high 8 bits of Z