Nicla Voice: Unable to transmit data using UART

I am experiencing an issue with UART communication using the Nicla Voice. I was able to receive data via the RX pin, but I am unable to transmit data. Seems like an issue with TX pin. Here is the code I am using to transmit data:

#include "Nicla_System.h"
#include "NDP.h"
#include <Arduino.h>

void setup() {
  nicla::begin();
  nicla::leds.begin();
  Serial1.begin(57600); // Initialize Serial1 for communication
}

void loop() {
  Serial1.write("Hello World");

  nicla::leds.setColor(green);
  delay(200);
  nicla::leds.setColor(off);

  // Wait for 5 seconds before sending the next message
  delay(5000);
}

Has anyone been able to get this working with a Nicla product? Is there a chance the board is defective? I have tried the suggestions found at the following link with no luck as well: https://forum.arduino.cc/t/serial-communication-between-nicla-vision-and-uno-not-working/1134407/12

Hi @colestanfield ,

Please check if the wiring matches the pinout of the Nicla Voice, as shown here: https://docs.arduino.cc/resources/pinouts/ABX00061-full-pinout.pdf

You can also use the following sketch to test UART communication:

#include "Nicla_System.h"
void setup()
{
  nicla::begin();
  Serial1.begin(9600);
}
void loop() {
Serial1.println("Hello world!");
delay(2000);
}

Best,

I was able to get it working and wanted to provide the solution.

I had an oversight in my circuit - I was using 2 different power sources for my receiver device (TTL Bridge) and transmitting device (Nicla Voice). I started receiving garbage data after adding a couple pull-up resistors which made me realize the UART RX/TX pins were floating. From there, I connected the TTL Bridge to the VDDIO_EXT (3V3) of the Nicla Voice and everything now works flawlessly.

1 Like