Signal Strength Widget
The Signal Strength widget renders a classic 4-bar or 5-bar signal icon that fills based on the received RSSI value. Useful for monitoring Wi-Fi signal quality, cellular signal, or any 0–100 quality metric.
Default size: 2 × 2 grid cells
Configuration
| Property | Type | Default | Description |
|---|---|---|---|
min | number | -100 | Value mapped to 0 bars (weakest signal) |
max | number | -30 | Value mapped to full bars (strongest) |
bars | 4 | 5 | 4 | Number of signal bars |
color | hex color | #10B981 | Filled bar color |
| Device | device | — | The device to read from |
| Pin | V0–V255 | — | The virtual pin to display |
| Label | string | — | Widget label |
Firmware example: Wi-Fi RSSI
void loop() {
Vwire.run();
int rssi = WiFi.RSSI(); // typically -30 to -90 dBm
Vwire.virtualSend(V0, rssi);
delay(10000); // every 10 s is fine for signal quality
}
RSSI reference
| RSSI (dBm) | Signal quality |
|---|---|
| > -50 | Excellent |
| -50 to -60 | Good |
| -60 to -70 | Fair |
| -70 to -80 | Weak |
| < -80 | Very weak / unusable |
Custom 0–100 quality scale
If your modem provides a 0–100 quality integer instead of dBm:
- Set
min: 0,max: 100 - Send the quality value directly:
int quality = modem.getSignalQuality(); // 0–100
Vwire.virtualSend(V0, quality);