What you'll need

1. Install PlatformIO

The ESP32 firmware is built with PlatformIO using the ESP-IDF framework. Install the PlatformIO CLI:

pip install platformio

2. Get the firmware

git clone https://github.com/AgentMage/wifi.tree
cd wifi.tree/esp32

3. Flash it

Plug in your ESP32, then build and flash:

pio run -t upload

The first flash takes a few minutes while PlatformIO downloads the ESP-IDF toolchain. Subsequent flashes are fast.

4. First boot โ€” setup wizard

On first boot (no saved wifi credentials), the ESP32 broadcasts a network called wifi.tree-setup. Connect to it from your phone or laptop.

Your device will open a captive portal showing nearby wifi networks. Pick your home network, enter the password, and tap Save. The ESP32 reboots and connects to your network as a client.

5. Your tree is live

After reboot, the ESP32 broadcasts wifi.tree. Anyone who connects will see the leaf-growing portal. You're a wifi.mom now. ๐ŸŒณ

Admin panel

Connect to wifi.tree and visit http://wifi.tree/admin. The default password is admin โ€” change it immediately on the Settings page.

From the admin panel you can:

LED status

Factory reset

Hold the BOOT button (GPIO0) for 5 seconds. The ESP32 wipes all stored credentials and visitor data, then reboots into setup mode.

Monitor serial output

pio device monitor

Useful for debugging. Baud rate is 115200.

ESP32 vs Pi

The ESP32 enforces lifetime connected-time and data budgets per visitor (no wall clock, so no calendar-month resets). If you want monthly data quotas and more powerful traffic shaping, see the Raspberry Pi guide.