Thermomètre connecté sur batterie à base d'ESP8266

Je n’ai pas fini ce projet (à cause du confinement), suivez-moi sur twitter pour être informés de la fin.

Martin Cerny (alias Mcer12) a publié sur github, un design de thermomètre connecté (avec MQTT) sur batterie.
Ce projet a été réalisé sur EasyEDA 

Ce prototype est intéressant, car il propose des fichiers d’assemblages, on peut ainsi commander les PCB partiellement assemblés (ce qui est une bonne chose vu le nombre de LED)

https://github.com/mcer12/Temper-ESP8266

Je cherchais justement à tester le service d’assemblage de JLCPCB, et ce thermomètre m’a paru une bonne occasion de le faire.


Je vous conseill de travailler à plusieurs afin de diminuer les coûts, et en plus se sera plus sympa.

Présentation

Temper est un thermomètre basse consommation compacte basé sur l’ESP8266 et le SHT30 avec un large afficheur de LED 13 × 7.

Voici les spécifications
• Basse consommation, consomme entre ~30 et 40 µA en sommeil. Avec une batterie de 400mA, il devrait pouvoir fonctionner plusieurs mois sur une charge.
• Le SHT30 donne des mesures calibrés en usine très précise
• Une configuration depuis une interface web super simple.
• Compatible avec Home Assistant, incluant la découverte automatique, mais peut être utilisé sur n’importe quelle plateforme géré le MQTT
• Un afficheur de LED 13 × 7
• IC de chargement TP4054 pour une recharge simple par USB
• Peut-être attaché à un mur à l’aide d’aimants (voir thingiverse pour les détails  )

Effectivement l’interface Web est vraiment sympa, peut être un peu complexe pour l'utilisateur lambda, mais joli

https://github.com/mcer12/Temper-ESP8266/blob/master/Images/webconfig.png

Fonctionnement

Après configuration depuis le portail web, Temper va périodiquement se réveiller et publier la température, l’humidité et le niveau en pourcentage de la batterie.
Appuyer sur le bouton reset force l’envoi des données et affiche la température sur l’afficheur.

Prérequis

• Une station à air chaud ou un four à refusion (Les broches du SHT30 sont à l’arrière, il n’est pas possible de les souder à la main)
• Les composants listés dans le dossier « PCB and BOM » (liens LCSC et Aliexpress fournis)
• Un boitier en plastique imprimé en 3D
• De la colle pour fixer le PCB dans le boitier
• De la patience
• Vous pouvez commander la plupart des composants préassemblés sur JLCPCPB (vous pouvez trouver les fichiers Pick&Place + BOM + Gerber dans le dossier « PCB and BOM »).

Partiellement assemblé, les PCBS coûtent environ 60$ les 10, voir les informations sur les composants dans le dossier « PCB and BOM »

Voilà pour les présentations, maintenez je vais vous expliquer comment j’ai reproduit ce projet

Commande des PCB

Pour commencer, il va nous falloir commander les PCB et les composants.

Nous trouvons toutes les informations nécessaires dans le dossier PCB and BOM
https://github.com/mcer12/Temper-ESP8266/tree/master/PCB%20and%20BOM

  • Gerber_Temper_ESP8266.zip - Le PCB
  • JLCPCB_ASSEMBLY_BOM_Temper-ESP8266.xlsx - Les composants à commander
  • JLCPCB_ASSEMBLY_PickAndPlace_Temper-ESP8266.xlsx - Le placement des composants

Aller sur JLCPCB et cliquer sur QUOTE NOW
https://jlcpcb.com/

Cliquer sur Add your GerberFile et mettez le fichier ZIP (Gerber_Temper_ESP8266.zip

Laissez toutes les options par défaut et cliquer SMT Assembly, Assemble top Side 

Dans la page suivante, Ajouter le fichier BOM et Pick and Place

  • JLCPCB_ASSEMBLY_BOM_Temper-ESP8266.xlsx
  • JLCPCB_ASSEMBLY_PickAndPlace_Temper-ESP8266.xlsx
Dans la page suivante, vous devriez voir la liste des composants qui seront automatiquement commandés

Puis sur la page suivante une visualisation de la carte avec les composants

Voilà vous pouvez envoyer la commande, tout est prêt!

Les plus avisés d'entre vous (ou ce qui ont lu la documentation) auront remarqués que les LED sont inversés, pas de panique, nous allons corriger ce problème ultérieurement)

Informer JLCPCB du placement des LED

Je n'ai pas trouver de moyen de prévenir JLCPCB, directement, mais de toute façon, JLCPCB va vous contactez par email pour vérifier ce problème, en effet le placement des LED n'est pas suffisament claire et il va falloir le leur préciser.

Répondez leur par email ceci:

The polarity of the components are correct, except for the LED It is reverse, here is the instruction of the designer of this PCB : make sure they position display LEDs with cathodes (-) pointing to bottom left as it's not obvious from the silk screen..
Ils vous répondront avec ce placement qui est correcte (vous pouvez aussi leur envoyer cette image afin d'être sûr)

Les composants à souder soi-même

Malheureusement, JLCPCB ne peut pas souder les composants sur les deux surfaces et ne propose pas la soudure du capteur de température.

Il va falloir souder soi-même ces composants :
• ESP12-E
• Diode D2
• Connecteur JST
• Connecteur USB micro
• Capteur SHT30 (non visible sur le schéma)

Je vous conseille d’utiliser un four à refusion, les pistolets à air chaud ne sont pas très précis et c’est un bon investissement (peut être pas personnel mais pour un fablab c’est un must)


On en trouve à moins de 200 €, celui-ci par ex. est une version plus petite de celui présent au Labsud qui marche très bien. (attention je ne l'ai pas personnellement testé donc à vous de voir)
ECO-WORTHY T962

Commande des composants LCSC

Vous pouvez trouver les liens pour acheter les composants sur le document IMPORTANT_components_informations.xlsx.

La plupart des composants manquants sont commandables sur LCSC, les voici avec leur Part Number.
https://lcsc.com/
• Connecteurs micro USB — C10418
• Capteur de température – SHT30 — C10418
• ESP12-E — C89297
• Diode – 1N5819WS

J’ai accidentellement commandé des ESP12-S, pas de panique si vous faites la même erreur bien qu’il n’a pas autant de connecteurs, les connecteurs manquants ne sont pas utilisés.



Commande composants sur Aliexpress

• Connecteur JST (femelle)
• Batterie LiPo (500mAh)
https://www.aliexpress.com/item/32797618620.html?spm=a2g0s.9042311.0.0.27424c4dcRtysh
https://www.aliexpress.com/item/32787273682.html?spm=a2g0s.9042311.0.0.27424c4diugtNU

Les batteries ont mis beaucoup de temps à arriver (j’ai eu des doutes sur la réception), et n’ont pas de connecteur JST mâle.

Personnellement j'ai choisi de les soudez directement, du coup inutile de commander les connecteurs JST.

Vous pouvez aussi les commander ailleurs, (comme hobbyking ou semageek) mais faites attention à la dimension ! (et aux connecteurs si vous voulez en utiliser)

Impression du boitier

https://www.thingiverse.com/thing:4126709

J’ai imprimé le boitier avec top_grid_with_breakout.stl pour avoir accès aux pins de programmations et bottom.stl.

Le boitier est de bonne facture, attention toutefois en plaçant la partie basse à aller doucement, afin de le ne pas trop l’enfoncer.
Cela m'a pris 3h pour la partie haute et 1h pour la partie basse (avec un Raft parceque mon ender 3 à un peu de mal avec la première couche)
J'ai utilisé le même PLA marbré et le rendu est magnifique.

À suivre

Dans le prochain billet, j’expliquerais comment j’ai soudé les composants au four à refusion, la programmation de la carte, puis la programmation.

Malheuresement je n'ai pas accès à un four à refusion actuellement, donc ça risque de prendre un peu de temps 😥

Jusque-là c’est vraiment fun comme projet et une bonne démonstration du potentiel de la production à petite échelle.

 

 

Commentaire