Introduction: Easy IoT Weather Station With Multiple Sensors (enchanced 1)

Picture of Easy IoT Weather Station With Multiple Sensors (enchanced 1)

This Instructable is only about adjustment necessary on source code of original Instructables, while I had problems to get it running. The main problem - I did not have all but only DHT11 sensor attached, the setup() was failing while other sensors were not found.

The hardware part is exact same as on original. I connected only termo/humid DHT11 sensor.

I had to make some adjustments to the Arduino sketch code (see next steps)

Also I tested 2 boards and everything worked the same (see images of the ESP boards):
a) ESP12E DEVKIT V2 ( (baud rate 115200)

b) NodeMCU AMICA (baud rate 115200, despite on board written "use 9600")

Step 1: Arduino Configuration and Adjustments

1. downloading in Arduino IDE the board need to search for "NodeMCU" that download huge package. Select "NodeMCU V0.9" board for compilation, the same did worked well also when board "NodeMCU V1.0" was selected.

2. module ESP8622WiFi is not downloaded automatically with the boards. I downloaded it myself and to put into library/ESP8622WiFi (found here and read READ.ME file inside)

3. need to download separately other sensor libraries:

for Adafruit_Sensor - library Adafruit Sensor Unified

for Adafruit_BMP085 - same library name

4. I've connected only DHT11 sensor, so when started, the reading of next sensor just reseted the board. Solution - I wrote a lot of #ifdef for all sensors and than it worked. Final source code is attached

Step 2: Arduino Enchanced Script

The original script Weather_station_for_instructables.ino needed multiple #ifdef so I stored a final one here


JohnL183 (author)2017-05-15

Has anyone connected this to a WeatherUnderground account?

NikushaC (author)2016-12-06

Thanks a lot for your adjustments! Finally, after many hours of searching for solution, your sketch saved my project ;)

MattiaGrazia (author)2016-10-22

how do you change the reading time of the sensors? (e.g one time per hour)

vaxus (author)MattiaGrazia2016-10-24

I have not done it, but definitelly possible with delay() command.

Or another possibility, I red somewhere that you can programmatically make reset of the board by connecting reset button to a digital output. So you can reset the board (hard-core sleep) so it will consume less energy. You should search for that solution.

seamster (author)2016-10-07

Nice, thank you for sharing your adjustments.

About This Instructable




More by vaxus:How to change the name of HC-06 Bluetooth moduleHouse AutomationArduino Projects
Add instructable to: