Smart environment monitoring using an old smartphone
I received a very special device as a company phone back in 2013: the Samsung Galaxy Note 3. The team in Korea had a brilliant idea, distinguishing their new flagship phones from the competition by adding additional sensors and marketing them as super-smart "surroundings-aware" devices. Mainstream consumers didn't really care, and therefore only the 2013 models Galaxy S4 and Galaxy Note 3 have these additional temperature, air humidity, and atmospheric pressure sensors. But you should care 12 years later, because these two devices are hidden gems.
Why should I care?
Because nowadays, you can buy this 12 year old device for 20–30 dollars (euros) and transform it into a super-smart environment monitor with a beautiful AMOLED display, an integrated battery that can withstand and therefore detect power outages, Wi-Fi, Bluetooth, and even infrared communication! And of course, it comes with a default set of smartphone features like a camera, microphone, light sensor, and proximity sensor.
But this will be a lot of effort
That's right. But I've already built it for myself and now I've made it public and open-source! So here comes the Enviromon. It consists of an Android app, a Python server, and 3D printable models for frames and stands to give it a polished finish.
It can:
- gather temperature, humidity, atmospheric pressure, light & noise intensity, charging status, and battery level from the device sensors
- display temperature and humidity on-screen
- if an OUTDOOR device is available, show outdoor temperature and humidity on every other device
- upload sensor data to the server every minute (and update outdoor data if available)
- automatically turn the display on and off based on surrounding noise levels
- adjust the screen brightness dynamically based on ambient light conditions
- display debug metadata at the bottom of the screen if debug mode is enabled
- apply automatic per-device temperature correction if your sensors have a constant deviation
That's cool! But I already have a weather station
Okay, but this one is smart! It's basically a standalone Linux-powered device with an integrated display and UPS. :) You can expand it to perform many other tasks simultaneously. For example:
- develop a weather forecast algorithm (detect sudden drops in atmospheric pressure)
- show more data on the display (today’s calendar, weather forecast...)
- control non-smart devices directly (because it has Bluetooth and even IrDA capabilities!)
- add a button (or reimplement the app's noise detection feature for continuous prompt listening) and use it as a voice command input and response device
- use the phone camera as a simple security cam, triggered by motion, sudden light drops, or changes in noise levels
- use it as a night light, activated by noise
- receive notifications about power outages, humidity spikes (did someone forget to open a window after showering?), or temperature drops (did someone leave a window or door open in winter?)
Bottom line
I started this project more than eight years ago, tinkering with it on and off between other projects and responsibilities. But the good news is that I’m now on sabbatical starting this month. So I finally got time to update it, clean it up, and finally release the project so more of you can benefit from it.
If you find it intriguing, enjoy! And feel free to give me feedback if you liked it. I’d love to hear about your custom setups and unique use cases.