Hi there,
We are having issues with our boards that uses nrf52832 chip. Our first built had this chip and everything was working fine. We built a second batch and all boards in this new build are having the same issue, I2C gets stuck in this loop.
while (!nrf_twim_event_check(p_twim, evt_to_wait)) { if (nrf_twim_event_check(p_twim, NRF_TWIM_EVENT_ERROR)) { NRF_LOG_DEBUG("TWIM: Event: %s.\r\n", (uint32_t)EVT_TO_STR_TWIM(NRF_TWIM_EVENT_ERROR)); nrf_twim_event_clear(p_twim, NRF_TWIM_EVENT_ERROR); nrf_twim_task_trigger(p_twim, NRF_TWIM_TASK_RESUME); nrf_twim_task_trigger(p_twim, NRF_TWIM_TASK_STOP); evt_to_wait = NRF_TWIM_EVENT_STOPPED; } }
We first thought it was the PCB issue but finally narrowed it down to pin 12 and 11 is causing some issues. Pin 12 is giving a voltage of 3.0V when high whereas all other GPIOs of the nrf 52 outputs 3.3V when high. For some reason pin 12 is affecting pin 11. Pin 11 for us was assigned as SCL for I2C. When we have Pin 12 connected (which is just an enable line to a regulator) it caused Pin 11 to go down to a voltage of 2.9V- 3V affecting our I2C communication. We did a manual rework and stopped using those pins, we reassign the pin 11 and 12 to pin 38 and pin 39 and it works.
We took off the chip from the first build and soldered it onto the new build and the board functions fine. This led us to think that there is something wrong with the batch of chips on the second build. Has anyone else experience this issue? Any help will be much appreciated.