AM43 blinds to ESP8266 hardware conversion


Just want to share instruction on my hardware modification to AM43 blinds engine. This mod replaces BLE module inside device with ESP8266 module allowing to control blinds using MQTT.

All projects that I saw used discrete devices to bridge MQTT/REST -> Wi-Fi -> BLE, and since I have many problems with BLE module range and response times the only way for me was to completely replace BLE module.

Instruction below:
AM43 WiFi

Also you can add some rubber sound-vibration damping material around motor and gearbox to reduce noise. This improves device acoustics a lot! After mod it’s almost unnoticeable at night.


I don’t have this blind controller, but it looks interesting.
Am I right in thinking the thing entirely runs on batteries? - What’s the life like when it’s powering an ESP ?

It runs on 8.4V power adapter plugged into mains and have lithium battery with solar panel for backup. So i’ve ignored battery life aspect of mod. But when assembling and testing it worked fine for around a day or about 30 cycles of Up/Downs without mains power and still haven’t discharged.

1 Like

Looks like a job for esphome :slight_smile:

Could you please mention what other libraries you have used?

#include <ArduinoJson.h>
#include <ArduinoOTA.h>
#include <DNSServer.h>
#include <FS.h>
#include <ESP8266mDNS.h>
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
#include <Ticker.h>
#include <WiFiClientSecure.h>
#include <WiFiManager.h> // WiFi Configuration Magic
#include <WiFiUdp.h>

Possibly put the file after compilation.


The libraries are in the source.

it works great! Thank you very much. It’s the only functional way I’ve found. BUT, Discharging the battery is a big problem for me. I don’t want my power supply still connected. Can you please add a deep sleep sequence?

For example:
5 min - deep sleep
20s - wake

or something similar…

Thank you

btw. ESPHome would be a good way.

Look great, but how I can change settings defined in native software (like min/max position of blind, timers, etc.?) In native application we must defined this settings for any window (position 0% and position 100%) What if I remove engine and install on another window? How I can put this settings for different window?
(sorry for my english)

Currently it’s only possible in native software. I’ve added ability to change device settings in library, but it is not used in current version of software. This will be added later. But for now i can’t work on new version for some time.

Thanks God, because today I ordered ESP for 5 engines :wink: I will waiting for this software. Good job!

Also as temporary workaround, as i remember, AM43 window limits can be configured using buttons on engine itself, without any wireless APP

Any chance you could show, how/what you did to reduce the noise?
I have this device and it isn’t holding it’s open and close setting on the solar panel.
I’ve just connected the power adapter to it but need to reset it again for the open close limits to check it.

Just a slow update, ESPHome version of conversion is now available in repo.

Also there is now official ESPHome AM43 Cover component released and integrated into ESPHome which is actually WiFi-BLE bridge. So you can choose between this hardware modification and just using a bridge.

1 Like

Just wrapped motor with some sound dampening material, like this:

I have this device and it isn’t holding it’s open and close setting on the solar panel.

Did you converted it to WiFi? If no: this can be some random problem with device power, blown/defected capacitors etc.


first of thanks for your work. First used your arduino build and now esphome. Both work for my 8266 units. I was planning to move to the esp01 is it possible to trigger the reset via gpio 0 or 2? I am testing it now, by using an adapted am43.h is esphome and select pin 2 instead of 5 and removed the status command in the esp yaml config.

Great job, it’s exactly what i’ve looked for! but a power consumption is so huge that battery discharged for 10 hours with plugged solar panel.

Did you figure out if auto-reset can be triggered with gpio 2 on the esp-01s card?


Not sure tbh,

I used that pin by adapting the am43 file but i have 2-3 shades of the 8 that need a hardreset every few weeks by pulling power and battery.

Ouch, that seems to be a bit more hassle than it is worth. Are the ones having to be manually reset those with poorest wifi signal?

I bought this device as it is supported in ESPHome in combination with a ESP32 and BLE. But unfortunately I have the Tuya version which is not supported apparently :cry:
So I’m gonna try this project.

I know if I have a ESP01. But do you think a D1 Mini is also possible?

I found this in a drawer :blush: If I’m correct this is a ESP-12F

Edit 2:

Can you tell me what these wire and resistor do? And how to wire them? I can’t find them in the written how-to.