
Carte de développement ultra-compacte ESP32-C3 conçue pour la recherche en sécurité embarquée, avec un exemple de portail captif incluant le scan WiFi et le contrôle des LED. Comprend un guide détaillé de construction matérielle et des instructions de flashage du firmware.
Le f32 est une carte de développement ESP32 ultra-compacte conçue pour se monter directement derrière un réceptacle USB-C. Le PCB mesure seulement 9,85 mm x 8,45 mm. Il est alimenté par le microcontrôleur ESP32-C3FH4 et a été créé principalement pour la recherche et comme une sorte de test de résistance pour l'ESP32, car il ignore intentionnellement de nombreuses directives de conception standard. Il n'y a qu'un seul GPIO exposé, connecté à une LED embarquée, donc la plupart des développements ici seraient davantage orientés vers le wifi/web.
Pour tester le f32, une application exemple a été créée avec laquelle les utilisateurs peuvent interagir. L'application transforme le f32 en un portail captif, de sorte que lorsqu'il est allumé, il apparaît comme un point d'accès ouvert que l'utilisateur peut sélectionner parmi les réseaux WiFi disponibles. L'utilisateur est ensuite automatiquement redirigé vers la page de contrôle du f32, où il peut interagir avec certaines fonctionnalités de base telles que l'allumage d'une LED ou l'analyse des réseaux WiFi environnants. Il y a aussi une page « À propos » qui donne un petit aperçu de l'appareil. Voici quelques captures d'écran et un gif de l'interaction avec l'appareil.
Page principale du portail captif. |
Recherche WiFi et LED allumée. |
Page À propos. |
Au début, le f32 ne semblait pas vouloir fonctionner. Je n'arrivais pas à le connecter à des réseaux ni à diffuser son propre réseau. Je suis sûr à 100 % que cela est dû à un circuit d'antenne médiocre, voire absent, mais j'ai réussi à le rendre fonctionnel après avoir ajouté une petite antenne supplémentaire sur l'antenne à puce, comme on le voit sur l'image ci-dessous. Il s'agissait simplement d'un morceau de fil plié soudé à la broche d'extrémité et flottant au-dessus de la première broche.
Comme je ne dispose pas d'équipement sophistiqué de test de signal, je me suis appuyé sur des tests manuels, comme vérifier si je pouvais encore me connecter à l'appareil et contrôler la LED. Lors d'un test en visibilité directe avec le f32 placé à environ 1 mètre du sol, j'ai pu me connecter et effectuer des analyses/contrôler la LED jusqu'à environ 36 mètres ! Cela est illustré dans ma représentation très nécessaire ci-dessous.
Le PCB a été conçu avec DipTrace et fabriqué par PCBWay avec une épaisseur de carte de 0,6 mm, un diamètre de trou minimum de 0,2 mm et une piste/espacement minimum de 4/4 mil. Au moment de la fabrication, cela ne coûtait que 10,75 $ pour 5 cartes livrées ! Cela me laisse encore sans voix. PCBWay propose également des services d'assemblage, mais j'ai choisi de l'assembler moi-même à la maison pour souffrir un peu. Cela a demandé quelques essais et erreurs avec des pièces aussi petites, mais j'ai décidé que la meilleure méthode pour moi était de laisser le stencil de côté et de faire de la flux mon meilleur ami.
Outils et pièces utilisées :
Étapes de construction :
f32_gerber.zip se trouvant dans le dossier hardware à PCBWay avec les spécifications mentionnées ci-dessus.f32_bom.pdf. Ces pièces se trouvent sur DigiKey et Mouser, à l'exception de l'antenne. Je ne me souviens plus où je les ai commandées à l'origine, mais je pense qu'il s'agit de CrossAir CA-C03.
f32_reference.pdf.
Après l'assemblage, vous pouvez utiliser l'extension ESP-IDF VSCode ou Arduino et télécharger ce que vous voulez sur la carte, ou bien télécharger mon exemple d'application en suivant les étapes ci-dessous.
esptool.py.esptool est v4 ou supérieure.<PORT> par le port auquel l'appareil est connecté, par exemple sous Windows COM5 ou sous Linux /dev/ttyACM0esptool.py -p <PORT> -b 460800 --before default_reset --after hard_reset --chip esp32c3 write_flash --flash_mode dio --flash_freq 80m --flash_size 2MB 0x0 firmware/bootloader.bin 0x10000 firmware/f32_internal.bin 0x8000 firmware/partition-table.bin
Eh bien, c'est à vous de décider. J'ai commencé ce projet pour une recherche personnelle et aussi pour une expérience d'apprentissage amusante. J'avais toujours voulu un projet utilisant des composants 01005 depuis que j'en avais commandé par erreur il y a quelques années. Quelle que soit l'utilisation que vous choisissez, veuillez noter que cette conception omet intentionnellement plusieurs composants fondamentaux, tels que des condensateurs de découplage appropriés, un circuit d'adaptation d'antenne, des résistances de terminaison USB et probablement d'autres. Cela fonctionne, mais c'est intentionnellement nu.
Enfin, coïncidence amusante : la puce ESP32, l'antenne et le LDO sont tous des modèles « C3 » !