Généralités :
Le M5 Stick C ("C" pour Couleur), est construit autour d'un cœur ESP32 Pico avec 4Mo de Flash. Il hérite des focntionnalités de cette plateforme :
- Double cœur à 240 Mhz / 600 Mips, 520 Ko de SRAM.
- Wifi 802.11 b/g/n
- Bluetooth 4.2
- Nombreuses entrées sorties (I2C/Spi/Serial, etc..)
L'intérêt de ce petit device est que le processeur est enrichi de nombreuses fonctionnalités :
- 1 connecteur à 4 broches pour périphériques Grove (I2C)
- Connecteur d'extension
- Batterie Lipo intégrée de 80mA/h
- Ecran LCD couleur de 0.9'' de 80X160 pixels
- Contrôleur de charge et d'alimentation AXP192,
- Un bouton d'alimentation (>6s pour éteindre, pression brève pour allumer)
- 2 boutons poussoirs dont un en face avant (Bouton A et bouton B)
- Microphone I2C SPM1423
- Transmetteur Infra rouge.
- Led rouge
- Centrale inertielle à 6 axes (3 accéléro, 3 gyro) : IMU SH200Q / MPU6886
Dans le détail :
Entées sorties
Toutes les entrées sorties sont manipulaple par une API généraliste, quand elles ne sont pas gérées par une Api spécialisée. Voir https://github.com/m5stack/m5-docs/blob/master/docs/en/api/gpio.md
Connecteur Grove
Le connecteur Grove est raccordé à G32, G33 et fournit également le Vout du DAC. Il est contrôlable par une API: https://github.com/m5stack/m5-docs/blob/master/docs/en/api/commutil.md
Connecteur d'extension
Sont disponibles sur le connecteur d'extension G26, G36, G0, la tension de batterie, une entrée 5V, une sortie 5V, une sortie 3V3 et une masse.
Contrôleur de Charge AXP 192
(cf https://github.com/m5stack/M5-Schematic/blob/master/Core/AXP192%20Datasheet_v1.1_en_draft_2211.pdf )
Pilotable en I2C à l'adresse 0x68 via les broches G21 (SDA) et G22 (SCL) ce composant permet de :
- charger une batterie mono-cellule au Lithium
- Superviser les tension/courant et température sur ladite batterie
- Contrôler l'alimentation de 3 circuits de sortie séparés afin de limiter la consommation de l'ensemble sur des périphériques inutilisés
- Réguler l’alimentation de 4 circuits séparés (1 toujours on, et 3 contrôlés par le contrôleur d’alimentation)
- Fabriquer des tensions d’alimentations spécifique à l'aide de 3 convertisseurs step down intégrés.
- Gestion d'une batterie de sauvegarde optionnelle pour une horloge temps réel.
- Soft start
- Protection sur ou sous courant, température, tension, etc..
il est utilisé dans le M5 Stick C pour charger la batterie, permettre de voir l'état de charge, regardé le courant consommé sur l'USB, sur la batterie, mettre en veille (sommeil léger ou profond) la carte, contrôler le niveau de brillance sur le LCD (cf https://github.com/m5stack/m5-docs/blob/master/docs/en/api/axp192_m5stickc.md )
Attention, il doit être initialisé pour que le M5stick fonctionne correctement (cf https://github.com/m5stack/m5-docs/blob/master/docs/en/api/system_m5stickc.md)
Écran LCD
L'écran LCD de 0.9'' est basé sur un contrôleur très classique ST7735s. Ils est raccordé aux broches G15, G13, G23, G18 et G15.
Boutons
L'api permet de lire facilement l'état des boutons (CF : https://github.com/m5stack/m5-docs/blob/master/docs/en/api/button.md ) Les boutons sont cablés en G39 et G37.
Microphone SPM1423
Le SPM1423 est raccordé sur les broches G34 (Data), et G0 (Clock).
Transmetteur infrarouge
Une led IR est connectée sur le port G9.
Led rouge
Une led rouge est connectée sur le port G10.