Flash the headless ESP32 + CC1101 ISM-band census node right from your browser. No IDE, no toolchain — just a USB cable.
The CC1101 talks to the ESP32 over the VSPI hardware bus. Capture rides GDO0 (hardware RMT edge-timing), independent of WiFi/web activity.
| CC1101 | ESP32 GPIO | Purpose |
|---|---|---|
| VCC | 3V3 | 3.3 V only — not 5 V |
| GND | GND | Ground |
| SCK | 18 | VSPI clock |
| MOSI (SI) | 23 | VSPI data to radio |
| MISO (SO) | 19 | VSPI data from radio |
| CSN (CS) | 5 | Chip select |
| GDO0 | 34 | RX data / RMT edge capture (input-only pin) |
| GDO2 | 35 | Optional (input-only) |
| ANT | — | Antenna tuned to your band (~433 or ~915 MHz) |
| No port in the picker | Use a data USB cable; install the CP210x/CH340 driver; try another USB port. |
| "Failed to initialize" | Close other serial monitors, unplug/replug, retry. On some boards hold BOOT while the flash starts, release after it connects. |
| Button missing / greyed | You're not on Chrome/Edge desktop. Web Serial isn't in Firefox, Safari, or mobile browsers. |
| cc1101: absent in the UI | Check 3V3 power, CS→GPIO5, and the SPI wiring; a floating VERSION register reads absent. |
| Flashes but no WiFi | Join SubCensusEsp-setup and set credentials, or set them over serial; watch the monitor for the IP. |