A few days ago, I received this Xiaomi Bluetooth Thermometer. It is a small and inexpensive device which can measure the temperature and the humidity of the environment and it presents the data in a relatively small LCD display. It costs around $20 and you can get it here.

The reason I got this device is that it offers Bluetooth LE (low energy) capabilities. You can pair this device with your smartphone and receive the temperature and humidity reading on your smartphone wirelessly. This is a cool feature but not the reason I bought the device.

The reason I bought this device, is that we can also get the readings from this device using our familiar ESP32 board! The ESP32 board offers Bluetooth capabilities. We use the Bluetooth module of the ESP32 chip to pair it with this Xiaomi thermometer. Some users have already hacked the communication protocol of this Bluetooth device so we can get all the data the Xiaomi device reports! How cool is that!

I discovered this by watching the following video, check it out.

I am going to try it as well and post a video about it. My plan to use the Xiaomi device to report outdoor temperature and humidity and the display them inside my house in a custom-made project. Since this device is a commercial product, its battery life is much better than what we can achieve using custom-made hardware. So, I think I am going to exploit this device as an outdoor device.

Also, I plan to try the same technique with other Bluetooth enabled Xiaomi devices. We can exploit them to do some cool stuff. I can’t wait to start playing with it.

 

UPDATE 12/8/2018

I tried the hack and it works great. Check this video out: