Electron Charging?

I double tapped MODE and it shut down. As you can see the red charge LED is still on, but measured current is below 10mA.

I’ll pull out my scope and check batt voltage.

I am also experiencing similar results. However my battery does go to about 80%. Red led never turns off even after 12 hours of charging. The SOC level never goes above 80%

I tried changing cables, adapters with no change.

I’m seeing something similar as well. Had the Electron charging via USB all night and this morning the red LED was off (it was on when charging started) but the charge state is only at 83% and 3.99 volts according to the Electron’s internal FuelGauge. The red LED won’t light up anymore. Even when I disconnect and reconnect the USB cable. I was on 0.4.8.

UPDATE: I’ve upgraded to firmware 0.5.0 and disconnected both the battery and USB and reconnected them. Now the red LED is burning again. Not sure however what caused it.

UPDATE 2: I’m seeing the exact same behaviour as with the 0.4.8 firmware now that I am on 0.5.0. The red LED goes off while the FuelGauge indicates the battery is only at 83%. I checked the actual voltage with a multimeter through the Li+ pin and it gives 4.01 volts. So its indeed not fully charged.

1 Like

@frlobo have you had any success charging your Electron to 100%? Mine is still not charging much above 80% :frowning:

I read a while ago that @BDub was about to update some docs regarding this 80% “issue” (which seems to be a default safety barrier which could be “unlocked by informed concent”)
But I can’t find the update - maybe Brett could provide a link.

Thanx @ScruffR, I found these pages:

https://docs.particle.io/reference/firmware/electron/#charge-voltage-control-reg

From these pages I've distilled the following code:

PMIC pmic;

and then in setup():

pmic.setChargeVoltage(4208);

or for safe mode:

pmic.setChargeVoltage(4112);

This works like a charm!

I do recall that thread (post #2 :wink: ) and also the docs, but as I understood Brett there should be some more info than just the function prototypes :sunglasses:

Ok, if there is more information on the subject, I’d love to get my hands on it!

Nope… I tried with a 4AMP charger and did not work. Never goes above 85%. And red light always stays on.

I will try the PMIC solution. Just hoping to understand how the settings work to know what should I be concerned with. Why 4208 works and not 4112… Also Should I set this every boot, or only once?

This refered to my comment that @BDub might have some extra info put together already but just not publushed yet (or I'm just too blind to find it)

Just put it in setup(). That’s what works for me. I have only tried 4208 so far. But I believe 4112 is the default setting. The FuelGauge gives a lower voltage than what I measure with a multimeter. So the actual voltage is a bit higher than what FuelGauge says.

But in my case the red LED always turns off. It just turned off before reaching 100%; which is now solved. So your case might be different than mine.

I've asked Brett now for that info, and he pointed me to this "backlog" entry

So there will be more, but might need some time :wink:

But that entry also contains a valid warning!

2 Likes

Also I’d like to caution you guys @nodemand @frlobo @wtfuzz @RWB @kbowerma that there was a bug discovered in 0.5.0 and 0.4.8-rc.6 for the Electron where the 4208 setting would actually set the battery cutoff voltage to 4.4V which is much too high. Luckily the supplied battery has a protection circuit but any non-protected battery could be at risk of overcharge if you had used this function. This has been fixed on 0.5.1, so feel free to use the 4208 setting to achieve around 94% charge.

// ONLY use on 0.5.1 system firmware or higher
void setup() {
    PMIC power;
    power.setChargeVoltage(4208);
}

Be sure to keep your battery temps under 45°C though. The % reading is based on the Fuel Gauge measurement, which is independent from the PMIC charging, which is why it will never be exactly 100%. It’s either going to be a bit under, or over. I’d prefer to error on the under side for safety, and I understand why 100% is desirable and intuitive to say “fully charged”. There might even be a way to set the Fuel Gauge to programmatically expect a lower termination voltage, so we can show 100%. Will add that to my list :wink:

3 Likes

What I actually did, is in my code I interpret 85% as 100% :blush:

Thanks for all the info @BDub the actual real reason for 100% is to get more juice out of the batt :slight_smile:

1 Like

Would there be any point in setting it lower when using electron and battery in a setting that is usually powered, to extend battery lifetime (not runtime).
ie. when the psu/board cant supply enough current to run the electron without a battery attached.

Even setting it to 50% soc would be plenty to handle the electron spikes.

if runtime on battery is not a concern for you, battery lifetime can be maximized by never charging over 80% or discharging below 20%. Generally speaking, onboard protection circuitry will do the majority of the lifetime enhancing behavior for you.

I have some related questions, though:

  • How do you change the charge current? I see docs on this, but they aren’t explained. The included battery can be charged at up to 2A.
  • Why do the set and get methods for charge voltage use different data types?

@wtfuzz have you ever found a solution to this issue?

I am facing the same problem - my electron is only charging with ~50-100mA. That means it takes more than a day to fully charge the 2000mAh battery…! :confounded:

Does anyone else have an idea why my Electron is charging only about 3% per hour?

I am using the original 2000mAh Li-Po battery and the original USB cable. It does not matter whether I connect it directly to the PC or via an iPhone charger to a wall socket.

I do use the line:

SYSTEM_MODE(SEMI_AUTOMATIC);

In the setup loop I do have the following PMIC settings:

PMIC pmic;
pmic.setChargeCurrent(0,0,1,0,0,0);  //Set charging current to 1024mA (512 + 512 offset)
pmic.setInputVoltageLimit(4840);     //Set the lowest input voltage to 4.84 volts. This keeps the 5v solar panel from operating below 4.84 volts.

After setting these values, I read out all the relevant status and get the following:

getChargeCurrent = 100000
getChargeVoltage = 10011010
getMinimumSystemVoltage = 3500
readChargeTermRegister = 11001110
readInputSourceRegister = 1100011
readPowerONRegister = 11011
getSystemStatus = 1101100
isPowerGood = 1
isHot = 0

Any help would be greatly appreciated!

I have a 2000 Miliamp usb charger connected to the electron, the LIPO is connected as well. The electron is breathing cyan and it is constanty flashing the red LED but at lower speed, as I know when the red LED flashing when the LiPo is not connected. What is the meaning of this Red LED on and off meaning even though the LIPO is connected and the 2000 miliamp USB as well?

Sorry for my bad English, it’s not my native language.