Accueil / Arduino / Comment programmer la carte CJMCU ATTiny85 (LilyTiny / LilyPad)

Comment programmer la carte CJMCU ATTiny85 (LilyTiny / LilyPad)

La carte CJMCU est une petite carte destinée à des projets d’électronique vestimentaire (Wearable en anglais) basée sur le chipset ATTiny85 (documentation technique ATMEL). Dans cet article, nous allons simplement survoler l’ATTiny85 qui fera l’objet d’un prochain article. Cet article porte sur l’installation du drivers Digistump, la préparation de l’IDE Arduino et la programmation de la carte CJMCU à l’aide de l’IDE Arduino qui est très peu documentée.

Présentation de la carte CJMCU (LilyTiny)

La carte CJMCU est une carte miniature circulaire de 25mm de diamètre environ. Elle ne possède donc aucune broche de connexion, destinée aux application d’électronique vestimentaire, on viendra simplement relier les différents composants du projet (interrupteur, pile bouton, Led, accéléromètre, GPS…) à l’aide d’un fil conducteur cousu.

Par rapport à la carte LilyTiny de Sparkfun (page produit), la programmation est plus simple car on utilise un câble USB (lien vers le tuto Sparkfun) à la place d’un programmateur AVR.

Caractéristiques techniques de la carte CJMCU

  • Processeur : ATTiny85

  • 2 ko de mémoire disponible pour le programme Arduino
  • Dimensions : diamètre 25mm, épaisseur 4mm
  • GPIO : 5 (1 réservé pour le Reset nécessaire à la programmation)
  • Connecteur : micro USB
  • 1 Led rouge de mise sous tension
  • 1 Led rouge reliée au GPIO1
  • Bootloader : micronucleus (page github du projet)

LilyTiny vs LilyPad

Il peut y avoir confusion (entretenue par les sites marchants) entre le LilyTiny, le nom commercial de la carte Sparkfun basée sur le micro-contrôleur ATTiny et la carte LilyPad (lien vers le projet) qui est basée sur un ATmega328 ou l’Atmega32u4. La LilyPad a été initialement développée par Leah Buechley pour faciliter l’apprentissage du e-textile. La version commerciale a été lancée en collaboration avec SparkFun Electronics. Voici un petit aperçu des 3 cartes

cjmcu board wearable attiny85 arduinolilytinylilypad_atmega32u4lilypad_atmega328
CJMCU – ATTiny 85

Programmation via le port USB

LilyTiny – ATTiny85

Nécessite un programmateur AVR et une pince IC Test Clip for SOIC8 Pins

LilyPad – ATmega 32u4

Programmation via le port USB

Documentation technique

LilyPad – ATmega 328

Programmation par liaison Série (FTDI)

Documentation technique

Comparaison entre l’ATTiny85 et l’ATmega328 d’un Arduino

L’ATTiny85 (et les autres membres de la famille) est un micro-contrôleur AVR tout comme l’ATmega328 qui équipe les cartes Arduino. Il est donc capable d’exécuter les programmes créés avec l’IDE Arduino moyennant quelques restrictions. Voici un tableau comparant les principales caractéristiques techniques des deux micro-contrôleurs

ATiny85ATmega328
Nombre de broches828
Taille Flash (ko)832
Taille SRAM (octets)5122048
Taille EEPROM (octets)5121024
Canaux PWM26
GPIO (en comptant les ADC et PWM)6 (5 disponibles sans désactiver le fusible de reset*)23 (dont 20 exposées sur Arduino Uno)
Connectivité I2Couioui
Connectivité SPIouioui
Connectivité UARTnonoui

*Désactiver le fusible de Reset permet d’utiliser la broche 1 comme canal analogique ou numérique, mais désactive par la même occasion la possibilité de programmer le micro-contrôleur. Voici un guide pour réactiver le fusible.

Programmer la carte CJMCU avec l’IDE Arduino

Il est tout a fait possible de programmer la carte CJMCU à l’aide de l’IDE Arduino (lien vers la page de téléchargement) comme n’importe quel Arduino.

Installer le driver Digistump sous Windows

La première étape consiste à récupérer et à installer le driver pour les cartes Digistump. Vous pouvez le télécharger sur github (lien direct vers DigistumpDrivers.zip). Après avoir décompressé le Zip, allez dans le répertoire et exécutez le programme DPinst.exe (ou DPinst64.exe si vous possédez Windows 64 bits).

Branchez maintenant votre carte. Allez dans le gestionnaire de périphérique. Si votre carte a correctement été installée, vous devez avoir un nouveau périphérique appelé libusb-win32 devices dans lequel se trouve le Digispark Bootloader.

CJMCU ATTiny85 divers digistump digispark bootloader windows libusb-win32 devices

Sous macOS

Sur macOS X (je n’ai pas testé sous Linux), vous n’avez pas besoin d’installer de drivers.

Ajouter la librairie des cartes Digistump

Ouvrez ensuite votre IDE Arduino. La procédure fonctionne à partir de la version 1.6.4 et au delà. Pour cet article, j’ai utilisé la version 1.6.8

Ouvrez les préférences et ajouter le chemin vers la librairie Digistump

