AS5048B Zero angle Burn issue

Hi,
I am using the AS5048B magnetic encoder in my project. I am using this code for my project which provides the function "doProgZero" to program the zero position permanently and burn the one time fuse. The encoder actually uses an OTP to fix the zero position but I am facing the problem that once I run the code temporarily zero position gets set but when I restart the system it forgets the zero position. The link for the product is AS5048B

I am using the encoder in 5V mode and the correct capacitors are already hooked.

Have you checked if that code actually follows the procedure described on page 28 of the datasheet: https://ams.com/documents/20143/36005/AS5048_DS000298_4-00.pdf/910aef1f-6cd3-cbda-9d09-41f152104832

From what I can see it omits the initial steps, and fails to verify (which is mandatory according to the datasheet, i.e. its possible this will fail and have to be retried).

You should also check your hardware conforms to the requirements on page28 for burning fuses.

For the initial steps, I am calling "setZeroReg" function before the programming function.

I couldn't understand what you meant by failing to verify. It is setting the verify register.

I have tried it multiple times even in the loop too but in vain.

My setup does comply with the hardware specifications mentioned.

Verify means you read back to check it reads as zero after burning - if it doesn't, the fuse didn't blow.

Perhaps its already blown fuses to a different setting?

Its probably easier to use this device by ignoring this facility and storing the calibration in EEPROM?

You are right, the fuse already blew to some configuration. I took a new IC and programmed it, it worked well which led me to conclude that the fuse on my previous IC blew to some other configuration while me testing its features. one thing I noticed that if you provide wrong voltages to the IC or try to experiment with it, the initial set zero may change to some other value. So you need to be very careful while working with it.

Thank you for the help.