I am using an Inkplate 13SPECTRA as a battery-powered remote panel with custom ESP32-S3 firmware.
I can read the battery voltage/percentage, but I need a reliable way for firmware to determine whether:
the battery is currently charging;
USB/VBUS power is present;
charging has completed.
I understand the board uses an MCP73831 and its STAT output drives the onboard charging LED.
Could you please confirm:
Is the MCP73831 STAT pin connected anywhere else besides the LED?
Is STAT connected directly or indirectly to any ESP32-S3 GPIO?
Is there a test pad or PCB point where STAT can be accessed?
Is USB/VBUS presence connected to any ESP32-readable GPIO/ADC signal?
Is there any existing Inkplate library/API or undocumented board function for charging or external-power detection?
Which exact schematic revision corresponds to currently shipping Inkplate 13SPECTRA boards?
If STAT is not MCU-connected, is there a recommended safe way to read it with a spare GPIO without interfering with the charging LED or MCP73831?
We have already tested software-side charging detection in our firmware by probing available signals and correlating them with battery-voltage changes. The results were not reliable enough to use, so we removed charging-state telemetry rather than expose an inferred or incorrect state.
We are therefore specifically looking for a direct hardware-backed signal such as MCP73831 STAT, VBUS presence, or another board-supported method.
The goal is reliable remote battery telemetry for a deployed panel, so inference from battery-voltage changes alone is not sufficient.
The STAT pin from the charger isn’t routed anywhere except to the LED. Unfortunately, we don’t have a test point left on that pin.
VBUS isn’t connected to a pin on the ESP32, so it’s not possible to detect it that way. You could solder a wire onto the Fuse if you want to do detection, but you’d need to add a voltage divider so as not to damage the ESP32, since it operates at a maximum voltage of 3.3V.
We currently don’t have charging detection implemented on our Inkplate.
The shipped version is v1.1.
If you want detection, the only way is to solder a wire onto the diode, or onto the resistor before the diode, and connect it to some free GPIO pin.
If you have any further questions, feel free to reach out. Your suggestions regarding charging and external power detection could definitely be useful, so we’ll consider adding this in future versions of Inkplate.
Agreed. A dedicated fuel gauge would be the proper solution. The exact IC could be BQ34210-Q1 or another device better suited to a regularly cycled low-power Li-ion application. Soldered already uses the BQ27441 on Inkplate 4TEMPERA, which provides SOC, voltage, current, remaining/full capacity, power and SOH. Something similar on a future 13SPECTRA revision would solve both reliable battery estimation and charge/discharge detection without requiring hardware modifications.
I also noticed the blue power LED remains permanently illuminated while the panel is running from battery, including during deep sleep. The PCB appears to have a switch labelled “POWER LED SWITCH”. Can you confirm that this switch only disables the blue power indicator LED and has no other effect on panel operation, charging, wake/sleep or battery measurement?