
What is Serial Port ?
- I have already written a detailed tutorial on this topic which you can read at What is Serial Port ?
- Serial Port is used for data communication, it sends data from one place to another.
- Serial Port has 9 pins in total and all these 9 pins are used for different purposes.
- The two of these pins most commonly used are TX (transmitter) and RX (Receiver).
- So, using these two pins we send our data from one place to another.
- Now I hope that you have got the pretty basic idea of What is Serial Port but if not then you should read What is Serial Port?
- Now let's have a look at Arduino Serial Port first, before having a look at Arduino Serial Read.
Serial Port in Arduino
- All Arduino boards have Serial Ports on them.
- If we talk about Arduino UNO, then it has only one serial port on it and it is located at pin 0 and pin 1.
- If you look closely at Arduino UNO board then you can see a little TX is written on its pin # 1 and a little RX is written on its pin # 0, as shown in below figure:

- So, now we have got the Serial Port on Arduino UNO which we know are at pin # 0 and pin # 1, now in the next part, we are gonna have a look at How to use Arduino Serial Read and get data from this Serial Port.
How to use Arduino Serial Read ?
- Arduino Serial read command is used for reading any data available at the Serial Port.
- I have also designed a Proteus simulation which you can download from below button, and I have explained this simulation in the last step of this tutorial:
[dt_button link="https://www.theengineeringprojects.com/ArduinoProjects/How to use Arduino Serial Read.rar" target_blank="false" button_alignment="default" animation="fadeIn" size="medium" style="default" bg_color_style="default" bg_hover_color_style="default" text_color_style="default" text_hover_color_style="default" icon="fa fa-chevron-circle-right" icon_align="left"]Download Simulation & Code[/dt_button]
- For example, you have some module let's say GPS module (most of the GPS module works at serial port).
- So, when you connect your GPS module with Arduino, you have to connect the TX pin of GPS with RX pin of Arduino.
- Now the TX pin of GPS will be sending / transmitting the data and because this pin is connected with the RX pin of Arduino, so Arduino will keep receiving the data.
- So, that's how Serial Port works.
- Now the data is coming to Arduino but you have to write some code to read this incoming serial data and then save it in some space.
- So, here the Arduino Serial Read command is used.
- Arduino Serial read command reads the incoming data from Serial Port and then saves it in some variable.
- Here's the syntax of Arduino Serial Read command:
char data = Serial.read();
- One important thing is, in order to make Arduino Serial Read command work, you have to first initialize the Serial Port in Arduino, as shown below:
Serial.begin(9600);
Note:
Now, let's design a simple example in which we will be receiving data from Serial Port and then saving it in some variable.- Arduino USB Port which is plugged into the computer and is used for uploading the code, also works on the same serial port.
- So, if you have anything plugged in the pin # 0 of Arduino then you can't upload the code in Arduino.
- So, connect your Serial device with your Arduino board and now upload the below code in your Arduino board:
void setup() { Serial.begin(9600); // Serial Port initialization } void loop() { if(Serial.available()) // Chek for availablity of data at Serial Port { char data = Serial.read(); // Reading Serial Data and saving in data variable Serial.print(data); // Printing the Serial data } }
- Now, you need to open the Serial Monitor of Arduino which is used for debugging purposes.
- So, whenever you write something on Serial Port then its got printed in the Serial monitor.
- So, whatever you will be receiving in the Serial Port you will get int the Serial Monitor.
- Here's some random data of GSM module coming on serial port and showing in serial monitor:

How to use Arduino Serial Read in Proteus?
- So, now let's design a small Proteus simulation in which we will see how to use Arduino Serial Read.
- Proteus doesn't have Arduino by default in it, so you need to first download this Arduino Library for Proteus and then you will be able to simulate your Arduino board in Proteus.
- So, design a simple circuit as shown in below figure:

- In the above figure I have placed an LCD and I will get the data from serial port and then I will print that data on LCD.
- So, in simple words, whatever I type in Virtual terminal will be shown on LCD.
- You also need to download this New LCD Library for Proteus to get this amazing LCD in Proteus.
- So, now use the below code and Get your Hex File from Arduino Software:
#include <LiquidCrystal.h> // initialize the library with the numbers of the interface pins LiquidCrystal lcd(13, 12, 11, 10, 9, 8); void setup() { // set up the LCD's number of columns and rows: lcd.begin(20, 4); // Print a message to the LCD. lcd.setCursor(1,0); lcd.print("www.TheEngineering"); lcd.setCursor(4,1); lcd.print("Projects.com"); lcd.setCursor(1,0); Serial.begin(9600); } void loop() { if(Serial.available()) // Chek for availablity of data at Serial Port { char data = Serial.read(); // Reading Serial Data and saving in data variable Serial.print(data); lcd.print(data); // Printing the Serial data } }
- Now when you start the Proteus simulation then first screen will look something like this:

- Now whatever you write in your Serial Port, will show on the LCD as shown in below figure:

- That's how the Arduino Serial Read works.
- You can download this Proteus simulation and the Arduino code by clicking the Download button given in the start of this post.
Leave a Reply
Leave a Reply
You must be logged in to post a comment.
Comments on ‘’How to use Arduino Serial Read ?‘’
( 2 )
Hi Syd, i`m a regular reader of your engineering tutorials, i want to learn arduino from you, please send me packaged tutorials. Arnold Palmer: aldtron@gmail.com
salam, thank u sir for this best knowledge of arduino.
from beginer