Reading data from AT21CS01 using Arduino

Status
Not open for further replies.

Thread Starter

Ramkishor

Joined Sep 11, 2022
3
I am trying to use the AT21CS01 Chip from the microchip. It's a single-wire memory chip. I am using it for the identification of my device. I am trying to read the data using an Arduino board. Please let me know how to use that chip.
 

DickCappels

Joined Aug 21, 2008
10,661

Attachments

Thread Starter

Ramkishor

Joined Sep 11, 2022
3
This is the waveform I get when I reset the EEPROM.
the EEPROM doesn't drive the S/O pin to low even after the reset command.
 

Ian Rogers

Joined Dec 12, 2012
1,136
That device is weird in such the start signal determines high/ low speed... However! I cant find what these two speeds are.. I'm assuming 400Khz and 100Khz ( the original I2C bus speeds ) You MUST set the I2C to one of these speeds to use this device,

Personnally, I wouldn't I would go for the DS18B20 range as there is FAAAR more support. The D18 can also be parasitic..
 
That device is weird in such the start signal determines high/ low speed... However! I cant find what these two speeds are.. I'm assuming 400Khz and 100Khz ( the original I2C bus speeds ) You MUST set the I2C to one of these speeds to use this device,

Personnally, I wouldn't I would go for the DS18B20 range as there is FAAAR more support. The D18 can also be parasitic..
I tried to use DS18's library but i couldn't even so achieve. I had even used with ChatGPT but it did not work. You are right about I2C bus speeds but AT21CS01 is single-wire EEPROM and freq is approximate 70 kHz as seen in the attachment.
 

Ian Rogers

Joined Dec 12, 2012
1,136
I2C standard is 100Khz.. But that lil device is > 15Khz ( slow ) or > 125Khz ( fast )

I would need one to play with, But I don't.. For the sake of using the SCLK pin, just use standard I2C.. I mean the pin cannot be used for anything else!!
 

Gayaa

Joined Feb 27, 2025
1
This is the waveform I get when I reset the EEPROM.
the EEPROM doesn't drive the S/O pin to low even after the reset command.

I am also working with the AT21CS01 single-wire EEPROM and facing similar challenges in reading data using an Arduino board. Since there isn't an official Arduino library for this chip, I wanted to ask:

  1. Which library or method are you using for communication?
  2. Have you successfully performed read/write operations without an evaluation board?
  3. What specific Arduino board are you using?
From my project, the AT21CS01 requires precise timing for its single-wire communication, and I have been trying to implement it using bit-banging on a GPIO pin but not working. If you have successfully read data from the chip, could you share your approach or any code snippets that worked for you
 
Status
Not open for further replies.
Top