Comments: pcDuino Hookup Guide

Pages

Comments 1 comment

  • ——————– Tech Support Tips/Troubleshooting/Common Issues ——————–

    Code for USB-to-Serial Bridge using a Arduino-Compatible Board

    Yes, the code [ https://cdn.sparkfun.com/assets/b/d/5/9/9/513a2de3ce395fdb63000000.ino ] provided in the tutorial [pcDuino Hookup Guide: Serial Debugging - Arduino-Compatible board - https://learn.sparkfun.com/tutorials/pcduino-hookup-guide/serial-debugging ] is correct. You need to set pin 0 as an input so that the Atmega328 does not cause a bus contention between the FTDI and another UART device:

    pinMode(0, INPUT);

    I tested the example code on an Arduino Uno R3 and RedBoard programmed with Arduino. The example code works as expected when sending serial data to/from a 5V FTDI basic breakout board. The engineer made both the Tx and Rx an INPUT so that the hardware UART on the Atmega328P does not have bus contention with the FTDI or the hardware UART of the pcDuino. A UART connection usually have two devices on the bus [ https://learn.sparkfun.com/tutorials/serial-communication#common-pitfalls ]. This essentially disables the Atmega328P so that the Arduino can act as just a USB-to-serial bridge.

    Also, the connection is correct. The silkscreen on the Arduino is referring to the hardware UART pins for Tx and Rx as stated in the tutorial => “This is because the label on the Arduino-compatible headers refers to the direction of the data relative to the ATmega, not the serial bridge device.” In this case, it is referring to the USB-to-serial converter that is populated on the Arduino:

    Arduino <=> 5V FTDI
       TX   <=>  TX
       Rx   <=>  Rx
      GND   <=>  GND
    

If you've found a bug or have other constructive feedback for our tutorial authors, please send us your feedback!