Rabbit welfare monitoring with Wemos D1 mini

UPDATE (2017-07-05) – I added a solar powered  battery charger.

I recently decided to do something with the Wemos D1 mini that was lying in my drawer for a while. Inspired by a ‘home-made’ weather station built by a friend, I wanted to monitor the temperature in the home of our two rabbits. As I also wanted to practice my Scala skills, I made a bit of an overloaded ‘architecture’, but I justed wanted to learn as much as possible. So here’s the setup:

  • Wemos D1 mini powered by an old iPhone 3GS LiPo battery
  • DHT22 sensor (temperature + humidity)
  • Backend written in Playframework (for Scala) 2.6
  • Slick for database access
  • MySQL database on Amazon RDS
  • Backend packaged as Docker image running on Amazon EC2 instance
  • Front-end built with React

So, that’s quite a bit. With some help in getting a stable power supply, all is finished and up and running. When the Wemos boots, it connects to my WiFi, reads temperature and humidity, posting it with an authentication header over SSL and goes to ‘deep sleep’ for 15 minutes. The device consumes around 145 mA when transmitting over WiFi while it drops to µA’s when sleeping). Check the results:

Home of the rabbits:


All stuffed up in an empty styling gel container



Wemos003 Wemos004 Wemos005

DHT22 attached to roof (hoping rabbits don’t like the taste of plastic…)


With React frontend showing temperature (in C) and humidity (in %) over a 12 hour period. If even looks nice on a phone.

Wemos008 Wemos009