Je vous propose un tutoriel pour fabriquer vous-même une caméra thermique pour Smartphone ou tablette Android.
Il vous faudra quelques composants électroniques (dont le capteur MLX90640), un circuit imprimé, un boitier et bien sûr un fer à souder.
L’application Android est GRATUITE et disponible sur Google play store :
https://play.google.com/store/apps/details?id=com.rienquepourlesyeux.thermalcamera
Cette application nécessite uniquement l’accès à la caméra et au fichier pour enregistrer l’image de capture. Aucune donnée n’est collectée.
Fichiers :
Liste des composants électronique :
- MLX90640 BAB (version BAB angle de 55 degrés).
C’est une caméra thermique de 32 * 24 pixels.
C’est le composant le plus cher, environ 36 Euros. - Un ESP32S3 OLED 0.42 pouces créé par 01Space (https://github.com/01Space/ESP32-S3-0.42OLED), compter environ 14 Euros.
J’ai choisi cette carte microcontrôleur car elle est minuscule et très performante. - Deux résistances CMS de 1KOhms en version 0805
- Un condensateur CMS de 100nF en version 0805
- Un condensateur de 100uf 6.3Volts
- Deux vis de 2mm * 4mm
Et voilà c’est fini ! Comme vous pouvez le voir, très peu de composants électroniques.
Il vous faudra aussi faire fabriquer un circuit imprimé (pour ma part j’ai choisi la société JCLPCB : https://jlcpcb.com/, pas cher et très bien).
Pour le boitier, je l’ai faits imprimé en 3D avec la société Abeille3D (https://www.abeille3d.com/), c’est celle que j’ai trouvé la moins chère.
Et, enfin, pour finir, un adaptateur USB-C male/male pour relier le boitier électronique à l’USB-C du smartphone.
Une fois que vous avez réuni tous les composants, vous pouvez commencer :

Par défaut, le module ESP32S3 de 01Space est fourni avec un programme de test pré chargé.
En le branchant en USB vous pourrez voir des motifs et dessins sur l’afficheur, cela vous permettra de valider son bon fonctionnement.

Je vous conseille de commencer par télécharger le programme de la caméra thermique dans l’ESP32S3 car comme vous pouvez le voir sur la photo ci-dessous, les boutons RESET et PROG seront difficilement accessible si vous en avez besoin pendant la programmation.

Après programmation et réinitialisation, il est possible que la LED blanche soit encore allumée,
dans ce cas, effectuer un autre RESET, ou déconnecter et reconnecter le module.
NB : j’utilise la librairie adafruit MLX90640 pour gérer la caméra thermique,
mais j’ai modifié celle-ci donc il faudra penser à mettre à jour les fichiers avec les fichiers contenus dans le fichier ZIP,
si vous souhaitez compiler vous-même le code source via l’arduino IDE par exemple.
Sinon, utilisez plutôt le programme de téléchargement facile ZIP pour ESP32S3 :
Avant de commencer à souder la carte ESP32S3 sur le PCB, il faut couper le connecteur blanc car il est trop haut et on n’en a pas besoin.
Sa hauteur ne doit pas dépasser le connecteur noir comme sur la photo de droite.


Avant de commencer :
Petit conseil pour souder les composants CMS il vous faut, une loupe, une pointe fine de fer à souder, et une pince à épiler.
La pince à épiler est très utile, elle vous permet de prendre la résistance ou le condensateur qui sont très petit,
de les placer sur le circuit imprimé mais surtout de les maintenir pendant la première soudure.
Donc, avec la pince à épiler, placez le composant sur le PCB (circuit imprimé),
sur la pointe de votre fer à souder mettez un peu d’étain et faite une soudure rapide d’un côté,
c’est juste pour fixer / maintenir le composant sur le PCB.
Maintenant que celui-ci est maintenu par une soudure, faire proprement la soudure opposée.
Une fois cette soudure faite, revenez sur la première soudure pour la faire proprement elle aussi si vous n’avez pas réussi du premier coup.
Le temps maximum d’une soudure doit être d’environ 3 secondes sinon vous risquez d’endommager le composant.
Si nécessaire, revenir plusieurs fois 3 secondes maximum sur une soudure en la laissant refroidir à chaque fois,
plutôt que de rester longtemps et endommager le composant.
Les trois premiers composants à souder sont les deux résistances de 1 KOhms en bas en noir (R1 et R2) et le condensateur de 100nF (C1).
Tous les 3 sont des composants CMS au format 0805.

Maintenant, soudez les connecteurs de la carte ESP32S3 ainsi que la carte ESP32S3


Etape importante !! Il faut découper un morceau de feuille de papier (papier A4 d’imprimante par exemple),
et faire un rond de 10 mm de diamètre.
Ce petit morceau de papier est à placer entre le PCB et le capteur MLX90640 car le capteur est complètement métallique.
Cela évitera d’éventuels courts circuits entre le PCB et le capteur MLX90640.

Soudez le capteur MLX90640.
ATTENTION !! Il y a un sens ! Vous pouvez le voir sur la photo ci-dessous,
il y a un petit détrompeur que l’on voit sur le morceau de papier que vous avez précédemment découpé.

Il vous reste plus que le condensateur de 100uF à souder.
Attention aussi ici, car le condensateur a un sens.
Sur le PCB (circuit imprimé) il y a un petit signe » + » et sur le condensateur,
il y a une bande pour vous indiquer l’inverse (le » – » ).

Photo du module caméra thermique complètement soudé.


Le module caméra thermique dans son boitier, vissé, avec l’adaptateur USB-C, prêt à être utilisé avec votre smartphone.

Utilisation :
L’utilisation est très facile.
Mais, cette application utilise deux caméras, la première est la caméra de votre smartphone et la seconde est la caméra thermique.
les deux caméras sont opposées par rapport à votre smartphone.
L’angle entre les deux caméras peut donc être un peu différent.
Il est donc possible de changer la taille d’image de votre smartphone par rapport à la caméra thermique et inversement.
Pour cela vous pouvez redimensionner les images avec deux doigts en même temps sur l’écran comme dans la vidéo ci-dessous :

il est également possible de déplacer les vues des caméras pour corriger les angles de vue.
mais cela ne fonctionnera pas pour des objets trop proches du Smartphone car les deux caméras sont trop éloignées l’une de l’autre pour cela (mais il y a peut-être une solution en utilisant un câble USB pour les rapprocher l’une de l’autre).
Le déplacement se fait avec deux doigts comme ci-dessous :

Si par exemple vous souhaitez surveiller de très près la température thermique d’un objet, vous pouvez modifier l’opacité de la caméra thermique pour ne plus voir la caméra intégrée à votre Smartphone visible.
Cela peut aussi servir à mieux voir les objets filmés par la caméra intégrée de votre Smartphone lorsque la lumière visible est faible.

Description de l’interface :
- Marge de température : elle peut être utilisée lorsque la différence entre la température la plus basse et la plus élevée est faible.
Cela permet d’avoir moins de variation de couleur pour des écarts de quelques dixièmes de degré.
Vous pouvez également choisir la qualité des mesures :
Haute qualité = 4 fps et 0,5 degré d’imprécision.
Basse qualité = 15 ips et 1,5 degré d’imprécision.
Un autre paramètre réglable est l’émissivité de la matière mesurée (dans la pluplart des cas, 0.95 est parfait). - Charte de couleurs au choix (4 chartes possibles)
- réglage de l’opacité
- Arrêter
- Température minimale mesurée
- Température maximale mesurée
- Température mesurée à l’emplacement de la croix (une pression du doigt sur l’écran modifie la position de la croix)
- Allume ou éteint la lampe flash du Smartphone
- Prendre une photo (Photo dans le dossier DCIM/Camera de votre Smartphone)
- Température ambiante
- Emissivité thermique
- La croix indique l’endroit sur l’image où la température est mesurée
- En temps réel l’échelle de température correspondant aux couleurs est mise à jour.
Cela permet de savoir facilement à quelle température correspond une couleur ou vice versa.

Exemples d’interface des boutons du menu (1, 2, 3) :



Pour info, les liens vers d’autres projets que j’ai fais autour de la photo :