ESP32S3 RTC-I2C (I2C Ulp periph)

sndrdata
Posts: 1
Joined: Tue Jul 08, 2025 9:01 am

ESP32S3 RTC-I2C (I2C Ulp periph)

Postby sndrdata » Tue Jul 08, 2025 9:17 am

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!

eriksl
Posts: 241
Joined: Thu Dec 14, 2023 3:23 pm
Location: Netherlands

Re: ESP32S3 RTC-I2C (I2C Ulp periph)

Postby eriksl » Mon Jul 21, 2025 10:56 am

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.

Who is online

Users browsing this forum: No registered users and 2 guests