Page 1 of 1

ESP32S3 RTC-I2C (I2C Ulp periph)

Posted: Tue Jul 08, 2025 9:17 am
by sndrdata
Hi,

I'm working with an ESP32S3 and an ST25R3916 NFC reader, and trying to get the NFC reader to work with the RTC-I2C peripheral.

RTC-I2C peripheral has a hardware bug with required subregisters that I'm trying to work around. To get ST25 "direct commands" (single byte writes) to work I set those as the subregister and send along a dummy byte, which appears to work for some of the commands at least.

However, I can't find a way through the IDF to read registers of the ST25 when the registers require an extra access byte. For instance, to do a register read for a reg from register space B requires sending Slave_address + SpaceB byte + subregister. The RTC-I2C read function doesn't appear to offer a way to insert the extra byte.

Would it be possible if I made a new rtc-i2c read function that does an extra byte write before read? Or is the set of commands it executes fixed like it is in the current rtc-i2c read function?

I'm suspecting the latter but would like a confirmation.

Thanks in advance!

Re: ESP32S3 RTC-I2C (I2C Ulp periph)

Posted: Mon Jul 21, 2025 10:56 am
by eriksl
I am facing similar problems and no, I am afraid it's a hardware limitation. The ULP I2C module has been simplified just a tad too much to make it really useful. Many I2C IC's simply don't use the concept of just write-register-value and read-register.