Flash StatNode to your ESP32 straight from your browser.
Pick your board, plug it in over USB, hit install. Then point it at your WiFi and run the companion on your PC - and watch CPU, GPU, RAM, temps and fans land on a small color panel with glass faces and animated idle clocks.
00
Before you start
Desktop Chrome or Edge. Web Serial doesn't run on Firefox, Safari, or mobile.
A real data USB cable. Power-only cables are silent killers - the port simply won't show up.
Know your board. Each board has its own image. The integrated boards (Waveshare 1.54″, Guition 3.5″) are pre-wired; the Super Mini boards need an ST7789 panel soldered on. The wrong image may flash fine, then stay black on reboot.
Stuck in a connect / disconnect loop? Hold BOOT, plug in USB while holding, then release. Or hold BOOT, tap RESET, then let go of both.
Nothing else on the serial port. Close Arduino IDE, PlatformIO Monitor, and the serial monitor below before flashing.
01
Flash your board
chip
ESP32-S3
display
ST7789 · 240×240
firmware
…
flash
0x0 · full image (bootloader + app)
A dialog will ask which serial port to use - pick the one that appears when you plug the board in. The installer erases and writes the full image at offset 0x0; it takes ~30 seconds.
02
Connect to WiFi
Right after flashing, the installer can hand your WiFi straight to the device in this tab - no phone needed. If you miss that window, the device also broadcasts its own setup hotspot you can join from anything. Either way it reboots onto your WiFi and shows its IP address on the panel.
recommended
Configure WiFi in this tab
When the flash finishes, the install dialog opens a Configure WiFi step. Pick your home network, type the password, and hit Connect. The credentials travel to the device over USB using Improv Serial - no captive portal, no app switching. It appears only on a freshly flashed device and stays open for about 3 minutes.
Wait for “Installation complete”, then keep the dialog open.
Pick your WiFi network and enter the password.
The device joins your WiFi, reboots, and prints its IP address on the panel. Note it down - you'll need it in the next step.
fallback
Or join the setup hotspot
Missed the Configure WiFi dialog, or flashed from a phone? The device falls back to a setup hotspot you can join from any device and finish in a browser.
The XXXX suffix is unique to your device. The AP disappears once the device joins your WiFi.
On your phone or laptop, join the StatNode-XXXX WiFi network (password statnode1234).
Open 192.168.4.1 - a captive portal should pop up automatically.
Pick your home network, enter the password, and save.
The device reboots, joins your WiFi, and prints its IP address on the panel. Note it down - you'll need it in the next step.
After this you can reach the full config portal any time at the device's IP or at http://statnode.local - faces, colors, brightness, night schedule, metric layout, clock styles and OTA updates all live there.
03
Connect your PC
The StatNode Companion reads your hardware sensors and streams CPU / GPU / RAM / temp / fan stats to the device over your network. When it's running, the panel shows live metrics; when your PC sleeps, it falls back to an animated idle clock. Get the companion from the StatNode-CompanionApp folder in the repo.
The quickest path is the prebuilt executable - no Python needed. On Windows the companion reads its sensor data from LibreHardwareMonitor, so that has to be running too.
Install LibreHardwareMonitor from GitHub and run it as Administrator. On 0.9.5+, enable Options → Remote Web Server → Run (port 8085).
Grab StatNodeCompanion.exe from the repo's win-companion folder and run it. A local control panel opens at 127.0.0.1:8740.
In that panel, pick your StatNode device (or enter its IP from the screen), tick the sensors you want, then Start.
Open the device's IP / statnode.local in a browser and drag each metric into a slot on Metrics & layout. Start with 1-2 and build up.
from source
Prefer Python? Install the deps and run the script directly:
Open the control panel at 127.0.0.1:8740, pick your StatNode device (or its IP), choose sensors, then Start.
Open the device's IP / statnode.local in a browser and arrange the metrics on Metrics & layout.
Stats travel over UDP on port 4210 and refresh about once a second - both configurable in the companion. The PC and device must share the same LAN/subnet. Full details in the project README.
04
View serial logs
Reading the board's serial output is the fastest way to capture a boot loop, a WiFi error, or a crash for a bug report. Plug the board in over USB, click Connect, and pick the same serial port you'd use for flashing.
Only one program can hold the serial port at a time - close PlatformIO / Arduino monitors first, and don't click Install during a monitor session. Baud rate is 115200 to match the firmware.