Udi Cohen's ESP32 Smart Shade Control Tags Positions via NFC, Responds to Voice Commands

Building up from a basic prototype, Cohen's finished controller includes Google Assistant integration and smart NFC position monitoring.

Gareth Halfacree
3 years agoHome Automation

Maker Udi Cohen has published a guide to automating balcony blinds, building a custom controller with near-field communication (NFC) support for smart position monitoring and integration with the Google Assistant voice command system.

"These past few months I spent mostly at home, as everyone else, and decided to take on a project to improve my time there," Cohen writes. "With three kids at our cozy apartment, it’s no wonder I loved spending a lot of time on our balcony. While I like the breeze and the view, I hated lowering and raising the sun shade. It’s a heavy shade, so it took more effort and time to operate than a regular bedroom window shade/blinds. I challenged myself to automate this shade by any means necessary!"

"I found a strong motor, designed a circuit and programmed a microcontroller to run the show. I mounted a switch box with up/down buttons and used NFC to support 'shade presets.' Finally, I got everything connected to the internet and respond to voice commands from Google Assistant."

The heart of the system is a low-cost microcontroller development board built around the Espressif ESP32 and programmed with the Arduino IDE, along with a PN523 NFC module. These are connected to a robust metal-geared servo motor, and the system housed in a waterproof plastic box. While the initial prototype was battery based, a five-day runtime between charges proved inadequate — and the decision was made to switch to a mains supply.

The next upgrade was the addition of NFC support — but for position monitoring, not control. "I decided to try an interesting approach - using NFC to read position markers on the shade," Cohen explains. "The problem with the magnets approach is the fact they aren’t distinguishable, so the shade controller can’t know which magnet is caught by the Hall effect sensor. Using an NFC reader, the shade controller can read NFC tags placed on the shade in different places and decide whether to stop or continue raising/lowering the shade. The NFC tags are distinguishable by their ID, but they also allow writing data in them, which can be used for storing in each NFC tag the position it represents (e.g. '100% open,' '50% open')."

The initial prototype was basic, but evolved into something rather more user-friendly. (📹: Udi Cohen)

Cohen has written a detail post of the controller's evolving design, as well as the steps to integrate it with Google Assistant for voice control using IFTTT and Adafruit IO, on his blog, as well as a step-by-step guide on Instructables.

Gareth Halfacree
Freelance journalist, technical author, hacker, tinkerer, erstwhile sysadmin. For hire: freelance@halfacree.co.uk.
Latest articles
Sponsored articles
Related articles
Latest articles
Read more
Related articles