Flash the beacon or the receiver firmware onto an ESP32-C3 + LR1121 or ESP8266 + SX1276 board, in
your browser — no computer tools. Needs Chrome or Edge over https (or http://localhost).
⚠️ Web Serial isn’t available in this browser. Use Chrome or Edge over https
(or http://localhost).
1
Pick your hardware
Full wiring is in the
README.
Both kinds of beacon are heard by both kinds of receiver.
2
Pick the firmware
loading firmware list…
3
Put the board in bootloader mode
This board has no auto-reset, so do this before clicking Connect:
Hold the BOOT button.
Tap RST (or replug USB) while still holding BOOT.
Release BOOT, then click Connect and pick the board’s serial port.
This module has no working auto-reset, so do this before clicking Connect:
Hold the FLASH (GPIO0) button.
Tap RST (or replug USB) while still holding FLASH.
Release FLASH, then click Connect and pick the board’s serial port.
not connected
Couldn’t talk to the bootloader — the board probably isn’t in bootloader mode. If you only want to read
its log (not flash), use the
serial monitor.
4
Flash
Writes the selected image to the chip in one go. The detected chip must match the hardware picked in step 1.
ready
After flashing, tap RST (or replug USB) to run the new firmware — the board may not restart by
itself. Open a serial monitor at 115200 baud to see the boot banner.
?
Reading the output
Open a serial monitor at 115200 baud after flashing and resetting the board.
Receiver — one CSV line per packet it hears:
50787D4CA1E8,-32.0,12.8,13
Field
Meaning
chipId
Which beacon sent it: that beacon’s Wi-Fi MAC address, unique per beacon.
rssi_dBm
Received signal strength. Closer to 0 is stronger: about −30 is very close, about −120 is the limit. Noisy packet to packet, so average several readings before using it for distance.
snr_dB
How far the signal is above the noise. Positive is clearly above it; SF12 can still decode down to about −20.
txPower_dBm
The transmit power the beacon says it used (13), read from the packet itself.
Lines starting with # are status: # listening, ok N rejected M every 10 s
(rejected = packets that failed the CRC or weren’t from a beacon). The NeoPixel blinks blue per valid packet.
Beacon — transmits 2×/sec and prints a banner at boot
(Beacon chipId … @ 868.0 MHz SF12 P13 dBm), then beat N about once a second, where N
is the number of packets sent. A txerr after it means the radio reported a failed send.
The NeoPixel blinks green per transmit.