ESP32 est une puce fournit par le groupe ESPRESSIF depuis 2016. Il existe des nouvelles versions plusieurs fois par an, ce qui entraine une certaine difficulté à trouver un modèle stable en vu de faire un projet. Vraisemblablement, les footprints des puces restant les mêmes, on doit pouvoir tenter de prendre une version à la place d’une autre si les caractéristiques électroniques et fonctionnels restent les mêmes.
J’ai étudié des puces concurrentes mais soit elles coûtent trop cher, soit elles n’offrent pas assez de pins.
Les fonctionnalités qui ont été déterminantes sur le choix de cette puce :
- Ce programme en C et j’aime le C !
- Plein de pin I/O (suffisamment pour notre projet ?)
- WIFI
- BlueTooth
- Des pins pour gérer une “carte son”
- 2 cores : possibilité d’avoir un thread principal sur 1 core et de sous traiter des tâches sur l’autre
- 200 Mhz x 2 : largement suffisent pour gérer ce qu’il va être demandé (attention avec l’affichage car il n’y a pas de carte graphique pour sous traiter les routines de gestion de l’écran, on peut être dans l’idée qu’1 pixel changé = plusieurs cycles horloges !).
- Ram : 4 Mo
- largement suffisent pour le code d’un laser game
- Stockage local : 8 Mo
- le stockage est plus tendu, il faudra trouver une solution à base de MP3 pour le son et ne pas abuser des images ou d’animations
- Il y a la possiblité d’ajouter une carte SD, mais
- le coût augmentera
- utilisation de pins supplémentaires
- temps de développement supplémentaire !
L’ESP 32 est une puce utilisée dans l’IoT (internet des objets). Elle existe sous différents formats :
- La puce seule 1 à 2 euros pièces, mais là il faut la souder, avec des résistances pour protéger les pins, pas d’antenne… Impossible ou presque de faire des soudures maisons (48 points de soudure dans quelques mm² !)
- En version WROOM : La puce est en quelque sorte dans un emballage et prête à l’emploi. De 5 à 7 €. Elle est plus facilement soudable avec une plaque chauffante et de la pâte à souder. Il faudra créer un circuit imprimé avec connexion usb/uart et gestion de l’alimentation.
- En version DevBoard : Elle vient avec tous les composants (UART, alimentation, port USB, antenne) pour être utilisée pour de la conception. Certaines devboard sont d’un petit format et il peut être envisageable de les utiliser au lieu de partir d’une version WROOM et de créer le circuits imprimés.
L’alimentation sur le projet final. Finalement, nous avons deux pistes :
- Batterie externe, elle sera extraite pour être replacée chargée.
- Limiter la conception du circuit imprimé
- Limiter la température et les risques liés lors de la charge
- Chargement en interne su port usb :
- Régulateur de tension : à adapter en fonction des besoins et du choix de la batterie
- Des exemples existent…