Electron turns on, but shuts off after 1 second

Are you saying your feeding this pin 5.1v or it’s providing 5.1v?

Either way that’s not right.

1 Like

Yes. I’m feeding it 5.1-5.25 V.

I looked at the PMIC datasheet and it should be fine. I just wonder if particle has tested that sort of thing at all.

I don’t know where the recommended 3.6-4.4 V recommendation comes from.

@liddlem It comes from Particles Electron Datasheet page here: https://docs.particle.io/datasheets/electron-datasheet/#li-

Absolute max rating on the BAT pin on the BQ PMIC chip is 6v, that does not mean it’s recommended.

This is why Particle does not recommend feeding it more than 4.4v because beyond that the PMIC things the battery is over a safe operating voltage.

The BAT pin is for the battery and this PMIC is designed to charge lithium batteries usually no higher than 4.2v DC.

You feeding it 5.1v basically makes the PMIC think the battery is 5.1v which is well over the safe operating limits of a LiPo battery and this is probably the reason the protection circuit is kicking in and not allowing the unit to operate as normal.

You need to feed the 5.1v to the normal Vin pin the same as USB feeds 5v.

So, in this case, the PMIC may have done its job and kept you from damaging the rest of the Electron.

5v is too hot for for electron. You need heatsink or shrink voltage smaller. Over voltage can fried your chip or lose signal.

I have a question. When you were developing it in the lab, did you have “SYSTEM_THREAD(ENABLED);” uncommented? If so, I think you may need to sprinkle some “Particle.process();” commands around in your loops. For instance, instead of using “waitUntil(Particle.connected);” use "while(Particle.connected() == false){Particle.process();}.

I had a very similar issue with constant resets and this was the problem.

I made sure SYSTEM_THREAD() was disabled because of that exact thing you brought up.

@screenscope and @RWB How do you know 5V is too hot for electron? I didn’t see anything in the datasheet about 4.4 or 4.2V. I tested things, and I saw there was danger only when it got above 5.7 V. I would love to be wrong about 5V being okay for the board if that’s the problem, but this problem doesn’t happen with all my devices (some have been running fine for over 6 months, and others stop working after 2 months)… I’m using 3 Energizer non-rechargeable Lithium AA batteries and there is nothing connected to the USB, so I’m confused why the PMIC would kick in a protection circuit at 5V?

I would like to connect the 5V to the Vin pin, but power consumption is terribly high that route and that’s super important for my product to be low.

@peekay123 and @ScruffR Could it be something in the code or is it a hardware problem? I am changing things to snprintf(), but now after hard resetting the devices, this problem hasn’t repeated itself…yet.

@Yeroc, I don’t believe that is correct since both waitUntil() and waitFor() call Particle.process(). Perhaps in other parts of your code calling Particle.process() is doings things that are not but should be done with SYSTEM_THREAD(ENABLED).

@liddlem, getting the voltage right is critical. The fact that some devices are not failing may be more of a testament to the TI part than the correctness of supplying the wrong voltage. I would not declare a hardware OR software problem until this is resolved.

It's right here in the Datasheet for the PMIC which you're feeding the battery input voltage way above what the battery voltage would ever be. The PMIC protections kick in because of your feeding this battery input 5v which is above the batteries safe voltage input limits.

Absolute max rating on the BAT pin on the BQ PMIC chip is 6v, that does not mean it's recommended.

This is why Particle does not recommend feeding it more than 4.4v because beyond that the PMIC things the battery is over a safe operating voltage and kicks the power output from the battery OFF.

You can keep doing this to have the lowest power consumption but you need to drop the input voltage to 3.6-3.8v.

1 Like

I didn’t know that about “waitUntil()” and “waitFor()”. Thanks.

1 Like