CJMCU arduino board digistump digispark

Ensuite, aller dans le gestionnaire de carte et ajouter la librairie Digistump AVR Boards.
Sélectionnez maintenant la carte Digispark (Default 16Mhz).

CJMCU arduino link lien package digistump digispark

Téléverser le programme Blink sur la carte CJMCU

Tout est prêt, il ne nous reste plus qu’à téléverser notre premier programme. Nous allons simplement essayer le programme Blink Arduino en faisant clignoter une Led pour application e-textile sur la broche P3.

CJMCU Attiny85 led module cable pince alligator arduino

Pour réaliser ce montage, vous aurez besoin du matériel suivant (liens commerciaux)

cjmcu board wearable attiny85 arduino e-textileCarte CMJCU ATtiny85
cable alligatorCâble avec pince alligator
led module e-textile wearable lilypadLed pour application e-textile
e-textile fil conducteur cjmcu attiny85 project diyFil à coudre conducteur

A chaque fois que vous voulez téléverser un programme sur une carte Digispark, vous devrez débrancher celle-ci de l’ordinateur. Ensuite appuyez sur Téléverser. Après compilation du programme, un message vous invite à brancher votre carte. Vous avez 60 secondes pour la brancher. Dès que la carte est détectée, le flashage du programme commence. Le programme démarre dès la fin de l’opération.

CJMCU ide arduino televerser programme digistump digispark

Cartes équivalentes

Si le micro-contrôleur ATTiny vous tente maintenant et que vous avez des projets sympas d’électronique vestimentaire, sachez que vous pouvez trouver des cartes similaires chez les principaux fabricants. Chez Adafruit, c’est la carte Gemma qui dispose d’un port USB pour la programmation ainsi qu’un connecteur JST pour ajouter une batterie LiPo. Sparkfun commercialise quant à lui la LilyTiny, une carte très compacte (diamètre 20mm) mais plus compliquée et plus couteuse à programmer. Il faudra acheter un programmateur AVR, une pince IC Test Clip pour SOIC8 Pins ainsi que des câbles Dupont.

Programmation de l'ATtiny85 d'un carte LilyTiny de Sparkfun (source : Sparkfun)
Sparkfun LilyTiny : programmation de l’ATtiny85 (source : Sparkfun)

 

adafruit gemma attiny wearable e-textileAdafruitGemma
lilytinySparkfunLilyTiny

Problème rencontré sur macOS X

Lors de mes essais sur macOS X, j’ai rencontré le message d’erreur suivant :

J’ai commis l’erreur de penser qu’il manquait un drivers, mais grâce au commentaire de Julien (que je remercie par la même occasion), j’ai trouvé la solution sur ce forum. En fait, c’est juste un problème d’installation de la librairie des cartes Digistump. Voici comment procéder pour corriger le problème :

  1. Allez dans le gestionnaire de carte et désinstallez les cartes Digistump.
  2. Fermez l’IDE Arduino
  3. Ouvrez le Finder et aller dans le répertoire /Users/VOTRE_NOM/Library/Arduino15/packages
  4. Supprimez le répertoire digistump
  5. Relancez l’IDE Arduino
  6. Réinstallez les cartes Digistump

Et voilà, ça marche aussi sur macOS X !

La carte CJMCU est une petite carte destinée à des projets d'électronique vestimentaire (Wearable en anglais) basée sur le chipset ATTiny85 (documentation technique ATMEL). Dans cet article, nous allons simplement survoler l'ATTiny85 qui fera l'objet d'un prochain article. Cet article porte sur l'installation du drivers Digistump, la préparation de l'IDE Arduino et la programmation de la carte CJMCU à l'aide de l'IDE Arduino qui est très peu documentée. Présentation de la carte CJMCU (LilyTiny) La carte CJMCU est une carte miniature circulaire de 25mm de diamètre environ. Elle ne possède donc aucune broche de connexion, destinée aux application d'électronique vestimentaire, on viendra simplement…
Prix - 9
Programmation - 7
Qualité de fabrication - 7.5

7.8

/10

La carte CJMCU est un clone Asiatique très bon marché (moins de 3€ sur ebay) pour des applications e-textile. Elle dispose de 5 GPIO (dont 2 PWM) et se programme très simplement depuis l'IDE Arduino à l'aide d'un câble micro-USB. Dommage qu'elle soit réservée à l'environnement Windows (faute de drivers Mac OS X et Linux)

User Rating: Be the first one !
  • julienrat

    bonjour, Excellent tuto !
    cette carte semble etre similaire au digispark, elle utilise le bootloader micronucléus. Elle est donc compatible Linux et MACOSX ( http://digistump.com/wiki/digispark/tutorials/connecting ) non ?

    • Bonjour Julien et merci beaucoup pour ta remarque. C’est parfaitement exact, il est tout à fait possible de programmer cette carte sur Mac OS (et très certainement sous linux, mais je n’ai pas essayé). En fait j’avais un message d’erreur du à une mauvaise installation de la librairie Digistump sur mon IDE Arduino mais je n’ai pas cherché dans la bonne direction. J’ai trouvé la solution sur un forum. J’en ai profité pour corriger l’article. A très bientôt. Christophe