NodeMCU V3 ESP8266 UART Read

Hello, I am trying to read data from an Arduino Uno that is transmitting a JSON string every 50ms at 9600 baud. I have connected the Rx and Tx pins of Arduino to Tx and Rx pins of ESP respectively.
The code I am using is the following:


    let uartNo = 0; // Uart number used for this example
    let rxAcc = ""; // Accumulated Rx data, will be echoed back to Tx
    let value = false;

    // Configure UART at 115200 baud
    UART.setConfig(uartNo, {
      baudRate: 9600

    // Set dispatcher callback, it will be called whenver new Rx data or space in
    // the Tx buffer becomes available
      function(uartNo) {
        let ra = UART.readAvail(uartNo);
        if (ra > 0) {
          // Received new data: print it immediately to the console, and also
          // accumulate in the "rxAcc" variable which will be echoed back to UART later
          let data =;
          print("Received UART data:", data);
          rxAcc += data;

    // Enable Rx
    UART.setRxEnabled(uartNo, true);

But on the console I see just empty lines instead of this {“type”:“response”,“distance”:419,“gas”:1024} which is what Arduino is transmitting.

Any ideas or suggestions??

I am newbie, but what I know the ESP8266 has only 1 usable UART which is used with USB communication.
You can find some useful info here: Using second UART on esp8266