If you go with a 12V solar panel due to low cost (e.g. those cheap car battery maintainers), a buck converter with a capped duty cycle will be close enough to proper MPPT for this application. If there's already a microcontroller in the system with some left over resources, you could have it measure the output current of the converter and try to adjust the duty cycle limit for the most output current, that's a simple way to do "proper" MPPT without explicitly measuring power. (It doesn't even need to know the solar panel voltage or current, you're just trying to get the most charging current you can.)
The MPPT solution surely would be nice, but I do not think I will implement it due to space constraints, costs (mainly designing costs) and due to the fact that the geographic regions that it will be delivered is irradiated by the sun for most of the time, so I will just forget about MPPT and if needed I will increase the battery capacity.
Intresting solution tho, it might be usefull and I will try to implement it anyway, just for tests.
I think a lot depends on how long those short peaks of 400mA last, as well as how much current it will draw during the rest of the active hour.[...] Also, will this hour of run time take place during the active charging period, or at night?
As an aside, a boost converter will draw some material current even when it sees very little load. So instead of having your circuit sleep for 23 hours per day, you could put a P-channel mosfet ahead of the boost, which would let you switch off all current to the circuit, and the RTC (such as a DS3231) would switch it back on at the alarm time. So there would be zero battery outflow except during the active hour. But it would still charge just fine.
Unfortunaly I did not have any chance to evaluate the duration of the 400mA spikes. I am taking into account a 2 seconds peak, that is way more than enough (it is a lora transmission burst).
It will likely be active during the day but I was thinking to use just the battery power and not draining power directly from the solar panel, since I do not know how much current i can derive from it. That is also the reason why I am setting a very low current charge for the lipo. When the circuit wakes up, the charger is DISABLED, so that it does not provide any current.
Disabling the boost when the uC is inactive was already in my mind, it surely is a good move.
[...]A "load sharing" (aka "power path") circuit can prevent that, but is a bit complicated for a solar supply. I can post one if you're interested.
[...]TI's BQ24074 appears to be a good choice for solar charging, and it comes with power path built in. It comes in a QFN package, which is not so convenient for hobby use. However, Adafruit makes a module:
https://www.adafruit.com/product/4755
with a user guide:
https://learn.adafruit.com/adafruit-bq24074-universal-usb-dc-solar-charger-breakout
You would still need the boost converter.
As said above, i will just avoid the situation in which the solar charger needs to provide power to the circuit by disabling the charger when the circuit is awaken.
This could still be usefull and if you would like to share any material on the topic it would be very appreciated!
Allow me to post the schematic I came up so far, it is basically the one that you can easily find online when looking for TP4056. I hope I manage to get some LiPo with internal NTC so that i can use the temperature controll embedded in the charge regulator.
Thanks again for all of your answers and help!