Bird
Raised Fist0
Arduinoprogramming~5 mins

Serial.print() and Serial.println() in Arduino

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Introduction

These commands let your Arduino send messages to your computer so you can see what your program is doing.

You want to check the value of a sensor while your program runs.
You want to show messages or numbers on your computer screen for debugging.
You want to track how many times a button is pressed.
You want to print multiple pieces of information on the same line.
You want to print information line by line for easy reading.
Syntax
Arduino
Serial.print(data);
Serial.println(data);

data can be text (in quotes), numbers, or variables.

Serial.print() prints data without moving to a new line.

Serial.println() prints data and then moves to a new line.

Examples
This prints "Hello World" on the same line.
Arduino
Serial.print("Hello");
Serial.print(" World");
This prints "Hello" then moves to a new line, then prints "World" on the next line.
Arduino
Serial.println("Hello");
Serial.println("World");
This prints "Count: 5" and moves to a new line.
Arduino
int count = 5;
Serial.print("Count: ");
Serial.println(count);
Sample Program

This program starts the serial communication and prints temperature and humidity values on separate lines.

Arduino
void setup() {
  Serial.begin(9600); // Start serial communication
  Serial.print("Temperature: ");
  Serial.println(25);
  Serial.print("Humidity: ");
  Serial.println(60);
}

void loop() {
  // Nothing here
}
OutputSuccess
Important Notes

Always start serial communication with Serial.begin(baud_rate); in setup().

Use Serial.print() to keep printing on the same line.

Use Serial.println() to print and then move to the next line for clearer output.

Summary

Serial.print() prints data without a new line.

Serial.println() prints data and adds a new line.

Use these to send information from Arduino to your computer for easy reading and debugging.

Practice

(1/5)
1. What is the main difference between Serial.print() and Serial.println() in Arduino?
easy
A. Serial.print() prints data without moving to a new line, Serial.println() prints data and moves to a new line.
B. Serial.print() prints data twice, Serial.println() prints data once.
C. Serial.print() only prints numbers, Serial.println() only prints text.
D. Serial.print() clears the screen before printing, Serial.println() does not.

Solution

  1. Step 1: Understand Serial.print() behavior

    Serial.print() sends data to the serial monitor but stays on the same line.
  2. Step 2: Understand Serial.println() behavior

    Serial.println() sends data and then moves the cursor to the next line, so the next output starts on a new line.
  3. Final Answer:

    Serial.print() prints data without moving to a new line, Serial.println() prints data and moves to a new line. -> Option A
  4. Quick Check:

    print() no newline, println() adds newline [OK]
Hint: Remember: println adds a new line, print does not [OK]
Common Mistakes:
  • Thinking print adds a new line
  • Confusing print with println behavior
  • Assuming print clears the screen
2. Which of the following is the correct syntax to print the number 42 followed by a new line using Arduino Serial?
easy
A. Serial.print(42);
B. Serial.println(42);
C. Serial.printline(42);
D. Serial.println42();

Solution

  1. Step 1: Identify correct function name

    The correct function to print with a new line is Serial.println().
  2. Step 2: Check syntax correctness

    Serial.println(42); uses correct syntax: Serial.println(42);. Options C and D have incorrect function names or syntax.
  3. Final Answer:

    Serial.println(42); -> Option B
  4. Quick Check:

    Correct function name and syntax = B [OK]
Hint: Use println() to print with a new line [OK]
Common Mistakes:
  • Misspelling println as printline
  • Missing parentheses
  • Using print instead of println for new line
3. What will be the output on the Serial Monitor after running this Arduino code?
void setup() {
  Serial.begin(9600);
  Serial.print("Hello");
  Serial.print("World");
  Serial.println("!");
}
void loop() {}
medium
A. HelloWorld!
B. Hello World !
C. Hello World !
D. Hello World!

Solution

  1. Step 1: Analyze Serial.print() calls

    Serial.print("Hello") prints "Hello" without new line, then Serial.print("World") prints "World" immediately after.
  2. Step 2: Analyze Serial.println() call

    Serial.println("!") prints "!" and then moves to a new line.
  3. Final Answer:

    HelloWorld! -> Option A
  4. Quick Check:

    print() no newline, println() adds newline [OK]
Hint: print() joins text, println() ends line [OK]
Common Mistakes:
  • Assuming print adds spaces or new lines
  • Confusing print and println effects
  • Expecting spaces between printed strings
4. Identify the error in this Arduino code snippet:
void setup() {
  Serial.begin(9600);
  Serial.print("Count: ");
  Serial.println(10)
}
void loop() {}
medium
A. Serial.println() cannot print numbers
B. Serial.begin() must be called in loop()
C. Serial.print() cannot print strings
D. Missing semicolon after Serial.println(10)

Solution

  1. Step 1: Check syntax line by line

    The line Serial.println(10) is missing a semicolon at the end.
  2. Step 2: Verify other statements

    Serial.begin(9600); is correctly placed in setup(), and print/println can print strings and numbers.
  3. Final Answer:

    Missing semicolon after Serial.println(10) -> Option D
  4. Quick Check:

    Semicolon missing = A [OK]
Hint: Check for missing semicolons after print statements [OK]
Common Mistakes:
  • Forgetting semicolons
  • Thinking Serial.begin() must be in loop()
  • Believing print can't handle numbers
5. You want to print the numbers 1 to 3 on the Serial Monitor, each on its own line, using a loop. Which code snippet correctly does this?
hard
A. for (int i = 1; i <= 3; i++) { Serial.print(i); }
B. for (int i = 1; i <= 3; i++) { Serial.print(i); Serial.print("\n"); }
C. for (int i = 1; i <= 3; i++) { Serial.println(i); }
D. for (int i = 1; i <= 3; i++) { Serial.println(i + "\n"); }

Solution

  1. Step 1: Understand printing numbers on separate lines

    Using Serial.println() prints the number and moves to the next line automatically.
  2. Step 2: Analyze each option

    for (int i = 1; i <= 3; i++) { Serial.println(i); } uses Serial.println(i); inside the loop, correctly printing each number on its own line. for (int i = 1; i <= 3; i++) { Serial.print(i); Serial.print("\n"); } tries to add a newline character manually, which may not work as expected. for (int i = 1; i <= 3; i++) { Serial.print(i); } prints numbers without new lines. for (int i = 1; i <= 3; i++) { Serial.println(i + "\n"); } tries to add a newline inside println, which is redundant and incorrect syntax.
  3. Final Answer:

    for (int i = 1; i <= 3; i++) { Serial.println(i); } -> Option C
  4. Quick Check:

    Use println() in loop for new lines [OK]
Hint: Use println() inside loop to print lines separately [OK]
Common Mistakes:
  • Using print() without newline in loops
  • Adding manual \n inside println()
  • Incorrect string concatenation with numbers