After dealing with a bunch of no-boot issues while not plugged in and random issues like the clock being wrong I replaced the RTC battery with one from eBay that had a recent manufacture date. All issues are gone and it boots reliably while not plugged in now. The battery I removed had a voltage of 2.1 volts. I suspect it finally dropped below what the system would safely charge. The new battery had an out of box voltage of 2.7 volts. Throughout the last few years I had to disassemble and remove/reinstall the RTC battery a few times to get it to boot but that stopped working as a workaround. The battery I used is below. No relation to the seller, wanting to share in case it’s helpful for others.
I get this was a first generation product from a startup and it has it’s quirks. I dealt with the quirks because I wanted to support the idea behind Framework and still do. It would be a nice gesture to offer first generation owners a discount on an upgrade. Even a small discount like 5% would be a nice gesture for the customers that were the most passionate about backing Framework from the beginning and had to deal with the quirks and flaws like the RTC charging issues. Hopefully this is helpful info for someone running into the same issues. Also maybe food for thought if anyone that works for framework sees this. Cheers!
If you experience this issue after less than 8 weeks from the last time you charged the device, contact Framework support. They will send you a free replacement RTC battery regardless of warranty status.
Please do not replace the cell with one you buy online. The cells Framework provides have been validated by their manufacturing partner to be within spec. Cells that may be out of spec could cause damage to the board. Given that they will give you a free replacement, it’s not worth it to risk the damage.
Yeah, one would only know about it if they have been following this closely, or reach out to Framework Support. Here’s the link to the most authoritative post on this warranty matter (follow the link to see the full post):