book collections email follower instructable user
Picture of Solar Powered NodeMCU Weather Station

In recent years, there has been a lot of buzz going on about having what used to be very mundane everyday household items become "smart" by being able to be connected to the internet and communicate with you or with other smart devices.

This concept - more commonly referred to as the "Internet of Things" (or IOT) - has unleashed an avalanche of smart thermostats, front door locks and refrigerators - all with the ability to let you know whether you need milk or that you've left the back door open and now the cat has escaped and is terrorizing the neighborhood.

Being someone who has made a career in the Information Technology field, I was starting to feel a wee bit out of the loop about these things - not a good place to be for any self-respecting IT guy.

I could have just simply read up on IOT devices, but why waste a perfectly good excuse for a bit of puttering in the shop...

You can literally build anything with a little electronic "LEGO". A quick search of the internet showed me many examples of people building their own IOT devices in such a way.

One common thing that I found with these projects was that a lot of them used a small Arduino compatible device based on the ESP8266 board.

The really nice thing about these boards is that they are:

  • fairly small (maybe 3 inches long and about an inch wide)
  • have Wi-Fi capability
  • easily programmable with a number of computer languages
  • extremely cheap (around $4 on e-bay)

As a starting project, I wanted to do something fairly simple and fairly useful.

I was always a bit of a weather nut, so I decided that I wanted to build a wireless thermometer that would let me see what the temperature was while I was away from home. I figured that this would be a good first project.

Step 1: Parts to Build the Weather Station

Picture of Parts to Build the Weather Station

To create the weather station I first needed to collect the following items:


  • A NodeMCU ESP8622 Board
  • DHT22 temperature/humidity module
  • A small perf board
  • A 5 Volt Solar cell
  • A Yellow LED
  • A 1 amp Solar Charger Controller
  • Three AA 3.7 Volt Lithium-Ion rechargeable batteries
  • Three AA Battery holders
  • A 0.9-5 Volt to 5 Volt Step Up Booster Module
  • Various bits of wire
  • various pieces of 1/2 inch birch
  • 1 inch hinge and screws
  • white paint
  • wood glue
  • drawer knob


  • Soldering Iron
  • Table Saw
  • Miter Saw
  • Drill Press with:
  • 1 inch drill bit
  • 1/8 inch drill bit
  • 5 mm drill bit
  • Nail gun
  • Hot glue gun
  • Screwdriver
Bettelmage4 months ago
How low will your battery voltage go? I mean, if you are talking about empty battery, how empty is that? Did you protect or take care of over-discharge situations? I am always a little bit concerned when it comes to lithium.
I hear you there - The last thing I want is a small fireworks show outside my window.

The charge controller has a built in over charge feature (which I think is pretty typical for a solar charger) so we are covered there.

As for the over discharge situation - to be honest I hadn't really thought about that - my take is that the 5 volt up converter needs a minimum operating voltage of 2.5 Volts - if it the battery voltage drops below that then the up converter shuts down, So I suppose I would have some inherent under voltage protection built in.

Though I will defer to anyone who has a more educated opinion :)
Ah - I didnt see that! To be on the safe side, you could use a board that is including a DW01 protection IC. For the TP4056 charger boards there versions with the DW01 out there.

Nice Project! Thanks for sharing
Agreed! - I've seen some pretty nasty videos on what those batteries can do. I am pondering on a "Mark 2" of the weather station - it would be prudent to swap in a board with that protection build in.

Glad you like the project!
thats very useful! Thanks for sharing
Thanks!!!!! :)
Daijoubu4 months ago
What's the capacity of these AA sized Lion cells? I'll rather source a single, higher capacity 18650 for ease of charging, no need to worry about matching cells, also, why use a boost converter to 5V just to have it dropped to 3.3V by the NodeMCU's on board regulator? You can find buck/boost 3.3V converter on ebay based on the MT3608 for $1.5 and bypass the LDO. For charging, a simple TP4056 will suffice with a 5-6V solar PV

Alternatively, if you require more power, 2S or 3S with a 3.3V buck converter will be more efficient, using a larger solar panel and/or higher voltage (12V+) and a TP5100 (2S) or a CN3722 MPPT (3S) charge controller + appropriate 2S/3S BMS but that may be overkill.
The batteries are rated at 450mAh - granted likely more suited for running a LED garden light than an ESP8266. So I would agree that a single higher capacity would be a preferred solution. The main reason that used those particular cells was that I was able to get them very cheaply (I paid about 5 dollars for a pack of 10 on ebay).

I actually didn't consider just feeding the straight 3.3V into the NodeMCU - I suppose you can say I had "tunnel vision" on using 5 volts - in hindsight it makes more sense since the boost converter is also using power that would have otherwise gone to the NodeMCU and likewise there was power being wasted stepping back down to 3.3V.

At lot of the design was based on what I had on hand (when all you have is a hammer, everything is a nail :) )

The nice thing about this is that at least this is easily modifiable with a lot of potential for improvement - I'm actually quite intrigued with upping the battery capacity and running a lower voltage. While it is running quite well - I do occasionally find that the batteries can run out of juice if there is a few days of bad weather (very cloudy with no sun) which can happen during the winter in my part of the world.

Thanks for the suggestions!!!!