IOT Weather Station

As today, global climate change very frequently and cause day to day weather fluctuate a lot. As weather change day to day and the importance of energy saving matters, the growth of IOT device in weather data collection and analysis play a crucial role in everyone life. Therefore, I would like to take this opportunity to create a simple IOT weather station.

IOT weather station is a device that capable to collect temperature level in our current environment. This system consists of LM34 sensor to detect current temperature where it is placed and display it in the LCD screen attached to device.

Furthermore, this data will be consistently collected and send to IBM bluemix (clouds) through WIFI and MQTT communication protocol. While IBM bluemix does provide interface displaying current temperature level and can be hosted and viewed through web browser. This collection of data also can be used determine and provide suggestion on optimal temperature needed in our home. There many other functionality and usage can be derived from the collected data.

Hardware & Software:-

Microchip SAMW25 – ARM Cortex M0 + Wi-Fi ATWINC1500 SoC LM34 – Temperature Sensor (digital signal) Operation range – temperature-40~80Celsius LCD – Basic Character LCD (16x 2) Connects to i2c backpack BOM Cost ~ USD 37.60 Software - Atmel Studio

IOT Weather Station Design: Design

Bootloader Implementation: -

Internal flash basically keeps the boot status address and current application. While external flash contains golden image, firmware version and code.


Cloud Connection:

IOT weather Station connects to IBM bluemix node-red thru MQTT. In my system, my custom board attached with temperature sensor sends the detected temperature to MQTTcloud and MQTT will broadcast this data to node-red.

Discussion: Were there any surprises you ran into during development? Wrong L1 inductor for boost regulator Incorrect routing for 5V to headers in PCB design Difficult to update firmware when debugger connected Issue enabling pull up for DHT22 sensor

How did you handle them? Pull up 5V directly from boost regulator output . Use simpler LM34 temperature sensor using ADC.

What would you do differently the next time your designed your device? Verify and validate PCB design in details to avoid routing issue. Explore and understand 1 wire protocol better before the development starts.


I worked in a group with Aasif and on his board for the final demo. The IoT Door Lock used a photo sensor to sense the ambient light in a room and the actuator was in the form of a servo which was connected with the server to control the opening and closing of the door.

Firmware Demo:

Demo Video:

Built With

  • adafruit-lcd-screen
  • atmel-studio
  • bluemix
  • dht22
  • lm34
  • mqtt
  • samw25
Share this project: