UART Communication Between CP2102N, nRF52840-DK, and ADuCM355

I initially tried communicating between the nRF52840-DK and an Adafruit CP2102N - USB to Serial Converter to ensure the peripheral_uart example code on the nRF Connect SDK was working as intended. The pins for UART are P0.08 for Rx and P0.06 for Tx. This works fine sending data via bluetooth and having it printed through the terminal with the Rx and Tx pins connected to the CP2102N, and vice versa (sending data from the terminal to the CP2102N and forwarding over UART to the nRF52840-DK and receiving it on my phone via bluetooth).

However, when I connect the nRF52840-DK to a custom PCB which is using an ADuCM355, the PCB is unable to receive data over UART (data transmitted over bluetooth, forwarded through the Tx pin of the nRF52840-DK and received over the Rx pin of the PCB). On the other hand, I am able to receive data from the PCB (data sent through the Tx pin of the PCB  to the nRF52840-DK Rx pin and sent to my phone via bluetooth). I have also tested UART communication with the PCB and CP2102N and that works as intended.

The intended function is for the PCB to receive a character(s) over UART and then perform a test/function based on the character(s) and values received.

I confirmed the PCB was capable of sending data to the nRF52840 by changing the firmware to constantly output data.

With the CP2102N, the 3V pin is used to power the PCB, but when I connect the PCB to the nRF52840, I have tried both connecting it directly with the DK's 5V output, and with a voltage regulator to bring the voltage down to 3.3V.

I am unsure whether there is an issue with the voltages being provided or if there is some other underlying software issue, such as the data format outputted/inputted since each device is confirmed to work but when integrated together, UART is no longer fully functional. Additionally, I am wondering if it is possible to change the output voltage of the DK to 3V to eliminate the need for an external voltage regulator.

  • Hi

    From what I can tell, this must be an issue with the custom PCB. The custom board does not use an nRF device at all, is that it? If so, what we can provide in terms of support is a bit limited, since it seems pretty clear that the UART protocol and forwarding on the nRF52840 DK is working as intended, and that the custom board just isn't receiving the UART data correctly. To confirm this, you could use a logic analyzer on the P0.06 and P0.08 to see that the expected data is flowing between the devices.

    Things you can check is the clock/oscillators on your custom board, if they are tuned and run at the expected frequencies, and that the baud rate is the same as on the nRF52840 DK (115200 by default). 

    Best regards,

    Simon

Related