What is Serial.println(F(""))?

What is Serial.println(F("This is a constant string"))? What is Serial.print(F("This is a constant string"))?

Answer

Serial.println(F("This is a constant string")) is a combination of Serial.println and The F() macro. This helps save SRAM memory by moving the constant string from SRAM to FLASH memory. Usually, FLASH memory is much more available than SRAM memory. Let's see two examples with Arduino UNO.

Example of using constant string without the F() macro

void setup() { Serial.begin(9600); Serial.println("ArduinoGetStarted.com"); } void loop() { }

If we compile the above code for Arduino Uno, we will see the compiled log on Arduino IDE as below:

Sketch uses 1496 bytes (4%) of program storage space. Maximum is 32256 bytes. Global variables use 210 bytes (10%) of dynamic memory, leaving 1838 bytes for local variables. Maximum is 2048 bytes.

Example of using constant string with the F() macro

void setup() { Serial.begin(9600); Serial.println(F("ArduinoGetStarted.com")); } void loop() { }

If we compile the above code for Arduino Uno, we will see the compiled log on Arduino IDE as below:

Sketch uses 1506 bytes (4%) of program storage space. Maximum is 32256 bytes. Global variables use 188 bytes (9%) of dynamic memory, leaving 1860 bytes for local variables. Maximum is 2048 bytes.

Let's analyze the logs:

Buy Arduino

1 × Arduino UNO Buy on Amazon
1 × USB 2.0 cable type A/B Buy on Amazon
1 × Jumper Wires Buy on Amazon
Please note: These are affiliate links. If you buy the components through these links, We may get a commission at no extra cost to you. We appreciate it.

The Best Arduino Starter Kit

※ OUR MESSAGES