Smart Curtain Rod and New TMC2209 Integration

I’ve retrofitted my existing curtain rod and automated it via ESPHome.

In this video I’m using ESPHome → HA → Nabu Casa → Android phone to make it move and show you how responsive it is. Watch till the end to see how the motor works.

While building this, we managed to integrate the TMC2209 as a new stepper component as well. If you have a TMC2209 project, check out my writeup here on how to get it to work with ESPHome.

1 Like

What is it? Self made? Or?

Yes, self-made. There is a string connected to the back of the curtains which runs through the motor that you see. Here’s a photo of it attached to the wall with the string running up to the curtain. There are a series of pulleys as well. You can download the 3D files off my website for free

Get the following error when trying to compile on the latest ESP Home:

Compiling .pioenvs/test-shade-roller/src/esphome/components/uart/uart_component_esp8266.cpp.o
In file included from src/esphome/components/tmc2209/tmc2209.cpp:1:
src/esphome/components/tmc2209/tmc2209.h:4:10: fatal error: esphome/core/esphal.h: No such file or directory
    4 | #include "esphome/core/esphal.h"
      |          ^~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
*** [.pioenvs/test-shade-roller/src/esphome/components/tmc2209/tmc2209.cpp.o] Error 1
========================== [FAILED] Took 1.57 seconds ==========================

I’m having the same issue as rofuskit:

Compiling /data/val-1000/.pioenvs/val-1000/src/esphome/components/tmc2209/tmc2209.cpp.o
In file included from src/esphome/components/tmc2209/tmc2209.cpp:1:0:
src/esphome/components/tmc2209/tmc2209.h:4:33: fatal error: esphome/core/esphal.h: No such file or directory
compilation terminated.
*** [/data/val-1000/.pioenvs/val-1000/src/esphome/components/tmc2209/tmc2209.cpp.o] Error 1
========================= [FAILED] Took 12.73 seconds =========================

Any clue how to solve it?