Je bricole sur un firmware espressif IDF open-source qui transforme un ventilateur de plafond Create Windcalm en appareil Zigbee natif, en remplaçant le module Tuya d'origine par un ESP32-H2.
Une fois flashé, le ventilateur apparaît directement dans Home Assistant (ou toute box Zigbee) sans cloud, sans dépendance à l'application Tuya.
La synchronisation avec la télécommande RF physique fonctionne dans les deux sens, et les mises à jour de firmware se font en OTA Zigbee sans démontage.
Le firmware est fonctionnel et peut être flashé dès maintenant mais il reste à tester sur davantage de configurations. Si vous avez un Windcalm et l'envie de tester en mode labo, c'est déjà possible !
La carte utilisée est une ESP32-H2 Super Mini (~3€ sur AliExpress), un module ultra-compact (25 × 18 mm) avec Zigbee natif (IEEE 802.15.4), USB-C, et une empreinte suffisamment petite pour loger dans le boîtier du ventilateur.
Appel à contributeurs : PCB & branchement
C'est la partie où j'ai besoin de renfort.
Aujourd'hui la carte doit être alimentée en USB, ce qui n'est pas viable pour une installation définitive dans un plafond. L'objectif est d'alimenter le module directement depuis le 3.3V interne du ventilateur et de câbler proprement les lignes UART vers le MCU Tuya d'origine.
Il faut aussi pendre en compte le condensateur de découplage... Je galère sur ces parties
vu en passant mais je ne peux pas ouvrir le fichier sous kicad 9.x ( ubuntu 24.04 ) je regarderai pour maj, je n’ai pas le ventilateur sous le coude par contre.
je note que TX/RX sur le H2 sont à inverser dans nos branchements (my bad)
il faut laisser un peu de place entre le connecteur J1 et le H2 car il y a le port USB à éviter de faire toucher
Pour les dimensions celles d’origine sont 29.5x19.0 mm, mais on peux gagner un peu de place en longueur (large) et très peu sur la largeur coté droite (j1 en bas)
Oui je sais pas si c’est moi ou kicad mais j’arrive pas à grand chose.
Questions techniques :
sur la plaque d’origine, la valeur du condo est illisible, idéalement il faut que je fasse des essais mais je manque de composant, tu as un idée ?
Trou ou pad type smd à souder pour la liaison pcb/h2. Les trous sont mieux pour les dimensions mais moins pratique (plus de soudure, hauteur en plus etc), les pads ça demande un peu plus de largueur pour qu’ils débordent
zone d’antenne, c’est à isoler (fond cuivre) ou pas ?
On peux parier que le module ESP embarque déjà ce qu’il faut niveau découplage. En ajouter c’est toujours mieux, mais c’est sans doute pas indispensable. La valeur n’est pas critique et n’importe quoi entre 1 et 10µF est très bien. Sur mon brouillon j’ai prévu une empreinte en 0805 qui est le plus petit soudable « facilement » à la main.
L’emplacement n’est pas idéal, si il y a de la place en dessous et que ça ne risque pas de toucher quoi que ce soit, il serait mieux au plus proche des broches d’alim de l’ESP.
Je pense que des pads type SMD seront plus adapté si la hauteur est un problème. Et ça évite aussi l’utilisation de « header » pour faire la liaison entre l’ESP et le PCB.
Les environs de l’antenne doivent absolument être exempt de cuivre… voir même exempt de PCB tout court quand c’est possible.
Non justement en l’état, avec branchement en direct, il s’allume, le zigbee s’apparaire et il recommence. Difficile de tracer exactement mais je comprends qu’il manque d’un peu de jus.
C’est bien du 3.3v et en principe le h2 consomme moins que le C3 qui lui fonctionne avec un condo de base
Si tu as une autre idée de position (en dessous à la limite), je suis preneur
J’ai vu qu’on peut commander les pcb avec les composants soudés donc au pire pour quelques €, pas besoin de s’emmerder
donc on peut prendre 3/4mm de plus en largeur, sur la carte d’origine c’est un gros condo qui peux bouger un peu.
Exempt de pcb, ça va être dur, les TX/RX sont pas loin, non ?
Des fois le problème c’est le régulateur de tension intégré au module ESP. Dans les version les plus « cheap » c’est un régulateur bas de gamme qui a une consommation propre très importante même quand il ne fait rien. Quand la puissance disponible est faible, ça peut tout changer.
Si tu as un 10µF sous la main, essaye avec cette valeur.
On peut le placer en dessous (côté cuivre) sans problème si ça ne risque pas de toucher quoi que ce soit sur la carte principale.
Pour l’assemblage c’est à voir. Parce que ça fait passer le prix du PCB de 2$ à rapidement 20 même juste pour 1 composants car les frais de mise en production ne sont pas négligeables. Mais c’est possible, ça s’étudie.
Pour dégager le PCB sous l’antenne c’est pas un problème…
Du coup pour TX et RX c’est quoi le bon câblage finalement ?
Nouvelle version avec pad SMD pour l’ESP (mais plus large du coup : 23mm x 29.5mm), condensateur 10µF en boîtier 0805 sous le PCB et dégagement pour l’antenne.
En faire fabriquer 5, en PCB nu, épaisseur 0.8mm (vu la taille c’est suffisant) te coûterais 1.79€ hors frais de port chez JLCPCB.
Si tu veux leur faire souder le condensateur, le prix passe à 10.79€ (pour 5 toujours) ça fait cher le condo
Bon j’ai trouvé des condo normaux polarisés, testé en 10uf et 100uf, je ne vois pas de différence de comportement au bootloop. Mais ça m’étonne quand même le C3 avec le wifi+BT c’est genre 300mA, alors que le H2 c’est de l’ordre de 50mA. ça fout un peu le projet en l’air s’il n’y a pas de soluce.
J’ai regardé l’écart entre le WBR3 d’origine et le PCB, il y a 3mm donc je vais tenterai de réduire d’1mm par sécurité
Merci pour ton aide
Oui mais c’est pas si inabordable non plus, 2€ la PCB au global c’est loin du tarif du dernier shelly
Petit progrès.
Brachement du 3.3V sur la pin 5V car elle semble équipée d’un regulateur alors que la 3.3V non
Et avec le condo 470uF ça démarre plus longtemps
Du coup, j’ai branché l’usb au début, attendu la fin du boot et débranché l’usb. Là ça tient.
Donc c’est bien un souci d’appel de courant.
Je vais ajouter un délai pour le démarrage de la stack zigbee dans le code pour essayer de lisser un peu la conso
Je suis preneur d’autres idées