0Pricing
Arduino & IoT Academy · Lesson

Fade an LED Up and Down

Loop through values for a breathing-light effect.

Fade an LED Up and Down is a free Arduino & IoT Academy lesson on CoddyKit — lesson 3 of 4. You can read the complete lesson below for free — then practise it hands-on in the browser with a built-in code editor and a 24/7 AI tutor. It is part of the Arduino & IoT Academy learning path, one of 4 lessons in the course, and your progress syncs across the web and the CoddyKit app.

From Steady to Breathing

One fixed value gives a steady glow. To make an LED fade, you simply keep changing the analogWrite value over time. 🌬️

The Plan: Count Up Slowly

To fade in, walk the brightness from 0 toward 255 in small steps, pausing briefly between each one so the change is visible.

A Loop That Climbs

A for loop is perfect for stepping through values. It counts from 0 to 255 and writes each one to the LED pin.

for (int b = 0; b <= 255; b++) {
  analogWrite(9, b);
  delay(10);
}

delay Sets the Speed

The delay inside the loop controls how fast the fade feels. A bigger pause makes a slower, gentler rise.

delay(10); // 10 ms per step

Now Fade Back Down

To fade out, run a second loop that counts the brightness back down from 255 to 0, again pausing each step.

for (int b = 255; b >= 0; b--) {
  analogWrite(9, b);
  delay(10);
}

Put Both in loop()

Place the up loop then the down loop inside loop. Arduino repeats loop forever, so you get an endless breathing effect.

Step Size Changes the Feel

Counting by 1 is silky smooth. Increase the step to b += 5 and the fade speeds up but turns slightly choppy.

for (int b = 0; b <= 255; b += 5)

Stay Inside the Range

Keep your counter between 0 and 255. Writing values outside that range just wraps or clamps and breaks the smooth ramp.

An Alternative: One Variable

Instead of two loops, keep one brightness variable and a direction. Add or subtract each pass and flip direction at the ends.

brightness += direction;
if (brightness == 0 || brightness == 255)
  direction = -direction;

Use a PWM Pin

This only fades on a PWM pin like 9. On a plain pin the LED would jump straight from off to on with no smooth ramp.

Why It Looks So Calm

The breathing look works because each small step nudges the duty cycle a little, and your eye averages the tiny changes.

Quick Check

Think about what makes a fade smooth.

Recap: Make It Breathe

Step the brightness from 0 to 255 and back with small delays. Loop it forever on a PWM pin and your LED breathes. ✨

Frequently asked questions

Is the “Fade an LED Up and Down” lesson free?

Yes — the full text of “Fade an LED Up and Down” is free to read here on the web, and the Arduino & IoT Academy course includes 4 lessons in total. To practise it interactively (a built-in code editor and a 24/7 AI tutor) and unlock the rest of the Arduino & IoT Academy course, upgrade to CoddyKit PRO.

What will I learn in “Fade an LED Up and Down”?

Loop through values for a breathing-light effect. You practise Arduino & IoT Academy with hands-on code you run directly in the browser, and a 24/7 AI tutor answers your questions as you work through the lesson.

Do I need any experience to start Arduino & IoT Academy?

No prior experience is required. Arduino & IoT Academy on CoddyKit is structured for beginners through advanced learners; this is — lesson 3 of 4, so you can start here or from the beginning and move at your own pace.

How long does the “Fade an LED Up and Down” lesson take?

Most CoddyKit lessons take about 5–10 minutes. Each one is bite-sized and interactive, so you make steady progress and pick up exactly where you left off across the web and the app.

Can I write and run code in this Arduino & IoT Academy lesson?

Yes. Every Arduino & IoT Academy lesson includes a built-in code editor, so you write and run real code right in your browser and get instant AI feedback — no local setup required.

All lessons in this course

  1. What PWM Actually Does
  2. analogWrite 0–255
  3. Fade an LED Up and Down
  4. Knob Controls LED Brightness
← Back to Arduino & IoT Academy