How can I detect when Adafruit Powerboost 1000C is charging?

I would like to communicate to my pi zero when the power is coming from an external source. I want to be able to give the same feedback the little yellow LED in the board gives, but on my display.

Anyone have any ideas on how to do this? Is it even possible?


Schematics and pinouts are here if that helps. I don’t see any easy way to do it though.
Downloads | Adafruit Powerboost 1000C | Adafruit Learning System
Pinouts | Adafruit Powerboost 1000C | Adafruit Learning System

I see, from looking at the pinout it seems that I should be able to do something with the VS pin, it changes voltage depending on whether there is something connected on the micro USB port or not. That sounds like what I am looking for.

Would it be ok to just connect the VS pin from the powerboost into one of the GPIO pins of the pi and watch for changes?

I am wondering if I can just connect the two together, or if I need to put some other component in between to avoid destroying the pin in the pi.

VS, as near as I can tell will range from 3.0V to 4.2V when not charging, and 5V when charging. To the Pi both are a logic High. You’d need to read it with an ADC to see when its 5V. There are likely other ways to do it, but that’s one way that comes to mind.

Right now all I have is some resistors, so I think I will try and reduce the voltage before it goes into the pi and maybe I will be able to distinguish between 5V and 4.2V and below.

This might be worth a look see. Its written in Micro Python for the Pico LIPO Shim. But IMHO pretty relevant.
pimoroni-pico/ at main · pimoroni/pimoroni-pico (

I got this to work just fine, hooking things up was pretty easy too.

I ended up using the USB pin in the powerboost, as it turns out the pin has 5V when there is power in the micro USB port, and 0V when there is no power. So it is perfect to send an on/off signal to a pi or some other micro controller.

I put a 470 ohm resistor in between to lower the voltage to something around 2V and avoid frying the pi.

I also made sure to ground the connection using one of the GND pins in the powerboost.

To make sure power was flowing I first tested out the wiring with an LED. After checking the connection was ok the software side was pretty straight foreward. Depending on what library you are using, the code might vary, but it shouldn’t be too difficult.

One resistor in series doesn’t really lower the voltage per say. It will for an LED or something that draws some current. If there is little to no current flow the voltage drop is minimal. You should use a voltage divider network to change the 5V to say 3V.
Voltage divider (article) | Circuit analysis | Khan Academy

I see… I am not really familiar with anything electricity, my knowledge on the subject is pretty much “electricity touch metal, then metal is electric”. So I just checked with a voltmeter what was the voltage with the resistor and without it, and assumed that the lower number with the resistor was ok.

Not bricking my pi was good enough for me :P

Any possibility of the pins in the pi being able to sustain more than 3.3V? Maybe it’s ok because I am powering it with 5V? Just guessing here.

It’s powered with 5V, but the Pi uses 3.3V logic. The SOC (System On a Chip) uses 3.3V logic. The 5V is for stuff like the USB ports etc. 5V into a GPIO pin can damage it.

It turns out that the first time I measured with the voltmeter I must have done something wrong, because I tried again and clearly the single resistor wasn’t doing anything. The circuit was working and there didn’t appear to be any damage to the pi, but I decided to do it right…

So I followed this video’s instructions to wire a voltage divider. I used two 10K ohm resistors (just to be on the safe side) and now I am sure I am sending 2.5V to the pi.

That’s the way to go IMHO. And yes, you will get 2.5V at the junction. That’s likely enough to get detected as a High.