I do something big in the driveway every October. Last year it was a banner of 1,500 LEDs over the garage and a small saucer. This year the saucer got serious: an 87-inch octagon of 2020 extrusion with 1,406 LEDs, and the garage got a fake 1960s airline built around it, HULL/20 Spaceways.
This page is the technical side: the frame and cut list, how the LEDs are wired, the controller, the show logic, the flash-rate math, and the OTA problem that took me a while to figure out. The project logs have the build in date order. If you want the version without any wiring, there’s one at spaceport.neighb.io/build.
What’s in the driveway
- Saucer: an octagon of 2020 aluminum extrusion, 87⅛ in across the flats, a clear 24 in dome, an inflatable alien pilot, and 1,406 LEDs on four data lines from an Arduino Nano ESP32.
- Banner: 1,500 WS2812B (300 x 5, serpentine) on a Seeed XIAO ESP32-C6 over the garage. Quiet scenes most of the year, a departures board in October.
- Garage eyes: two 16x16 WS2812B panels behind two of the garage door windows, on their own XIAO ESP32-C6.
- Gate 20: a Raspberry Pi 4 and a 15.6 in USB monitor, held up by an inflatable alien. In the second half of October it gave out passport stamps, a different planet every hour.
- Mission control: a web page and a phone app I run the yard from (scenes, brightness, floodlights).
3,418 LEDs total: banner 1,500; saucer 440 + 115 + 480 + 241 + 128 + 2 = 1,406; eyes 2 x 256 = 512.
The websites
The sites took about as much work as the hardware, and for a lot of the neighbors they’re the main event.
spaceport.neighb.io is the airline, written as a 1964 airline ad for flights to the planets (“Saturn by Saturday”). The split-flap departures board runs on the visitor’s own phone clock, with a departure every twelve minutes from dusk to 11 pm, so there’s always something about to board. There are destination posters, a fare table where every flight number is a date, a crew page and a cabin menu. Baggage allowance is one towel.
planethopper.neighb.io is the passport office, for the kids. You pick one of nineteen destinations and get a passport. In October the stamps came from a code on the Gate 20 screen that changed every hour, so you had to actually come by. Right now it gives you a new star each night you open it. It all stays in the phone’s browser. Nothing gets uploaded, and if you share a link, the passport is in the link itself.
sleighport.neighb.io is the holiday version, Santa’s Space Cargo Depot. Its depot board uses the same 5 x 4 grid as the garage door windows. From 1 to 24 December kids can post letters to Santa at Gate 20, either in the real mailbox or by drawing one in Planet Hopper and scanning the screen, and the saucer picks up the mail at 7 and 8 pm. Letters drawn in Planet Hopper never leave the phone.
spaceport.neighb.io/pass goes with the boarding pass PCB (more on that below). Plug the pass into a phone charger, touch both halves of the gold disc and the beam lights up. The page explains why: two transistors stacked for a gain of about 10,000, running on the tiny current through your finger.
spaceport.neighb.io/build has this write-up in two versions, one with no wiring at all and an engineer’s version with the drawings and the math. /build/3d has next year’s refit as a 3D model you can take apart.
The phone app is styled like the Gate 20 departures hall too.
Simulate first
The banner firmware compiles against a stubbed FastLED and runs in a browser simulator that also models wire time. A WS2812B bit is 1.25 µs, so 30 µs per LED, and 1,500 LEDs on one line is 45 ms plus the latch, about 21 fps max. I’d rather find that out at a desk than up a ladder. The same engine runs on the board, in the sim and in the phone app’s preview, and the preview caught a real bug before it shipped: after the overnight sleep, the autopilot never woke back up.
The saucer show went the other way. I wrote it in JavaScript first, as pure...
Read more »
0xdxn










