AnsweredAssumed Answered

How to "reset" Ntag i2c address?

Question asked by Jeffrey Chan on Apr 23, 2017
Latest reply on Dec 1, 2017 by Gonzalo de la Vega

Hi!

 

I've somehow managed to change the i2c address of my "Ntag i2c" chip from 0x55 to 0x2A.

 

I've tried several different writes to the chip and and verified that all ACKs from the slave are provided, but have not been able to get the chip to subsequently slave on 0x55.

 

Here's some byte array's I've sent to I2c Address 0x2A (Write mode) with the hopes of targeting block 0 byte 0:

uint8_t fix[17] = {0x00, 0x55,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x01,0x02,0x03,0x04};

uint8_t fix[17] = {0x00, 0x55,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00};

uint8_t fix[2] = {0x00, 0x55}

 

And just in case we get right shifted:

uint8_t fix[17] = {0x00, 0xAA,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x01,0x02,0x03,0x04};

uint8_t fix[17] = {0x00, 0xAA,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00};

uint8_t fix[2] = {0x00, 0xAA}

 

Of course, I've also tried just for fun to reset to a totally different address 

uint8_t fix[17] = {0x00, 0x0F,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x01,0x02,0x03,0x04};

uint8_t fix[17] = {0x00, 0x0F,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00};

uint8_t fix[2] = {0x00, 0x0F}

 

But none of the above seem to work.

Nothing else is on the i2c bus.

I've confirmed all static lock bytes and dynamic lock bytes are 0

 

Can you think of anything else I should consider?

 

Thanks!

Outcomes