EVAL-ADXL345Z-DB hot from the courier


I recently ordered a EVAL-ADXL345Z-DB from your website.

It came on the courier this morning, however when the device is turned on it is not logging any data to the microSD card.

I have the correct batteries, brand new supplying 2.4V to the board (measured on oscilloscope not just meter)

I have tried updating the firmware to the latest on your website (datalogger_100Hz.hex), the download process works smoothly (interesting I dont see any verify step on your application).

I have probed the SPI_CLK pin to the ADXL345 and there is no activity. My understading is that if the firmware was logging at 100Hz there should be a minimum of at least 300Hz on this pin (one sample per axis)

I have handled the board taking proper ESD precautions.

If there is no SD card present I get a red light.

If there is SD card present I get a green light.

I have attached my file that the card is producing. It seems that every time the unit is powered it is creating the same line, the .csv header but no data follows.

I was hoping this would be straight forward. A little dissapointed today.

Can you offer any help or suggestion?

Keywords: broken, problem, not working, ADXL345, accelerometer

  • Ok, so I am answering my own question here.

    What I found was that the demo that was uploaded for the device was running too fast on I2C to talk with the accelerometer. On the scope there was significant skew on the SDAT pin, I felt it was out of the bound for the I2C protocol. When I checked the datasheet for the ADXL345 it said that I2C fMax was 400kHz. I observed 1.2MHz on the I2C SCLK pin.

    The solution was to download the source code (link provided from ADXL345 product page) and recompile their source.

    I selected 50Hz datalogging. The source was a little confusing, but look for the #defines in datalogger.c. I chose #define RATE_50, and I also removed the

    sleep_mode and power_monitor (//#define power_monitor and //#define sleep_monitor to disable)

    Then I also had to slow the I2C clock down. I did this by changing the following define in xl345_io_bb.c

    int i2cDelayCount;
    #define I2CDELAYLEN 50;
    void I2C_DELAY_M(){
      i2cDelayCount = I2CDELAYLEN;

    Not why there would not be any more posts on this... I surely cant be the first to encounter this.

    Hope this helps someone out there.

  • Hi,

    The purpose of EngineerZone is to provide communities that support developers using ADI Direct Digital Synthesis Products, Amplifiers, Analog Microcontrollers, RF Components, Embedded Processors and DSPs, and Video products.

    We are planning to add communities that cover other ADI products over time, but currently are unable to answer questions about these products, such as the accelerometer you mention, on EngineerZone.  I would suggest submitting your question to the Analog Devices support team in your region.  You can find the appropriate support contact on our website at:




  • 0
    •  Analog Employees 
    on Apr 29, 2019 10:39 AM over 1 year ago
    This question has been closed by the EZ team and is assumed answered.