D1 mini is tricky board, so many "clones" and version around here. I have never used one (and hopefully never will), so not so much help from here.
Sure you have dht on pin D7 ? No solder bridges there to D8?
As long as there are no bridges shouldn't matter.
If you have a multimeter you could verify connection between Gpio16 and rst and that there are no solder bridges there either.
Some people use 3-digits resistor between Gpio16 and rst, some diodes. I have never studied the effect of them.
Other observations;
delay between mqtt and deepsleep is quite short.
Your I2C doesn't have pullups if not on that module.
You read battery voltage of your 5V supply? Without voltage divider. Explain that...
There is no voltage divider on this image either.
4.2V to A0. Not good.
It would be easier to debug your wakeup problem without these extra components.
So it will constantly be above 3.3v unless it is fully empty ?! What reading were you expecting.
Remove it first for now and see if the issues with not restarting properly disappears.
currently not even having any batteries in it,
iirc there should be on on the d1 mini or at least it works on the projects using exactly that schematic
I would not connect it that way. Seems a little pointless as well. Some esp8266 boards do have a voltage divider on them to begin with, since the ADC actually only has a range of 0-1v I have no idea whether your board does, but feeding more than the range is not recommended. If the inout range would be 3.3v to 0v though and you read the battery level like that, it would always read 100% The LiPo varies between 4.2 and 3.7 lineair in charge %.
That is probably a good thing. That charging module is not for load-sharing ! As long as you charge while power the wemos is not connected, all is good, but the current draw from the rest of the schematic will confuse the TP4056 and it will not stop charging even when the battery is already full. The consequences of that can be severe, usually not to bad, but your battery may explode. Also the size of the battery will have to be be calibrated to the charging current (or vice versa) Usually the TP4056 chargers are set for 1A, which would be fine for anything larger than 500mAH You can change the charging current by modifying the resistor that is connected to pin 2 of the TP4056.
But unfortunately for you, that it doesn't have a battery in it doesn't mean that there is no voltage applied to A0. Also that depends on the circuit of the charger. The protection circuit is switched usually thru GND, so actually Bat+ & Out+ are connected. Anyway remove the charger and if you do want to use it, modify the circuit so it does allow for load-sharing. The proper circuit for battery level measurement should include an Op-Amp in my opinion.
@wuzader I have been using the sensors in the link below for many years.
I use ~0.5K resistor between D0 and RST. I would not use a simple wire link, I think there is a possibility of a short circuit that way if D0 is high when the USB-serial chip tries to reset the board or the reset button is pushed.
I also use 180K in series with A0 for measuring Li-ion/Li-Po battery voltage. This resistor alters the Mini's on-board voltage divider, allowing higher voltage to be measured.
I have not updated the GitHub page to reflect this, but I have replaced the AAA size Li-ion batteries & holders shown in the photos with 1800mAh Li-Po packs. This has extended battery life from less than 3 weeks to around 12 weeks. Unlike the AAA size batteries, the Li-Po packs are protected against over-discharge, which is important.