I need some help with my solar weather station

Hello,
I'm currently building my first weather station which is sending data to ThingSpeak: ESP8266-12 Weather Station - ThingSpeak IoT and also Blynk which I want to power from LiFePo4 battery (still waiting for that from Ebay so meanwhile I'm using fake UltraFire LiPo with measured capacity of 500mAh) and charge it up with solar panel. As a microcontroller I'm using ESP8266 Wemos D1 mini board for testing and in the final version I will be using standalone ESP8266-12 because it will need less current, but it is harder to prototype on. I'm using 5.5V 0.66W 120mA solar panel from ebay http://www.ebay.com/itm/112369092000 and today I did some testing by connecting 10k potentiometer or LEDs or charging board with battery but I was happy if I get 1mA a few cm directly under very strong LED lamp. Then I also used diode but with Vdrop on it it was totally pointless.

My ESP will only measure and send data like once in 5 minutes and then it will go to deep sleep. I measured 268uA which I think is a lot for deep sleep but better than nothing. I'm putting esp to deep sleep with this: ESP.deepSleep(sleepTimeS*1000000, WAKE_RF_DEFAULT); and also sometimes is was drawing like 200mA for all the time like and it was quite unstable in my opinion. So after I restart it many times it was again falling into deep sleep and sometimes no. What can cause this? Low voltage? I was using 3.3V from lab bench power supply higher V like 4V was totally stable and it was in deep sleep everytime as it should.

Another problem is that I want to measure with photoresistor/LDR light in Lux so I need for that one analog pin but I also need voltage from the battery which is another one. I know that I could use a multiplexor but there must be another way how to solve this. And there is another problem with that voltage. At the beginning I will set up ADC_MODE(ADC_VCC); and then float voltage = ESP.getVcc() /1000.0; which looks fine but when I plug battery which has 4V when I measure it with multimeter I'm getting readings of almost constant 3.4V. But when I did this with standalone ESP I was getting exactly the same number which I connected to VIN pin from lab power supply. So what exactly it measures on wemos D1 mini board? Maybe output of some regulator or something. And I'm powering it from battery by connecting + to 3.3V pin and - to GND.

Hardware which I'm using:
Wemos D1 mini/NodeMCU or standalone ESP8266-12
DHT22 for temp and hum.
BMP180 for temp. and pres.
Photoresistor for light [Lux]
Power supply: currently LiPo but I'm waiting for new LiFePO4 batteries from Ebay/USB/Bench power supply

So in conclusion:
1. What's wrong with that solar panel and it is enough?
2. Is that current normal for deep sleep and if no what's wrong? And why it is "unstable"
3. Can I have 2 analog pins on esp without multiplexor??
4. What exactly is ESP.getVcc() measuring on wemos d1 and why I'm getting 3.xxV from 4V battery?
5. Can someone recommend me charging/powering circuit for this case? I spend whole week by searching google and I'm just very confused right now because solar panel has max power point which is bad to exceed because I will get nothing from it or what charger should I use? Maybe only LM regulator or some buck converter?
I want to make it really good and understand to everything and later when it will be done I want to share my knowledge in video how I built it.
Some photos: Imgur: The magic of the Internet
Thank you :slight_smile:

  • Don't understand your description of how you tested the panel or what you think is wrong. But using an led lamp to test it is not a good substitute for the sun.
  • My Wemos use about 170uA in deep sleep, I think that is normal. 80mA is normal for wake/transmitting. 200mA is not normal as a current for either sleep or wake (when measured with a DMM you see an average, not the peaks, which may be as high as 200mA). Do you have a genuine Wemos or a clone?
  • No, the esp has only one analog input. You can add more analog inputs with a separate chip/module such as ads1115. Or you can use a digital light sensor such as bh1750.
  • You are measuring the output of the 3.3V regulator on the Wemos, so you get answer of 3.3V. Use the A0 pin with a 180K resistor connected to the 5V pin. The Wemos has a voltage divider on the board which allows voltages up to around 3.3V to be measured. The 180K will extend this to around 4.7V.
  • You can get modules on eBay for charging Li-ion and LiPo batteries from solar panels. I don't know about LifePo4 batteries, I never looked for them.

Have a look at my weather station for ideas.

s-l400 (11).jpg
s-l400 (12).jpg
s-l400 (13).jpg

s-l400 (11).jpg

s-l400 (12).jpg

s-l400 (13).jpg