To test a real world high load scenario, I set up a Pi 4 with large heat sink (to maintain maximum frequency) and configured it to run from a 500GB WD Black NVMe SSD using a USB to M.2 adapter. I also stressed the system with the following command:
stress -c 4 -i 2 -m 2 -d 2
I used an extra stacking header to make the LiFePO4wered/Pi+ fit above the heat sink. Here's the setup:I wanted to make sure the system would run stable from both battery and when externally powered, and switch seamlessly between the two. I also wanted to take some thermal shots in both conditions.
Here's the first thermal shot when running from battery:
showed it at 73°C in this setup. The load current would fluctuate between 1.6 A and 1.8 A.
When the battery was getting low I plugged it in to external power and waited a while to let the temperature stabilize:
I'm not entirely sure why the Pi's temperature would go up, it might just be that I hadn't let it settle for long enough in the first picture. The SSD temperature is similar and the LiFePO4wered/Pi+'s temperature is higher because it now is also converting input power. Still, all these temperatures are completely reasonable for a system under high load.
I plugged and unplugged external power a whole bunch of times to ensure the UPS would do its job as expected and saw no issues. Then I let the battery run out and observed that a clean shutdown was performed. Everything working as expected!