I’m trying to send a character message from an arduino uno to an esplora by connecting their usb ports together. The esplora has a micro usb port, while the uno uses a usb B port. To hooked them up, I connected a micro usb to usb A cable to a usb A to usb B cable using a female to female usb A connector. I even hooked up the uno and esplora grounds together. But the two boards just don’t seem to communicate. Ordinarily when hooking up the esplora to my computer, the tx light flashes whenever sending the message and the message appears as expected on the serial monitor. I’ve also tested sending character messages from the computer to the uno and they seem to be read as expected. But when connecting the esplora to the uno without going through the computer, those tx lights on the esplora do not seem light up at all and the uno rx lights don’t flash either.

Any idea what could be the issue here?

1 Answer 1


It will not work. USB communication is master/slave. There must be a 'host' and a 'device'. Uno and Esplora are two 'devices'.

Connect the boards over TTL Serial. Wire Rx and TX pins together, TX to RX and RX to TX. And ground of course.

Serial on Esplora is the USB interface. In 'core' I see the Esplora has a second serial interface called Serial1. According to schematics, the RX and TX pin of Serial1 on Esplora are on LCD header as DC_LCD (RX) and RESET_LCD (TX). Use this Serial1 to communicate with Uno.

On Uno side you should disconnect the Uno from computer to not disturb the Serial interface with USB connection. Or use SoftwareSerial to communicate with Esplora and have debug prints to Serial Monitor.

  • Which pins on the esplora are the default tx & rx?
    – Paul
    Commented Oct 4, 2018 at 4:55
  • I edited the answer.
    – Juraj
    Commented Oct 4, 2018 at 5:00
  • What do you mean by "In 'core' I see, it is Serial1"? Could you explain what this means?
    – Paul
    Commented Oct 5, 2018 at 3:06
  • Arduino has core packages for different hardware architectures of MCUs and core packages have variants for boards. and boards have differrent software configurations matching the hardware
    – Juraj
    Commented Oct 5, 2018 at 5:24
  • Juraj: If i'm using serial communication a rate of 9600, does this mean that I need to use a Serial1.begin(9600) communication instead of the regular Serial.begin(9600) in the esplora code?
    – Paul
    Commented Oct 5, 2018 at 14:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.