Si vous venez d'acquérir le CodeCell , vous allez être comblé. Ce petit module est conçu pour simplifier vos projets DIY grâce à ses multiples fonctionnalités intégrées dans une carte de la taille d'un centime. Dans ce guide, nous vous expliquerons :
CodeCell est un module compact et polyvalent intégrant l'ESP32-C3, de multiples options d'alimentation et des capteurs intégrés, le tout dans un format compact de 1,85 cm de large. Ces caractéristiques en font un outil puissant pour un large éventail d'applications.
Dans cette première section, nous commencerons par nous familiariser avec les circuits qui composent le CodeCell . Ensuite, nous vous expliquerons les étapes simples de configuration de votre CodeCell .
Module ESP32C3
Au cœur du CodeCell se trouve le module ESP32C3, un microcontrôleur compact reconnu pour sa facilité d'utilisation dans le domaine de l'IoT. Il associe une architecture compatible Arduino aux fonctionnalités Wi-Fi et Bluetooth Low Energy (BLE) intégrées. Cette intégration offre les options de connectivité les plus courantes tout en conservant un format compact.
L'antenne PCB du module ESP32C3 est positionnée sur un côté, à l'écart des autres composants, afin de minimiser les interférences et d'améliorer la transmission et la réception du signal. Ce positionnement permet de réduire l'impact des plans de masse ou autres surfaces conductrices, susceptibles de dégrader les performances de l'antenne. Les composants situés sur la face inférieure sont maintenus dans les limites de dégagement recommandées pour l'antenne. Les tests ont montré que les performances de l'antenne ne sont pas affectées par les interférences minimes d'un câble USB-C, ces câbles étant généralement blindés.
L'ESP32-C3 dispose d'une mémoire importante, avec 4 Mo de Flash et 400 Ko de SRAM, lui permettant d'exécuter la plupart des applications courantes. Son processeur monocœur RISC-V 32 bits, cadencé jusqu'à 160 MHz, gère efficacement diverses tâches. Cette combinaison de mémoire et de puissance de traitement rend l'ESP32-C3 adapté à un large éventail d'utilisations.
Le module ESP32C3 prend également en charge un contrôleur USB série/JTAG, nous permettant de rendre le CodeCell reflashable via le port USB-C et d'envoyer des données série pour la communication et le débogage.
Gestion de l'alimentation
Le CodeCell offre une grande flexibilité d'alimentation. Il peut être alimenté par le connecteur de la batterie LiPo, par un câble USB-C, ou par les deux.
Le connecteur de batterie LiPo permet de connecter la batterie en toute sécurité plus facilement que jamais, sans avoir besoin de souder ni de risquer un court-circuit accidentel.
Le port USB-C a une double fonction : il permet d'alimenter l'appareil et/ou de le reprogrammer. Cette option multi-alimentation est activée par la puce de gestion de batterie BQ24232, dotée d'une gestion dynamique du chemin d'alimentation (DPPM) permettant d'alimenter le système tout en chargeant la batterie simultanément et indépendamment. Le processus de charge de la batterie se déroule en trois phases : précharge de conditionnement, courant constant et tension constante. Pour protéger la batterie, la tension de sortie (Vo) est régulée par la puce BQ24232. Cette sortie supporte un courant de sortie maximal de 1 500 mA lorsqu'elle est alimentée par la batterie LiPo et de 450 mA lorsqu'elle est alimentée par USB.
Par défaut, le courant de charge de la batterie LiPo est réglé à 90 mA, garantissant un taux de charge équilibré et sûr pour la batterie LiPo optionnelle de 170 mAh. De plus, pour ajuster le taux de charge, il est nécessaire de dessouder la résistance R12 en 0402 et de la remplacer par une nouvelle résistance selon la formule (R = 870/Ichrg). Cette solution est réservée aux soudeurs professionnels qui n'ont pas peur de manipuler de minuscules composants en 0402 ! Consultez la fiche technique du BQ24232 pour plus d'informations sur la charge de la batterie.
La bibliothèque CodeCell peut fournir un retour visuel sur l'état de la batterie/de l'alimentation USB via la LED RVB adressable intégrée :
La régulation de puissance est également assurée par plusieurs condensateurs de découplage, dont jusqu'à deux condensateurs de masse de 100 µF chacun, placés à proximité du connecteur de batterie. Ces condensateurs sont connectés aux broches 3,3 V et de sortie Vo pour assurer une alimentation stable. De plus, la carte est équipée de deux diodes TVS de protection : l'une préserve la tension d'entrée USB 5 V (Vin) et l'autre la tension de sortie (Vo). Ces diodes TVS offrent une protection contre les décharges électrostatiques (DES) et peuvent absorber en toute sécurité des décharges électrostatiques répétées supérieures au niveau maximal spécifié dans la norme internationale CEI 61000-4-2, sans dégradation des performances.
La carte intègre également un régulateur LDO (Low Dropout) de 3,3 V, qui assure une alimentation stable aux composants basse tension. Ce minuscule circuit LDO NCP177 peut délivrer un courant de sortie allant jusqu'à 500 mA avec une faible chute de tension typique de 200 mV à 500 mA.
Broches GPIO et d'alimentation
Compte tenu de la conception compacte, le principal défi consistait à optimiser l'utilisation des broches GPIO. Nous avons résolu ce problème en divisant chacun des trois côtés disponibles du CodeCell en sections d'E/S distinctes selon les applications. Nous avons également placé des broches d'alimentation le long des bords du module pour faciliter la connexion à diverses sources d'alimentation, permettant ainsi de connecter d'autres modules, capteurs et actionneurs sur les différents côtés.
Sur la face inférieure, trois des cinq broches sont utilisées pour l'alimentation : une broche de masse (GD), une broche d'alimentation logique 3,3 V (3V3) et une broche de charge d'entrée 5 V (5V0). Cette broche 5V0 est connectée à l'entrée USB. Vous pouvez ainsi l'utiliser pour obtenir une alimentation 5 V lorsque l'USB est connecté, ou comme entrée d'alimentation pour la charge. Les deux autres broches sont les broches I2C SDA et SCL, permettant d'ajouter des capteurs numériques externes. Si vous n'utilisez pas de capteurs externes ni de capteurs de lumière/mouvement, ces broches I2C peuvent être configurées comme GPIO.
Les deux autres côtés possèdent chacun une broche de masse (GD) et une broche de sortie de tension (VO). Chaque côté comporte également trois broches GPIO programmables (IO1, IO2, IO3, IO5, IO6, IO7), toutes configurables en broches PWM ( idéal pour connecter directement un pont en H pour le contrôle d'actionneurs/moteurs ). IO1, IO2 et IO3 peuvent également servir de broches CAN.
Les broches ADC supportent des tensions allant jusqu'à 3,3 V et, par défaut, la référence de tension de l'ADC est réglée sur 2,5 V. Veuillez noter que cette valeur ne peut pas être modifiée.
Capacités de détection
Le CodeCell se distingue par ses capteurs intégrés. Chaque unité est équipée d'un capteur de lumière intégré, et un capteur de mouvement est également disponible en option pour améliorer la détection de mouvement de votre projet, particulièrement utile pour la robotique et les objets connectés !
Nous allons ensuite découvrir comment la bibliothèque CodeCell simplifie à la fois la configuration de ces capteurs et la lecture de leurs données.
Qu'en est-il de la broche BOOT ?
Certaines cartes de développement ESP32 incluent un bouton RST (Reset) et un bouton BOOT pour passer manuellement en mode programmation. Cependant, l'ESP32-C3, comme celui du module CodeCell, peut passer automatiquement en mode boot via l'interface série lors de l'utilisation de l'IDE Arduino. Ainsi, le CodeCell n'a pas besoin de boutons RST ou BOOT dédiés, ce qui nous a permis de le rendre aussi compact.
Dans le cas rare où votre CodeCell se bloque ou rencontre une exception (le forçant à se réinitialiser en permanence), vous pouvez le forcer manuellement à démarrer pour reflasher le firmware. Pour cela, suivez simplement ces étapes :
En suivant ces étapes, votre CodeCell retrouvera sa vie.
Pour rendre la programmation encore plus facile, le CodeCell La bibliothèque offre un large éventail de fonctions pour l'initialisation, la lecture et la gestion des capteurs et de l'alimentation. Dans cette section, nous vous expliquerons tout ce que vous devez savoir sur la configuration de votre appareil et de sa bibliothèque.
Déballage de votre CodeCell
Commençons par le contenu de la boîte. Selon les options sélectionnées lors du paiement, vous y trouverez :
Mettre votre CodeCell sous tension pour la première fois
Commençons par brancher un câble USB-C ! Une fois votre CodeCell alimenté, il devrait :
Configuration de votre CodeCell
L'étape suivante consiste à connecter le CodeCell à l'IDE Arduino et à exécuter un croquis :
Une fois votre IDE configuré, vous pouvez maintenant installer la bibliothèque « CodeCell ». Pour cela, allez dans « Sketch > Inclure la bibliothèque > Gérer les bibliothèques » ; le « Gestionnaire de bibliothèques » devrait s'ouvrir. Saisissez simplement « CodeCell » et cliquez sur « Installer » pour télécharger la dernière version de CodeCell .
Nous mettons continuellement à jour et ajoutons de nouvelles fonctionnalités à cette bibliothèque, alors assurez-vous d'utiliser la dernière version.
Pour vous familiariser rapidement avec cette bibliothèque, accédez à « Fichier > Exemples > CodeCell », où vous trouverez de nombreux exemples à utiliser et à modifier pour vos projets. Nous vous recommandons de commencer par l'exemple « GettingStarted », qui ne contient que quelques lignes de code, mais qui explique toutes les fonctionnalités de détection disponibles avec CodeCell .
Après avoir sélectionné un exemple de croquis, cliquez sur le bouton « Télécharger » pour charger le code sur votre CodeCell. Après le téléchargement, ouvrez le Moniteur série « Outils > Moniteur série » pour afficher les données série de votre CodeCell.
Voici quelques tutoriels CodeCell supplémentaires pour vous aider à démarrer avec diverses applications :
Fonctions de la bibliothèque CodeCell
Pour explorer davantage le code, décomposons toutes les fonctions et expliquons ce que fait chacune d'elles :
Initialisation de CodeCell
La première étape de l'utilisation du CodeCell Il s'agit de l'initialiser. Pour ce faire, utilisez la fonction `myCodeCell.Init()`, qui permet de spécifier les capteurs à activer.
Macros de détection disponibles :
Vous pouvez combiner plusieurs macros à l'aide de l'opérateur « + » pour initialiser plusieurs capteurs à la fois.
Gestion du pouvoir
Appelez la fonction myCodeCell.Run(frequency) dans la boucle loop() pour gérer l'état de l'alimentation. Cette fonction gère également la LED intégrée pour indiquer l'état de l'alimentation.
Comportement de la fonction Run() :
Pendant la charge, le CodeCell ferme l'application, allume la LED bleue fixe et attend que la batterie soit complètement chargée. Une fois la charge terminée, la LED devient verte fixe. Une fois le câble débranché, une animation lumineuse verte s'allume, dont la vitesse correspond à la distance de proximité. L'animation s'allume en vert lorsqu'elle est alimentée par la batterie et en bleu lorsqu'elle est alimentée par USB.
Lecture des données du capteur
Après avoir initialisé les capteurs, vous pouvez lire leurs données grâce aux différentes fonctions fournies par la bibliothèque. Voici un bref aperçu des fonctions disponibles :
Fonctions du capteur de lumière :
Fonctions du capteur de mouvement :
Exemple d'utilisation :
Fonctions veille, économie d'énergie, diagnostic et LED
Le CodeCell comprend plusieurs fonctions pour gérer les modes veille et économie d'énergie :
Vous avez maintenant fait vos premiers pas avec CodeCell . Explorez les exemples de la bibliothèque, explorez les intégrations de capteurs et donnez vie à vos projets innovants avec CodeCell !
Soyez le premier informé des nouveaux projets et bénéficiez d'offres intéressantes !
© 2025 Microbots.