Sep – Oct 2026
Estoa
estoa (n.): slack water; the moment the tide stops, between flowing in and flowing out.
Estoa is endless, like a social media feed, but it only gives you more when you're still.

- role
- Artist
- type
- personal project
- medium
- installation
- tools
- LED, Hardware, Fabrication
Dan Oved, 2026 · Generative light: LEDs, ESP32, hidden presence sensor, 3D-printed PLA, frosted glass · Shown at Abisal, Mexico City, in Design | Climate Week 2026, October 6 to 11

What it does
It's an installation that rewards stillness. The longer you're still in front of it, the more the depth of the pattern emerges and exposes itself, drawing you in further. As soon as you move, or take yourself out of the present moment, it resets back to its earlier state, and you have to start over again.
There's a presence sensor hidden inside, so the piece knows when someone's there and whether they're moving or still.

Hanging up the installation with Marty.
What you see
A disc of light behind frosted glass, about 30 cm across. I wanted the diffusion dreamy, soft enough that you almost don't notice the diodes. I left a gap around the disc because of how it looks from the side. Some light leaks out around the back onto the wall as a soft halo. That wasn't planned, and I liked it more than I expected.
The patterns are generated live and never repeat.
Process
Starting out
It started with an LED disk I bought, Adafruit's DotStar disk, and an ESP32 on my desk. From September 25 I prototyped visuals on it.

The first perfboard, after a full day of soldering, with all the cables coming directly off the board.
The mirror, and the idea
I picked up a round mirror at a flea market, and for a while the plan was to mount the disc on it and let it rotate. On October 2 I dropped that. Presence was the more interesting idea, and rotation was one more thing that could break. When the radar first worked on the bench, I couldn't tell how it knew I was there.

The mirror I first wanted to use.
Test prints
The enclosure is 3D printed, and I printed, sanded, soldered and assembled all of it by hand. The soldering alone took a full day. The clear wall is printed in four quarters, because that's what fits on the printer. Straight off the printer every LED turned into a vertical streak, and sanding fixed it.

One of the first test prints, still on the bed.

One plate with every small test piece: the glass pocket in a wall quarter, a leg and its screw pocket, the posts for the boards, the rocker switch, and the piece that clamps onto the mirror's stud. Everything passed.

After sanding. The thickest section looked really good, so the full wall is that thickness, 3.85 mm clear PLA, sanded with 120 then 220.

The clear test strip after sanding the thinnest and thickest sections. You still see the LEDs above the wall, but the wall itself is an even frost.
The wall
I'd never glued with epoxy before, and the first joint came apart when I picked it up too soon.

The four wall quarters and the four quarters of the ring that holds the glass.

The brass inserts for the ring screws.

A closer look at the brass inserts in the top edge of a wall quarter, for the ring screws.

A dry fit before gluing: the four wall quarters together with the frosted glass in place.

Screwing on the top ring before applying the epoxy.

Applying the 5-minute epoxy. I used the top ring as a jig and put the epoxy on the four seams.

Taping the sides after running the epoxy on them.
The mirror cracks
The piece was meant to stand on the mirror. The drill went through the steel pan easily, then stalled on the glass. I pushed, and it cracked as it went through. I should have been more patient. So it went up without the mirror, clamped straight to the back box, and the halo on the wall is what you get instead.

My first try at drilling through the mirror. The back was metal, so I used a metal bit, as instructed by Claude, but it only went as far as the mirror. I wasn't sure whether it was acrylic or glass. When it wouldn't go through, we realized it was glass, so I had to buy another drill bit.

The glued wall on the mirror, before I drilled. The first idea was to have it on top of a mirror, which didn't work out because I messed up drilling through it.

After the drill cracked the mirror.
The box
The box on the back took three tries. It needed to be mostly closed, because there's a lot of dust in Mexico. On the second one the posts bulged when I melted the brass inserts in. On the third the white filament ran out, so I finished it in clear. I like how it looks.

After the first test print showed the battery didn't fit, I printed the box floor on paper at full size and laid the real battery and board on it.

A test print to see how the ESP32 board would fit along with the battery pack slots and ports.

Figuring out how the battery pack and the ESP32 would fit. It seemed to fit pretty well.

The port end of a test piece of the box's bottom wall. The openings for the battery and the ESP32's USB-C lined up well.

Mounting the USB-C board on the small test plate I printed to check the fixes. It worked first try.

The final box we ended up using, coming out of the printer. I ran out of white filament, so we finished it with transparent filament.

The finished box floor next to its lid, the plate that hangs on the wall, with the battery beside them.

Inside the box floor: the raised strips the battery sits on and the posts for the USB-C board.

After I put the brass inserts into the box floor.

The rocker switch, snapped into the box's bottom wall.
The sensor, and putting it together

How the LED disk mounts to the 3D-printed legs.


The sensor holder, which is pretty cool.

The screw terminals connected to the sensor.

I used a glue gun to fix the connectors onto the radar.

The whole bottom together, everything nicely assembled in there.

The sensor, hidden in the installation.

A render of the finished design, with the mirror left out.

A section through it: the glass under its ring, the disk on the spider, the box behind.

The back box with the battery, the board and the switch.
Parts
- 255 LEDs in concentric rings on a 242 mm disk
- ESP32-S3, patterns generated live
- LD2410C 24 GHz presence radar, hidden under the glass
- Clear PLA wall and spider, frosted glass, printed back box
- Battery inside, one switch, Wi-Fi updates
- About 30 cm across, 10.5 cm off the wall


Built with the assistance of Claude, directed by me. I set the idea, how it looks and behaves, every pattern and what to change, and tuned it all on the real disk. Claude agents wrote the firmware and pattern code and modelled the enclosure from my measurements and sketches.