I have been carrying the proof-of-concept custom hardware set up (an ESP8266 module (clone of Wemos D1 mini) and an ADXL345 accelerometer module – shown right) up and down the country for a couple of weeks.
I can program it to flash an LED on and off, so the input output is working, but it wouldn’t talk to the ADXL345 accelerometer – I tried adding pull-up resistors, switching which input output line I was using, but to no avail.
So this evening i went back to basics and started with a new ESP8266 board and a new accelerometer module, and wired it on a breadboard so I can probe what is happening easier (see right).
This is a straight connection (no external pull-up resistors etc. Wemos D1 (=GPIO5) connected to SCL, Wemos D2 (=GPIO4) to SDA.
Then I ran a simple i2c scanner, which just looks for a non-error response for every possible address (see source code on Github). With that, I finally get a response….the module is using address 0x53, which is the ALTERNATIVE ADXL345 address, not the primary one I suspect my earlier problems could have been as simple as trying to read the wrong device address rather than wiring issues as I had assumed – Doh!!!