Parts
| 1× | Arduino UNO or Nano ATmega328P, 5 V (with USB cable) |
| 9× | Red LED, 5 mm about 2 V at 10 mA (1 for step 1, 8 for the chaser) |
| 1× | Resistor 220 Ω (red, red, brown) (step 1) |
| 9× | Resistor 330 Ω (orange, orange, brown) (8 LEDs + 1 gate) |
| 1× | MOSFET, logic-level IRLZ44N (not IRFZ44N) (TO-220) |
| 1× | Resistor 10 kΩ (brown, black, orange) (gate pull-down) |
| 1× | 12 V LED strip ≤ 24 W (read the label) |
| 1× | 12 V adapter ≥ 2.5 A (certified, with a matching DC jack) |
| 1× | Breadboard + jumpers 830 holes, 20 jumpers |
Wiring
| D2 … D9 | → 330 Ω → LED anode (long leg) |
| Every LED cathode | → GND rail |
| D9 | → 330 Ω → MOSFET gate |
| MOSFET gate | → 10 kΩ → GND |
| MOSFET source | → GND (adapter − and Arduino GND) |
| MOSFET drain | → Strip − |
| Adapter +12 V | → Strip + |
Steps
| 1 | Blink one LED and check the current | Check: LED blinks once a second |
| 2 | Wire the eight-LED chaser | Check: All 8 light with a test sketch that sets every pin HIGH |
| 3 | Write the chase pattern | Check: The light walks D2 → D9 and repeats |
| 4 | Add a fade on a PWM pin | Check: D9 glows up and down smoothly, no flicker |
| 5 | Check the current budget before you add more | Check: Worst-case pattern total written down and under 150 mA |
| 6 | Switch a 12 V LED strip with a MOSFET | Check: Strip off at power-up, full on at 255, dims at 64 |
| 7 | Move it to a board and put it up | Check: Runs 2 hours on the bench without anything getting warm |
Tests
| Measure | Expect | Got |
|---|
| One LED on, voltage across its 330 Ω | about 3.0 V → 9.1 mA | |
| All eight on, total pin current | 73 mA, under 150 mA | |
| Gate to GND, Arduino unplugged | 0 V (pull-down working) | |
| Drain to GND, analogWrite(9, 255) | under 0.1 V | |
| MOSFET after 10 minutes at full | barely warm | |