Why They RX/TX LEDs Blinks Upon Code Uploading? How History of Terminal Relates to it? What Are RX/TX LEDs and Pins on Arduino Boards? History of old Terminal, Telegram and Broadcast engineering. Around 150 years back, we had only way to communicate is sending pulses of current. That was the starting of analog means of connection. Slowly, when telegram improved, terminal devices became faster encoder and decoder of human input or sending data. To understand more, you can read our articles on analog and digital pins of Arduino, Terminal emulator of computers which we use for management of servers. Electronics, Broadcasting and Computers were not quite different even at the time of mainframe computers. Sooner, we needed PROTOCOLS to group up methodologies, standardize them. Today what is iTerm on Mac, Serial Monitor of Arduino IDE; has connection by history of origin. Telegram made abnormally fast with multiprocessing and became Internet with various protocols. Electronics became separated as it grown in own way for other intentions. So, you can actually communicate with Arduino from iTerm2 or any such Terminal emulator like Serial IDE of Arduino. This is basic look back in over-simplified language.
What Are RX/TX LEDs and Pins on Arduino Boards?
We need USB-to-serial conversion. Arduino Uno has one main controller and one controller serving as USB-to-serial interface. When we are connecting Arduino with computer, it is basically doing the similar work like telegram!
The RX/TX pins of the main controller are directly connected, via 1k resistors, to some pins of the “communication controller”. RX/TX pins are also on one of the pin headers. Serial 0 (RX) and 1 (TX) are for receiving (RX) and transmitting (TX) TTL serial data. These pins are connected to the corresponding pins of the ATmega8U2 USB-to-TTL Serial chip.
The RX and TX LEDs on the board flashes when data is being transmitted via the USB-to-serial chip and USB connection to the computer. The RX and TX LEDs on the board does not flash for serial communication on pins 0 and 1. Receiver (Rx) and transmitter (Tx) data packets are similar in most protocols depending on which user-end (sender/receiver) is looked at. The framework around Rx and Tx data packets have different header tail, checksum etc. Bigger framework is needed for the Tx packets as they need to find the routing path through the network.
How is Serial Communications on Arduino Boards?
There is Parallel communication and Serial communication. RAM, on-board cards, printers, hard disks etc use serial communication. Serial communication has advantages over parallel communication as less number of wires needed for communication and hardware complexity is lesser.
A bit is either a Zero or One and a byte is a collection of 8 bits. We can think of serial communications as transferring data one bit at a time, one bit after the other. Serial communication is a process of communicating between electronic devices one bit at a time. Serial means one after the other.
Arduino UNO board has one Serial communications chip-on-board, which is called a UART (Universal asynchronous receiver/transmitter).
Now, you need to read official article of Arduino on Serial :
The serial signals on the Rx and Tx pins are of “TTL level”. TTL means Transistor-Transistor-Logic. You can read more on WikiPedia or Text books. We just need an working idea about the protocols and basic concept for work.
What you see on serial monitor as software of Arduino IDE, can be printed on a dedicated screen like LCD. That is actually done for LCD screens.