Install
If you want the shortest path from clone to a provisioned node, read Getting Started after this page.
Prerequisites
You need the following tools to build and work with EspWaveRider:
- PlatformIO CLI or the VS Code PlatformIO extension.
- Python 3.x for helper scripts and Python-based tests.
- Node.js for Playwright and release automation.
- A USB data connection to the target ESP32 board.
- .NET SDK only if you want to build this DocFX site locally.
Clone and install dependencies
Install JavaScript tooling from the repository root:
npm ci
If platformio is not on PATH, use the direct executable path on Windows:
C:\Users\jd\.platformio\penv\Scripts\platformio.exe run --environment esp32-s3-devkitm-1
Otherwise the standard command works:
platformio run --environment esp32-s3-devkitm-1
Supported build targets
| PlatformIO environment | Published release target | Notes |
|---|---|---|
esp32-s3-devkitm-1 |
lonely-esp32-s3-devkitm-1 |
Primary validated target |
esp32dev-uart1 |
esp32-generic-uart1 |
Generic ESP32 example target |
heltec-wifi-lora-32-v3 |
heltec-wifi-lora-32-v3 |
Supported |
heltec-wifi-lora-32-v4 |
heltec-wifi-lora-32-v4-compatible |
V4-compatible profile |
Build
Examples:
platformio run --environment esp32-s3-devkitm-1
platformio run --environment esp32dev-uart1
platformio run --environment heltec-wifi-lora-32-v3
platformio run --environment heltec-wifi-lora-32-v4
Upload
Example upload to a specific serial port:
platformio run --environment esp32-s3-devkitm-1 --target upload --upload-port COM17
First boot
After flashing, the device can be reached in one of these ways:
- By its hosted dashboard URL when Wi-Fi and mDNS are available.
- By the fallback access point if the device is not yet provisioned.
- Over serial if you need to provision settings with raw commands.
The hosted dashboard is the preferred setup path for Wi-Fi, MQTT, room placement, and tuning.
Minimum acceptance checks after first boot:
GET /api/snapshotreturns valid JSON- the reported firmware version and build target are correct
- Wi-Fi and MQTT state match your expected provisioning state
- the board-specific release target matches the binary you flashed