Ever since my friends Anna and Sergey gave me an Arduino Starter Kit for my birthday, I’ve been experimenting with hardware: programming microcontrollers and connecting sensors to build a small home automation system. Prior to that I was a software-only person, with neither experience nor interest in hardware whatsoever.
I thought I’d try that kit maybe once, since I had it anyway. I connected a thermistor to the controller and saw my home temperature displayed in the console in Celsius, Fahrenheit and Kelvin! Seeing programs come to life, making things happen in real world and reacting to it got me excited for real. Turns out, those boring topics from school physics and math lessons have actual practical application. And I can be a part of it, with my own projects!
So here’s what I’ve been up to.
A year of fiddling went by and I built myself a simple but extensible home automation system called Koti, which means “home” in Finnish.
On the picture above is the control panel: you can turn the lamp (or any electronic device) on and off, monitor temperature and light level in the house, see how long it’s been since someone last moved, and activate voice commands in the browser.
It’s all open source, check out the code. Built on top of Arduino Uno and Raspberry Pi, with Node.js on client and server. Control panel is built in React, to be cool and all. Plus there is a Telegram chat bot as an optional way for talking to the house on the go, cause that’s what I do now.
Here is how I see my home automation setup:
Here is what it actually looks like:
It’s not crazy advanced or anything, but I am a little proud. Had a lot of fun building it, and learned a ton too.
Many people are doing similar and more creative projects, my favorite is Leonid Kaganov’s home server, with fingerprint scanner to open the door, and speakers that shame prankers who ring the door bell for fun: part 1 and part 2 (in Russian, use Google Translate, there are pictures too). And there is an open source Heimcontrol.js and SidLee Dashboard, to name a few.
In winter of 2016 I moved to New York.
And I wanted to continue with my experimental projects on the go. But it made no sense to
So I began exploring and asking myself how could I put this awesome tech to test. At that time we didn’t have American sim-cards and the intercom in our building was broken, so we couldn’t get packages delivered. Which I always believed to be so easy and “all the cool kids in America are doing it”. Here is how it went for us: USPS would just leave a note at the door saying “we couldn’t deliver, get the package at your local post office”, which is all right. But UPS would drive around with my package for a few days, and then leave a note saying “well, we couldn’t deliver, so know you have to get it yourself at our location somewhere on the South Pole. Good luck!”.
This madness had to stop. I went to Tinkersphere, which is basically an Aliexpress website come to life, and bought a hot yellow button, a battery case and some wires. The result:
So it’s a simple button, connected to ESP8266 that sleeps until pressed. Then it wakes up, connects to a
All of the code I used for the server and ESP8266 is also open source.
And I gave a light and fun