Nano drives ULN inputs; ULN sinks each zone to ground
Signal (slate) = Nano PWM → ULN input. +5V red, GND black. The ULN pulls each zone's return to ground on command; the LED current never touches an Arduino pin.
2
Zone loop detail, how LEDs attach
Repeat per zone · add LEDs anywhere on the loop
Every fixture in a zone shares two wires: +5V and the zone's return to its ULN output. Wire an LED like this and drop it anywhere on the loop, no order, no polarity chain to keep straight beyond each LED's own + (anode) toward 5V.
Anode (+, longer leg) → +5V rail
Cathode (−, flat side) → 220Ω → zone return
One resistor per LED, keeps brightness even if one fails
BRIGHTNESS KNOB, start at 220Ω. Too dim? drop toward 150Ω. Too bright? the sketch's per-zone level also trims it in software. Dollhouse rooms read best low.
SCENES, button on D2 cycles; auto-fades dark after 20 min idle.
Evening→All On→Night→Off
5
Build-order checklist
Pic 5, base closingMount Nano + ULN driver board + power bank + master switch in the crawlspace. Run a 2-wire loop (+5V + return) for each zone up into the house.
Pic 8–9, GF wallsWire the 4 EXT fixtures (porch A/B, entry, deck) onto the EXT loop through pre-drilled holes.
Pic 10, chimney baseDrop the FIRE hearth LED into the chimney.
Pic 11, GF ceiling✦ wire before glue Glue the 2 GF_INT LEDs to the panel underside, route to a corner, then set the floor.
Pic 12–13, 2F wallsWire the EXT balcony light.
Pic 14, 2F ceiling✦ wire before glue Glue the 2 UP_INT bedroom LEDs to the panel underside before it goes down.
Pic 16–17, roofFix the UP_INT attic LED to a rafter before closing the roof; dormers double as light wells.
FinishRoute the power-bank charge port to a hidden opening (rear wall / chimney base). Leave a base access hatch.
6
Bill of materials
Arduino + LEDs already on hand (struck through)
Arduino Nano×1
Warm-white LEDs×12
ULN2803A driver (+ DIP socket)×1
220Ω resistors (150Ω to brighten)×14
Momentary pushbutton×1
Slide switch (master, in 5V line)×1
USB power bank · always-on mode×1
USB-A pigtail / breakout×1
Hookup wire 26–30 AWG (R/B/sig)~10m
Perfboard for driver board×1
Hot glue + sticks,
Heat-shrink / Kapton tape,
1000µF cap across 5V (optional)×1
Drill bits 1–1.5mm,
Tools: soldering iron + solder, wire strippers, flush cutters, multimeter (verify each zone before gluing it in).