First project from our Intern’s lab: a mikromedia WiFi weather station. It’s compact, battery powered, and it comes with a dashboard you can access from any browser, hosted on the STM32-M4 MCU itself.


Stefan, the intern who made this, is no amateur. He was in the team that competed at this year’s National Eurobot, with a robot full of click boards and MINI-M4 boards.

So he knows his way around STM32-M4 microcontrollers.

To make this weather station, he combined a mikromedia for STM32-M4, a mikromedia mikroBUS shield, a SHT1x click to measure the temperature, and a WiFi plus click for connectivity.

The touchscreen displays temperature and relative humidity. But what’s innovative is how Stefan made the dashboard:

The dashboard consists of temperature and humidity readings, along with two graphs, with data being refreshed every 5 seconds. It’s a webpage hosted on the STM32F407VGT6 MCU. When you type in the IP address assigned to WiFi click in your browser, the MCU receives a http request from the router and you get the page displayed. A Google Java script library is used to display the charts, while AJAX is used to send requests to refresh the data readings.

The dashboard also incorporates two text boxes to enter threshold values. You could connect the Weather station to a few heaters and coolers to control room temperature for example.

Stefan said that programming all the elements of the user interface was the tougher part, while the hardware stuff he was pretty much at home with.

So much so that he took the time to port the code, originally written in mikroC, to mikroBasic and mikroPascal. You can see it on Libstock.

No doubt, Stefan demonstrated his ability to get things done.

Now go on and try to improve it for your own needs. This is a Let’s Make project so you can get all the components at a better price ($169, saves you about $20).

On an unrelated note: can you spot the bearded face in the olive tree at the end of the video?

Yours sincerely,

Share on FacebookTweet about this on TwitterShare on LinkedInShare on Google+