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

Connecting UART Data to development board PCA10040

I am trying to transfer data from a USB to serial converter board (called board A) to the nrf5 board (called board B). I made the connection over a bread board, the transmitter from board A  is connected to pin 06 on board B, it is also at the same time connected to the receive in Board A. I am sending zeros and receiving zeros at board A. I want to see these zeros at board B.

The baud rate on both is adjusted to 19200. The ground is connected on both boards.

I started uart_pca10040 example but I don't get any data received on board B. I tried to connect pin 5 with 7 for CTS and DTR but also I don't see any data.

The data voltage on Board B is 2.1 V.

Parents Reply Children
  • how can I run the external serial port ? these stuff are not clear even there is no example. should I use HWFC?

  • I think you need to go back to the unmodified UART example in the SDK.

    Spend time with the debugger, a terminal, and an oscilloscope exploring that, and understanding how it works.

    Use the oscilloscope to observe the data between the nRF52 to the on-board USB-to-UART.

    Once you have this thoroughly understood, then - and only then - move on to modify that example to talk to a separate USB-to-UART converter.

    Once you have that working, then you can move on to getting 2 boards to talk to each other.

  • I made this. But when i change the pins, nothing is getting into action. I can not disable the on board usb to uart and input external serial data. It seems that the pins need to be changed in many places. I need help or a step by step to solve it. I am now 3 days on it.

  • i have been working with this issue now 1 week, and investigated many things, but i can not input data externally. I need  a step by step guide. Guys, if you made it previously, please assist me how to do it.  I changed the pin assignments for RX and TX but it does not make any change

  • Lets rephrase my question. I have the following simple code in the main, based on ble_app_uart. it initializes the uart and writes data to it. First i see UART started on the terminal. Second i want to see these bits. When i connect a led to pin 23 which i used for Tx, i don't see any thing.

        uint32_t                     err_code;
        app_uart_comm_params_t const comm_params =
        {
            .rx_pin_no    = RX_PIN_NUMBER,
            .tx_pin_no    = SER_CON_TX_PIN, //TX_PIN_NUMBER,
            .rts_pin_no   = RTS_PIN_NUMBER,
            .cts_pin_no   = CTS_PIN_NUMBER,
            .flow_control = APP_UART_FLOW_CONTROL_DISABLED,
            .use_parity   = false,
    #if defined (UART_PRESENT)
            .baud_rate    = NRF_UART_BAUDRATE_115200
    #else
            .baud_rate    = NRF_UARTE_BAUDRATE_115200
    #endif
        };


    int main(void) { uart_init(); printf("\r\nUART started.\r\n"); for (;;) { idle_state_handle(); uint32_t err_code = app_uart_put(255); if ((err_code != NRF_SUCCESS) && (err_code != NRF_ERROR_BUSY)) { NRF_LOG_ERROR("Failed receiving NUS message. Error 0x%x. ", err_code); APP_ERROR_CHECK(err_code); } else { NRF_LOG_ERROR("received data"); } } }
Related