I have a custom board that consists of two PCBs connected via a 100mm Picoblade connector. The "Aux" board has a USB port, and CP2102N Serial=>USB converter. The "Main" board has an NRF52 moduel (MDBT42Q by Raytac).
I have 5 boards that I successfully flashed with the boot-loader via a JLink programmer. One board after flashing the boot-loader I was able to program ~5 times via USB with Arduino.
Come back a week later, I can not program the original board, nor can I program any of the other 4 boards. My friend is also unable to program the boards using both a Mac and PC.
Investigation: For anyone familiar with this boot-loader, it expects a "softdevice" to be programmed, if one is not found, such as after burning the boot-loader, it starts up in DFU mode, which can be identified by a flashing LED. The "MODE" led on my board is flashing thus indicating the boot-loader is working.
Examining the physical signals on the board, it looks like the RX line is not being pulled to 0V, more like ~1V on a 3.3V logic level. There does appear to be some serial data on it though. Arduino is giving an error:
"Failed to upgrade target. Error is: No data received on serial port. Not able to proceed."
So this seems like it is realistically being caused by the NRF52 not driving the RX line low fully. I tried placing a 22k pull-down resistor from the RX line to ground, and then the CP2102N/NRF52 faults out upon communication and the RX line sits forever at ~1V.
The most frustrating thing is that I have programed one of these board multiple times, and "magically" it no longer works. Since I have 5 boards with the same issue, I find it hard to believe it is local damage like ESD etc.
Any ideas would be much appreciated.