Looking for cost effective arduino that supports good UART commucation

I need to send the text data over the serial port using Arduino UART. In my simple project, I would like send a text data over the tx line and then receive the same data on the other end using RX pin.

I was trying to do this using one Arduino Uno board which has one hardware UART. But it seems that this UART is shared with USB. So I can not really use this Hardware uart supported on pins 0 and 1. Due to this limitation, I started looking at using software serial port. For basic testing, I was planning on looping the tx to rx. But I learnt that software serial port can not simulataneously transmit and receive the data.

So at this point it seems that I can not use one Arduinno UNO. At minimum I need two Arduino UNO. Still with this, I have to use it in software serial mode. I can not use it the hardware serial mode as it is shared with USB.

Since I need to purchase second Arduiino, I would like to know which Arduinio, I should purchase. It seems Arduino, Megas has more then one serial port. Will it be better to buy Arduino mega?

Your feedback will be very help please

Thanks.

Considering that Arduino Mega is less than $15 I am not sure why the big angst.

Yes, I can buy Arduino Mega. But I am not clear on its serial port capabilities. Some people on the web are using Arduino micro board. So I am not sure what is missing in Arduino mega.

If Arduino mega supports multiple serial ports, can I get multiple serial monitor for each? When I send a string, I need to be able to see what the UART received.

Thanks.

I was trying to do this using one Arduino Uno board which has one hardware UART. But it seems that this UART is shared with USB. So I can not really use this Hardware uart supported on pins 0 and 1.

Sure you can. You have to be more selective about debug prints, but it’s no big deal. Although the USB connection uses these pins, they are connected in a way that allows you to put other serial devices on these two pins.

Notes:

  • To upload a new sketch over USB, you must disconnect pin 0. Otherwise, the external device prevents the Arduino from seeing the upload commands. Many people put a switch in that wire so that it is easy to upload new sketches. If you use an ISP (connected to the ICSP header) to upload new programs, this is not an issue.

  • Everything the external device transmits to the Arduino is received on pin 0, and you would get those characters with Serial.read().

  • Everything the Arduino transmits to the external device goes out over pin 1, and those characters are also displayed on the Serial Monitor window. This can be helpful.

  • If your external device has a message protocol, where each message has a particular format or starting character, it will ignore debug prints that are “invalid” messages. You can still print debug messages.

  • If you type data into the Serial Monitor window and press send, the Arduino will receive it as if it came from the other device. This can also be useful for testing. If you do this at the same time the other device is sending data, there is a collision and the characters will be garbled.

Many folks connect GPS devices to pins 0 & 1. That is actually the most reliable way to receive data from those “verbose” devices, especially at higher baud rates.

For basic testing, I was planning on looping the tx to rx. But I learnt that software serial port can not simulataneously transmit and receive the data.

In a recent post over here, I mentioned that AltSoftSerial (two specific pins) and NeoSWSerial (any two pins) can do simultaneous transmit and receive. SoftwareSerial cannot.

Cheers,
/dev

cpandya0109:
I am not clear on its serial port capabilities. Some people on the web are using Arduino micro board. So I am not sure what is missing in Arduino mega.

It's probably time you read the specifications. There is nothing "missing in Arduino mega". Indeed, in this matter, it is the Micro that is deficient, as it has only one hardware serial port, while the Mega has four. This means that, with a Mega, you can connect to your monitor, read three devices, and send their data to screen. All at amazing speed..