This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

TWI stops working

I have a rather strange issue.

I developed an application on the nrf52832 which amongst other, communicates with an ST Micro accelerometer LIS2DE12. The application works fine under normal circumstances.

I then added the DFU feature. The process is quite simple, program the DFU bootloader and then added code in my application to call the bootloader when a button is held down for a period.

After programming the booloader to a production PCB and then loading my application, TWI stops working. No matter what I do, the twi_handler does not get called after any transaction thereafter. If I remove the code that uses TWI then everything still works normally. However its seems as if the TWI feature is permanently broken.

If I take a new production PCB and simply run the application that uses the accelerometer, it all works fine. If however thereafter I erase the chip and program the bootloader and my application, it breaks the TWI feature permanently.

I have a number of PCBs with this fault. I have replaced the accelerometer on some, but the TWI feature is still broken.

Maybe in the process of erasing the chip and then programming the bootloader, something is affected that destroys the TWI feature.

I know this sounds crazy, but I can reproduce this fault - only problem is that I have then bricked the nrf52832.

Is there anything I can try to unbrick these devices. I use the Raytac nrf52832 module.

Parents Reply
  • I checked on the pins. I use P0.09 for SCL and P0.08 for SDA. The SCL line is static at 1 volt. I have an identical design but using pins P0.03 for SCL and P0.04 for SDA. This board does not exhibit the issue. Also, If I test a board that has not had the bootloader programmed before, it works on P0.08 and P0.09.

    I am going to give up on this issue, scrap the PCBs we have and do a new layout using P0.03 and P0.04.

Children
Related