Hi there,
SO you are correct , Home Assistant (HA) integration with Seeed’s XIAO 7.5" ePaper Panel doesn’t expose battery info by default. But the capability is there — it depends on how the firmware running on the XIAO is configured, and how it’s reporting battery voltage back to HA (e.g. via MQTT, ESPHome, or BLE).
You can add the voltage divider externally and then Analog read say (A3) along this line, and there are some threads here also on this topic.
For an S3,
Use a Resistor Divider from VBAT to an Analog-Capable Pin
Example:
- Connect VBAT → 100kΩ → Analog Pin (e.g., A0)
- Connect Analog Pin → 100kΩ → GND
This gives a 2:1 division, so a 4.2V battery reads as ~2.1V at the analog pin.
#define BATTERY_PIN A0 // or GPIO number
void setup() {
Serial.begin(115200);
analogReadResolution(12); // 12-bit ADC: 0–4095
}
void loop() {
int raw = analogRead(BATTERY_PIN);
float voltage = (raw * 3.3 / 4095.0) * 2.0; // adjust 2.0 if using a different divider
Serial.printf("Battery Voltage: %.2f V\n", voltage);
delay(10000);
}
For ESPHome add this YamL
sensor:
- platform: adc
pin: GPIO1 # or wherever your voltage divider feeds
name: "Battery Voltage"
update_interval: 60s
attenuation: 11db # for full range
filters:
- multiply: 2.0 # scale up for divider
unit_of_measurement: "V"
the original question’s answer is "You will not see battery voltage unless their firmware explicitly uses an external voltage divider into an analog pin. Nothing is prewired on the Xiao ESP32-S3-based ePaper board for that.
HTH
GL PJ
FYI
Board | Built-in VBAT Monitor? | Notes |
---|---|---|
XIAO nRF52840 | ![]() analogRead(P0_31) or PIN_VBAT |
Has onboard VBAT divider |
XIAO ESP32-S3 | ![]() |
Must use external divider |
XIAO SAMD21 | ![]() |
External divider needed |
XIAO ESP32C3 | ![]() |
External divider required |
The old BSP for the Nrf52840 Xiao was able to read the battery voltage, check out the old threads on it, I have a demo of it there also.
non-embed and certain mbed BSP’s as well