Post Go back to editing

AD74412RBCPZ unable to communicate with arduino(SPI)

I have being trying to communicate with AD74412 with SPI using arduino and STM32h723 development board no matter how hard I tried I am unable to receive any data from that AD74412 IC.

Datasheet says first we have to clear Alert status register bits and i did and in order to read something i have to use Readback select register and I am doing everything according to the datasheet I am not receiving any data at the output. And this sensor i cannot simply send dummy clocks and get the data it requires me to write the address of the register which i want to read inn Readselect register.

Is there something else I am missing here the PC based software seems to work fine but when i use arduino noting happens.

Kindly help me I am working some important project and also if there any library files available please so share me. I will be off loaded.

  • Hi Ankit,

    Can you please check if the Reset pin is pulled high in your setup? The GUI takes care of this as there is no pullup on the evaluation board. 



  • you are right the reset was one of the issue after doing everything i found reset is not pulled high after  fixing that problem by pulling it up with 3K resistor I tries running the same program again but still it didn't work. and the Alert_pin is always low. and before fixing the reset issue it was always high. That makes things too hard i have no idea what's going i expect the alert pin to get low only when I make a CRC error. or some error while sending data but instead its always low.

  • Thanks for your time the real culprit was IC (may be), we changed the IC and now its working fine.

    I will deal with the old IC later. but now I am running into another problem in voltage output mode I am getting 4.7 volt as output where as datasheet says 11v.

    should I continue here or I should Raise this as another Q&A discussion for this vout problem.

    how to close this discussion since SPI communication was successfully implemented.

    I will try to share a library file to control this IC on GITHUB will ADI give me gift for writing a library?  

  • Hi Ankit,

    I believe you can "Verify Answer" or "Suggest as Answer" in in the options under the "more" button. I don't think you need to close the conversation.

    If you like, you can paste your DAC question into a new question and we can follow it there. 

    In the meantime, have you made any progress with this issue? Can you confirm 

    • what is loaded to the CH_FUNC_SETUP register for the channel of interest (addresses 0x01 to 0x04).
    • what code is loaded to the DAC_CODE register for the channel of interest? (addresses 0x16 to 0x19).
    • what is connected between the I/OP and I/ON screw terminals?
    • have any alerts been triggered? (Read the ALERT_STATUS register, address 0x2E)



  • Everything works fine with STM32 I checked everything Except for (Digital input, loop powered modes) till now everything works fine.

    I used both voltage output and current output by loading values inside DAC_CODE for all channels everything was perfect and even I can program it to get up to 25 mA.

    I connected RTD and even the LSB bits of ADC were stable this never happened with STM boards Sigma-Delta ADC is really a good.

    Everything was according to the datasheet Reset error and charge pump error. But I also saw CRC error CLK count (but was my fault only).

    I do had one problem actually two:

    problem 1:

          While using the module in current input mode a manual reset(while the current inputs are still connected) it makes the specific channel ADC misbehave the open circuit voltage of my current source is 21 volt I believe this high voltage manages to disturb the ADC and causes saturation errors too. because after reset channel enters high impedance mode. may be this IC is not made to handle 21 volt at channel input i saw 11 volt as max in datasheet pls let me know what could be the solution.

    problem 2:

    when I started working with arduino it worked as expected but then something terrible happened IC blew up after seeing the data sheet I found I am supposed to power the IC by connect GND first and then Vcc (for AVDD). but instead I connected Vcc first and my circuit blew up(NOTE: there was no polarity error). well I can not say its totally ADI fault our office made some changes to power supply section because of that I have to provide external 5v for LDO and 24 volt for AVDD. No fabricator is so dumb to do that so I think the external 5 volt somehow managed to blow the IC and now I feel my office engineers are too smart that there made me blow up the IC twice even last time the same fault happened and because of that I spent a weak exploding my head. but this time I saw spark which IC blew up.

  • Hello Ankit,
    I'm trying to connect the AD74413R (AD-SWIO 2 Click ) to an STM32F4, I want to configure one of the channels as voltage input or current input, I'm interested in how I can setup the module and read data from it. Can you help me please? Thank you. 

  •   Hello Ankit,

    I tried to read the ALERT_STATUS register, but the result is as the figure below mentions, what could be the problem ? I have another question, why did you write 0x27 in the 8-bit CRC ? Thank you. 

  • For the second part of your question, 0x27 is CRC-8 for 0x41002e, you can generate it using code or

  • Hi

    0x27 is the CRC-8 for 0x41002e. You can generate it using code or

  • Hi, 

    I have tried the same as you did a week ago and I got the same result. 

    By the way, I think the driver that is available for download has a bug in the CRC calculation function : for the frame you have sent 0x27 is the correct CRC but if you calculate the frame's CRC with the code available in the library it gives a different result. I have substituted that function with the oneI use to calculate the CRC for AD4111 ADC ( which uses the same polynomial ) and it gives the correct CRC of 0x27 for that frame.

  • Hello,

    Did you calculate the CRC with BA_CRC? 


  • Yes, BA_CRC is the function I was talking about.

Reply Children