Come è noto, una batteria al litio si deteriora rapidamente se lasciata completamente scarica, anche per un breve periodo. I Battery Management System (BMS) comunemente utilizzati nelle batterie operano con soglie di intervento molto basse, scollegando il carico solo quando la batteria è ormai esausta.
Questa linea è presa dal datasheet del DW01-P, che si trova a protezione di molte batterie o pacchi batteria

Supponiamo quindi che il BMS disconnetta la batteria quando la tensione scende a 2,4 V e la riconnetta a 3 V.
A 2.4 volt la batteria è praticamente esausta, inoltre, quando il BMS scollega il carico, molto probabilmente la tensione della stessa risale un pochino e può capitare che, se supera la soglia di riconnessione, il BMS riattivi il carico.
Questo, a sua volta, provoca una nuova caduta di tensione, disconnettendo nuovamente la batteria e dando origine a un ciclo di accensioni e spegnimenti continui finchè la batteria non si esaurisce del tutto e si deteriora irrimediabilmente.
Per ovviare a questo ho progettato un circuito con un microprocessore a basso consumo che stacca il carico quando la batteria non è completamente esausta e lo riaggancia quando è abbastanza carica.
Le soglie invero sono completamente regolabili.
Inoltre, genera un segnale basso periodico con periodo configurabile, es. 24 ore, che può essere usato per resettare un nodo con un firmware non molto stabile.
Il consumo è irrisorio, ho misurato 5uA
Qui il link al progetto, ci sono gli schemi e i file gerber
Spero possa essere utile, io ne sto usando un paio con successo