There is no point in having a smart home if you don’t see interesting information or control things. The traditional way, ever since the concept of smart home came to be, is to have some sort of central control panel for everything. In today’s world, that would be a tablet. In my attempt to do that, I ran into the control panel horror.
In parallel to this, I thought about the idea of having small screens in relevant places around the home: bedroom, living room, kitchen, office. The temptation is really really high considering that they can work as clocks which are syncronized all over the house and display some other information. Oh, and they are really cheap.
How cheap? An esp8266 in various forms, whatever favourite size you have of ILI9341 SPI displays (1.44, 1.8, 2.2, 2.4 2.8 or 3.2 inches), some 3D printed box and an old micro usb charger. So it can be as little as 10 Euro, but no more than 20. Very tempting to have one around, isn’t it. I made quite a few:
The one in the bedroom has a MH-Z14A CO2 sensor attached at the back (not recommended), so it is a bit … expanded.
The living room has another one
Both of these are showing the clock, plus inside (left) and outside (right) temperature and humidity.
The one in the office – where I spend a lot of time working at the smart home system – has a bit more info, but don’t ask me what the extra things are, it’s work in progress. I’ll give a hint: the 3% is the CPU usage on the server.
The recipe for the screens is quite simple: grab your typical ESP8266 module, Arduino, some LCD libraries and some fonts, ask MQTT for the data exchange and then spend 1,5 eternities to arrange text, play with fonts, alignment and other stuff to make it look decent. Not recommended. Some inside pictures:
What’s the problem?
These devices are doing a good job and quite valuable. However, they are failing in two ways:
- The quality of the displays is really poor. See how the screens have a blue background? that should be black, but light is leaking, which is visible in dark rooms. Contrast is not so great on a 7 euro LCD. An improvement I have is that the brightness is set using the light sensor I have outside.
- No remote control abilities, but wait…
How to remote?
The general idea is to have a control panel in one place and a web interface to be accessed from any mobile device or PC. Most of the things are automated and you don’t need to change them often. But some things need to be changed often and the system cannot guess, like what my intention is towards some lights.
So enter a simple remote control … the fatmote.
It’s quite an improvisation: a 3D printed round box and inside I put together a battery holder, Zen module and used an LED to keep it visible through the night. Actually I like the concept of round boxes because it saves from screws or tabs and are very intuitive and have a more organic shape.
Exploring the touch screens
Why not use the cheaply available screens with touch and do both. I explored two directions, visible below
On the right: the same ILI9341 with rezistive touch and a touch of LittlevGL for GUI development running a quick test (possibly not the best choice).
On the left, a Nextion LCD which, even if more expensive, comes with the nice software to easily develop the GUI. The GUI works so instantly that I could make a simple battery powered remote control which can be woken by a touch sensor.
I mean…push screen
But they both have a problem: the rezistive touch screen is more of a push screen, which has no place in today’s world. Unfortunately, capacitive LCDs of small size aren’t that easy to find and quite expensive. So expensive that, considering the small number I need to make, are not a good option in comparison to a cheap smartphone. Too bad, I liked the concept…