LOCODUINO

Programmation des ATtiny Digispark

Une autre famille d’Arduino

.
Par : Dominique, msport

DIFFICULTÉ :

La série d’articles sur les ATtiny Le microcontrôleur ATtiny45 (10) a un succès certain, notamment sur le forum pour des applications diverses de l’éclairage dans le décor aux décodeurs de locomotives et d’accessoires.
Mais programmer ces composants peut rebuter certains modélistes car ils n’ont pas de prise USB pour les programmer comme les autres cartes Arduino (y compris Tensy, ESP32, ESP8266, ..).
Nous allons nous pencher sur une famille d’ATtiny dénommée Digispark qui a fait l’objet de financement participatif sur KickStarter [1] [2], qui dispose d’une prise micro-usb et que l’on trouve facilement à un prix raisonnable comme les clones Arduino.

Mais attention...

Modification du 14 Juin 2024 !
 
Les cartes Digispark à base d’ATtiny 85 et 167 utilisées dans cet article sont devenues obsolètes dans les conditions décrites ci-après, bien qu’on trouve encore des clones en vente.
A cause du support du matériel Digistump dans l’IDE Arduino 2.0 qui n’a plus été mis à jour depuis des années et l’expiration d’un certificat qui entraine le refus d’installation dans l’IDE.
 
Nous vous recommandons de réaliser ce projet d’une autre manière, si vous le souhaitez. Soit en utilisant un Arduino Pro-Mini de manière conventionnelle (ce que j’ai fait chez moi), soit en utilisant directement une puce ATtiny en vous reportant à l’article Le microcontrôleur ATtiny45 (2). Le programme à la fin de l’article est toujours valable à condition d’adapter les broches de l’Arduino.
 
Mais, si vous y tenez et en bidouillant avec un minimum de connaissance dans votre système d’exploitation, vous trouverez quelques pistes à la fin du forum sous cet article.

Ma première expérience a été la réalisation de l’animation lumineuse à l’intérieur d’une gare Un BV animé par ATtiny 85 où on trouvera tous les détails sur la construction mécanique de cette gare et l’intégration de leds dans les plafonds et le code pour l’ATtiny85 installé à l’intérieur.

J’ai bien d’autres bâtiments à animer dans le décor de mon réseau et je pense utiliser un autre modèle : l’ATtiny167 qui est plus riche en ports d’entrée-sortie.

Mais il faut commencer par présenter ces petites cartes Digispark qui se programment sur le port USB.

Une recherche sur le site KickStarter ne mentionne que 2 petites cartes équipées d’une prise micro USB que l’on voit côte à cote sur cette photo :

Figure 1 : Les cartes Digispark ATTiny85 et ATTiny167
Figure 1 : Les cartes Digispark ATTiny85 et ATTiny167
DigisparkNb de PinsFlashRam
ATtiny85 8 8KB 512B
ATtiny167 20 16KB 512B

D’après la fiche technique de Microchip, le microcontrôleur ATtiny85 [3] une architecture AVR RISC de 8 bits haute performance et faible consommation. Il combine une mémoire flash ISP de 8 Ko, une EEPROM de 512 octets, une SRAM de 512 octets, 6 lignes d’E/S à usage général, 32 registres de travail à usage général, une minuterie de 8 bits, un compteur avec modes de comparaison, une minuterie/compteur haute vitesse 8 bits, USI, interruptions internes et externes, convertisseur A/N 4 canaux 10 bits, minuterie de surveillance programmable avec oscillateur interne, trois modes d’économie d’énergie sélectionnables par logiciel et debugWIRE pour le débogage sur puce. Il atteint un débit de 20 MIPS à 20 MHz et fonctionne entre 2,7 et 5,5 volts.
Ses dimensions sont : 18 x 25 mm.

Figure 2 : Affectation et fonctions des broches de la carte ATTiny85.
Figure 2 : Affectation et fonctions des broches de la carte ATTiny85.

Note : Le modèle pro est équipé d’une prise microUSB à la place de la languette à gauche.

Le microcontrôleur ATtiny167 [4] 8 bits AVR RISC haute performance et faible consommation combine une mémoire flash ISP de 16 Ko, une EEPROM de 512 octets, une SRAM de 512 octets, 16 lignes d’E/S à usage général, 32 registres de travail à usage général, une minuterie de 8 bits/compteur avec modes de comparaison, minuterie/compteur haute vitesse 8 bits, interface série universelle (USI), un contrôleur LIN, interruptions internes et externes, un convertisseur A/N 11 canaux 10 bits, minuterie de surveillance programmable avec oscillateur interne, et trois modes d’économie d’énergie sélectionnables par logiciel. L’appareil fonctionne entre 1,8 et 5,5 volts. Il atteint des performances proches de 1 MIPS par MHz, équilibrant la consommation d’énergie et la vitesse de traitement.
Ses dimensions sont : 18 x 27 mm.

Figure 3 : Affectations et fonctions des broches de l'ATTiny137.
Figure 3 : Affectations et fonctions des broches de l’ATTiny137.

Installation dans l’IDE Arduino

La première étape consiste à déclarer dans les préférences les ressources de ces microcontrôleurs afin de les voir apparaitre dans le gestionnaire de cartes :

Ouvrir les préférences :

Figure 4 : Préférences de l'IDE Arduino
Figure 4 : Préférences de l’IDE Arduino

Editez le champ "URL de gestionnaire de cartes supplémentaires".
Ajoutez l’URL suivante : "http://digistump.com/package_digist..."
Et ajouter aussi cette URL : "http://drazzy.com/package_drazzy.co..."

Figure 5 : ajouter les URL des ressources pour les cartes Digispark.
Figure 5 : ajouter les URL des ressources pour les cartes Digispark.

Cliquez sur OK sur cette fenêtre et sur OK pour enregistrer les préférences.

Maintenant allez dans le gestionnaire de cartes et sélectionnez "Digistump AVR Boards" qui correspond à la première URL ci-dessus.

Figure 6 : installation des cartes "Digistump".
Figure 6 : installation des cartes "Digistump".

Puis cliquez sur "Installer"

Pendant que vous y êtes, toujours dans le gestionnaire de cartes, sélectionnez "ATTinyCore" qui correspond à la 2ème URL ci-dessus et installez.

Figure 7 : Installation des cartes "ATTinyCore".
Figure 7 : Installation des cartes "ATTinyCore".

Pourquoi ces deux environnements ? Parce qu’ils diffèrent sur plusieurs points : Le premier (Digistump) offre plus d’exemples et de bibliothèques que le second (ATTinyCore).

Figure 8 : liste d'exemples Digistump et ATTinyCore
Figure 8 : liste d’exemples Digistump et ATTinyCore

Par exemple, DigiStump permet d’exploiter le mode de communication HID (Human Interface Device) présent sur le port USB : il n’est pas possible, avec ces cartes, de communiquer avec un Serial.print, mais avec un DigiKeyboard.print. C’est une manière étrange de "sortir" des textes dans une fenêtre texte (NodePad ou Textedit) [5] pendant l’exécution du programme, au lieu de la fenêtre "moniteur" de l’IDE.

A l’opposé, ATTinyCore ne se limite pas aux cartes Digispark et permet de programmer toutes sortes de composants ATtiny en utilisant les méthodes décrites dans les articles Le microcontrôleur ATtiny45 (10).

Attention, cet article ne décrit rien d’autre que la prise en main des ces cartes ATtiny dans l’IDE Arduino. A vous d’en explorer les possibilités par vous-même.

Maintenant toutes les ressources nécessaires pour programmer vos ATtiny Digispark Pro sont installées dans votre IDE... Sauf pour le système Windows dans lequel il faut aussi installer un pilote (ou "driver") pour la communication par le port USB pendant le téléversement, qui est très spécial à ces cartes Digispark ! Pour les utilisateurs de MacOS (et peut-être Linux), il n’y a rien à installer de plus.

Voici comment faire pour Windows :

Installation du pilote Windows

IL faut d’abord récupérer le programme d’installation de ce driver :
On télécharge : DigistumpArduino-master.zip

On extrait micronucleus-2.0a4-win.zip de tools dans le répertoire enregistré sur le disque dur.
C :\Users\xxx\Downloads\DigistumpArduino-master.zip\DigistumpArduino-master\tools\micronucleus-2.0a4-win.zip\

Figure 9 : à la recherche du pilote Windows !
Figure 9 : à la recherche du pilote Windows !

Dans lequel on trouve DPinst64.exe pour les systèmes X64, DPinst.exe pour les systèmes X32. Il faut lancer cet utilitaire directement (et non via le .bat) ce qui permet d’installer le pilote émulateur de port COM pour l’opération de téléversement seulement (sans lui, le téléversement échoue !).

Pour Windows 10, le pilote n’apparait que dans les périphériques cachés du gestionnaire de périphériques en tant que "libusb-win32 devices". On ne voit pas le port de l’ATtiny dans le sous-menu "port" de l’IDE, ni dans n’importe quel émulateur de terminal. Ceci est normal et cela condamne définitivement l’utilisation des instructions Serial.print dans les sketchs (ce qui est précisé plus haut), mais une communication entre la carte Digispark et un moniteur est toutefois possible en utilisant la bibliothèque SoftSerial et un adaptateur externe USB-série, ou le bus I2C avec un Arduino connecté et programmé pour cela, mais n’est pas le sujet de cet article.

Nous allons utiliser maintenant ces ressources pour programmer notre ATtiny avec la connexion USB de notre ordinateur. Il y a deux cas possibles :

Programmation avec Digistump

Pour programmer un Digispark Pro ATtiny 85, sélectionnez "Digispark (Default - 16,5Mhz)" dans le menu "type de carte"

Figure 10 : choix de la carte Digispark (Default - 16,5MHz)
Figure 10 : choix de la carte Digispark (Default - 16,5MHz)

Entrez votre premier programme de test dans le menu Exemple :

Figure 11 : ouverture de l'exemple "Start"
Figure 11 : ouverture de l’exemple "Start"

ou copiez-coller le sketch suivant :

// the setup routine runs once when you press reset:
void setup() {                
  // initialize the digital pin as an output.
  pinMode(0, OUTPUT); //LED on Model B
  pinMode(1, OUTPUT); //LED on Model A  or Pro
}

// the loop routine runs over and over again forever:
void loop() {
  digitalWrite(0, HIGH);   // turn the LED on (HIGH is the voltage level)
  digitalWrite(1, HIGH);
  delay(250);               // wait for a second
  digitalWrite(0, LOW);    // turn the LED off by making the voltage LOW
  digitalWrite(1, LOW); 
  delay(250);               // wait for a second
}

A ce stade vous pouvez vérifier que la compilation du programme se passe bien sans erreur, mais ne branchez pas la carte Digispark pour le moment.

Maintenant cliquez sur le bouton "Téléverser" et observez que le texte suivant s’affiche en bas de l’écran, sous le texte du programme à la fin de la compilation :

Le croquis utilise 718 octets (11%) de l'espace de stockage de programmes. Le maximum est de 6012 octets.
Les variables globales utilisent 9 octets de mémoire dynamique.
Running Digispark Uploader...
Plug in device now... (will timeout in 60 seconds)

Maintenant branchez le câble USB relié au Digispark à votre ordinateur et observez l’affichage du texte suivant sous le précédent :

> Device is found!
connecting: 16% complete
connecting: 22% complete
connecting: 28% complete
connecting: 33% complete
> Device has firmware version 1.6
> Available space for user applications: 6012 bytes
> Suggested sleep time between sending pages: 8ms
> Whole page count: 94  page size: 64
> Erase function sleep duration: 752ms
parsing: 50% complete
> Erasing the memory ...
erasing: 55% complete
erasing: 60% complete
erasing: 65% complete
> Starting to upload ...
writing: 70% complete
writing: 75% complete
writing: 80% complete
> Starting the user app ...
running: 100% complete
>> Micronucleus done. Thank you!

Vous devez voir clignoter la led ’BUILTIN" de la carte.

Programmation avec ATTinyCore

Cette fois-ci sélectionnons l’ATtiny85 dans la liste des microcontrôleurs de l’ATTinyCore :

Figure 12 : choix de l'ATTiny85 Pro dans l'ATTinyCore
Figure 12 : choix de l’ATTiny85 Pro dans l’ATTinyCore

Puis nous pouvons vérifier et téléverser le programme "Start" précédent de la même manière. Mais cette fois il n’est pas nécessaire de brancher la carte après le lancement du téléversement. Si la carte est déjà branchée, ce dernier s’effectue automatiquement, sauf sous Windows qui refuse la connexion USB du Digispark : on a une alternance détection / erreur toutes les secondes environ : il faut brancher la carte quand l’invitation est affichée :
> Please plug in the device ...

Le croquis utilise 692 octets (10%) de l'espace de stockage de programmes. Le maximum est de 6586 octets.
Les variables globales utilisent 9 octets (1%) de mémoire dynamique, ce qui laisse 503 octets pour les variables locales. Le maximum est de 512 octets.
Running Digispark Uploader...
Plug in device now... (will timeout in 60 seconds)
> Please plug in the device ... 
> Press CTRL+C to terminate the program.
> Device is found!
connecting: 16% complete
connecting: 22% complete
connecting: 28% complete
connecting: 33% complete
> Device has firmware version 1.6
> Available space for user applications: 6012 bytes
> Suggested sleep time between sending pages: 8ms
> Whole page count: 94  page size: 64
> Erase function sl : eep duration: 752ms
parsing: 50% complete
> Erasing the memory ...
erasing: 55% complete
erasing: 60% complete
erasing: 65% complete
> Starting to upload ...
writing: 70% complete
writing: 75% complete
writing: 80% complete
> Starting the user app ...
running: 100% complete
>> Micronucleus done. Thank you!
Quelles différences entre les 2 types de ressources Digistump et ATTinyCore ?

D’abord, on remarque que la taille du code est plus petite (692 octets au lieu de 718) qu’avec Digistump.

Avec les ressources "Digistump" le type de carte est peu renseigné et il est nécessaire de choisir le carte Digispark (Default- à 16,5 MHz car la ligne "Pro" à 16Mhz ne marche pas.

Figure 13 : type de carte Digispark/Digistump
Figure 13 : type de carte Digispark/Digistump

Avec les ressources "ATTinyCore", le type de carte est beaucoup mieux renseigné et il n’y a plus d’ambigüité sur le type Défault, Pro ou non :

Figure14 : type de carte ATTinyCore
Figure14 : type de carte ATTinyCore

De plus, ces ressources couvrent toutes sortes de modèles ATtiny et de méthodes de programmation. Nous allons donc conserver cet ATTinyCore dans la suite de cet article, en particulier pour le Digispark ATtiny167 qui apparait bien dans la liste.
N’oublions pas les spécificités de l’environnement Digistump décrites plus haut qui peuvent permettre des projets spécifiques (à découvrir par vous-même).

Dans les deux cas, on remarque l’absence du nom de Port et ceci est important à savoir : la communication par le port USB n’est pas un Serial Port comme dans le cas des autres Arduino, mais un port spécial simulé par le micronucleus embarqué dans la puce pour les besoins du bootloader. Cela signifie qu’on ne peut pas faire communiquer les cartes Digispark avec le moniteur de l’IDE. Mais il existe d’autres moyens de communication qui sont consultables dans les documentations Digispark

Rappel : si on veut programmer des puces ATtiny sans ce support Digispark, on se rendra directement sur la série d’articles sur les ATtiny Le microcontrôleur ATtiny45 (10).
Une très belle réalisation d’une carte de programmation est également décrit sur le forum, ici :
Réalisation de carte pour compléter le shield ATtiny

Un exemple d’animation lumineuse d’une gare

Ce programme est extrêmement simple et peut être modifié à loisir pour toutes sortes d’animations lumineuses dans les maisons et bâtiments du décor.

Le commentaire au début précise l’affectation des pins et les actions associées.
Pour l’ATTiny167, on pourra utiliser les pins 6 à 12 en supplément.

Ces actions consistent à allumer et (parfois) éteindre une led (ou un groupe de leds en parallèle) avec des constantes de temps (tempo1 et tempo2) qui sont très longues.

Pour plus de vraisemblance, on utilise un générateur pseudo aléatoire classique basé sur la lecture de la pin 5 restée en l’air.

/*
 * animation lumineuse de la gare de La Roche
 * basée sur un ATtiny85
 * 5 pins utilisées : 0 à 4
 * pin 0 = entrée clients, toujours allumée
 * pin 1 = bureau de vente, avec employé
 * pin 2 = salle d'attente, parfois éteinte
 * pin 3 = bureau, parfois allumé
 * pin 4 = etage, parfois allumé
 * pin 5 = entrée analogique pour faire de l'aléatoire
 * une temporisation de 10 secondes change l'état des leds
 * 
 * Version 1.01 du 15 juin 2017 Dominique (Locoduino)
 */

 // constantes
 const int tempo1 = 5000;
 const int tempo2 = 10000;

 // variables
 byte leds = 0B00011111; // état des leds - - - 4 3 2 1 0
 unsigned long temps;
 byte randBit, randByte;
 int tempo;
 
 
 void setup() {
  pinMode(0,OUTPUT); // entrée clients
  pinMode(1,OUTPUT); // bureau de vente
  pinMode(2,OUTPUT); // salle d'attente
  pinMode(3,OUTPUT); // bureau
  pinMode(4,OUTPUT); // etage
  temps = millis();
  tempo = tempo1;
  randomSeed(analogRead(5));
}
 
 
 void loop() {
  for (int i=0; i<5; i++) {
    digitalWrite(i, bitRead(leds, i));
  }

  if (millis() > temps+tempo) {
    temps = millis();
    if (tempo == tempo1) {
      tempo = tempo2;
    } else {
      tempo = tempo1;
    }
    randBit = random(2,5); // donc 2 ou 3 ou 4
    randByte = 0;
    randByte = bitSet(randByte,randBit);
    leds = leds ^ randByte;
  }
}
 

Pour mieux juger des effets lumineux, vous pouvez consulter la vidéo au début de cet article.

[5Si vous essayez cette méthode de communication, sachez que les cartes "parlent" en mode "clavier US" et que vous risquez de polluer une fenêtre en premier plan, comme celle de votre programme en cours de mise au point par des insertions de caractères indésirables

16 Messages

  • Programmation des ATtiny Digispark 14 mars 2021 11:39, par jacques

    j’ai 70 ans et grace à vous, je continue d’apprendre.Merci.

    Répondre

  • Programmation des ATtiny Digispark 12 juillet 2021 22:56, par Marc Barruel

    Bonjour
    Je suis Windows 7
    Après avoir rempli les URL comme cela indiquè
    lors du branchement de l’ATtiny.
    Dans le bas il apparait ERREUR durant le téléchargement.
    Merci de m’indiquer pour corriger cette erreur

    Cordialement
    @+Marc

    Répondre

  • Programmation des ATtiny Digispark 12 juillet 2021 23:39, par msport

    Bonsoir,

    faites une capture d’écran du message d’erreur et postez la sur le forum.

    Cordialementt

    Voir en ligne : Digispark Kickstarter Attiny85

    Répondre

  • Programmation des ATtiny Digispark 13 juillet 2021 00:51, par Dominique

    La difficulté de programmation sous Windows est un grand classique si vous ne respectez pas scrupuleusement les conseils donnés après la figure 12. Il faut de toute façon mieux décrire le problème (on ne peut pas deviner).

    Répondre

  • Programmation des ATtiny Digispark 21 novembre 2021 19:38, par Fantasio

    Merci pour cet article.

    J’ai essayé de cloner un Digispark à partir d’un ATtiny85.
    Pour disposer de 6 sorties il faut redéfinir la broche 1 de l’ATtiny85, ce que j’ai fais en modifiant les fusibles avec le logiciel AVRDUDESS(L:0xE1, H:0x5D, E:0xFE) .
    Mon programme est juste un clignotement de toutes les pins préalablement mises en sortie. Une adaptation de Blink, donc rien d’extraordinaire.
    Le résultat est curieux et se produit systématiquement sur tous mes ATtiny85 :

    • si je branche des leds uniquement sur pin0 à pin2, tout fonctionne normalement
    • si je branche en plus d’autres leds sur pin3, pin4 et pin5 alors pas de fonctionnement...
      je précise qu’en série de chacune led il y a une résistance d’un 1K, que l’ATiny est alimenté en 5V et qu’un condo de 100nf est positionné entre Vcc et Gnd. J’ai effacé plusieurs fois les fusibles et recommencer plusieurs fois. Pas de changement. En plagiant Desproges, "Etonnant, non ?"

    Répondre

    • Programmation des ATtiny Digispark 21 novembre 2021 22:26, par msport

      Bonsoir,
      il vaudrait mieux parler de portB, PB, que de pin, on s’y est déjà trompé ...
      Je pense qu’il vaut mieux éviter d’utiliser PB5 qui est le Reset.
      Qui est la pin 1, c’est ce que vous tentez ?
      Il me semble que si le reset fonctionne toujours, nécessaire pour programmer, c’est que vous n’êtes pas parvenu à le désactiver.
      Mais je me trompe peut-être, vous en savez peut-être plus que moi.

      Répondre

  • Programmation des ATtiny Digispark 22 novembre 2021 13:55, par Fantasio

    Merci msport pour ta remarque qui est tout à fait légitime concernant le nom des pins.
    Je persiste sur la version 6 E/S mais cette fois ci en abandonnant l’ATtiny85USB et en modifiant les fusibles sur un simple ATtiny85 au moyen d’un programmateur Haute Tension...Bien sûr je pourrais utiliser un ATtiny84 qui dispose de plus d’E/S mais je souhaite utiliser le 85 au maximum de ses possibilités...

    Répondre

  • Programmation des ATtiny Digispark 1er novembre 2022 10:58, par guillaumevlv62

    Bonjour,
    pourriez-vous m’expliquer cette variable ?

    20 // variables
    21 byte leds = 0B00011111 ; // état des leds - - - 4 3 2 1 0

    Est ce une définition en binaire ?
    Auriez vous d’autre exemple pour que je puisse comprendre
    Merci

    Répondre

  • Programmation des ATtiny Digispark 1er novembre 2022 11:16, par msport

    Bonjour,
    vous aurez tous les détails dans le site de référence arduino.cc et le playground.
    Si vous avez du mal avec l’anglais, utilisez la traduction automatique de Chrome.
    Cordialement

    Voir en ligne : Integer Constants

    Répondre

  • Programmation des ATtiny Digispark 6 avril 08:42, par Fabrice Fayolle

    Merci pour cet article
    Savez-vous où l’on peut trouver l’empreinte pour KiCad du Tiny85, svp ?
    On trouve facilement celle du composant mais pas de la carte complète
    Fabrice

    Répondre

  • Programmation des ATtiny Digispark 2 juin 18:25, par Juan

    Bonjour,
    Article très intéressant. Cependant, j’obtiens une erreur d’image lorsque j’essaie de charger les URL .
    Merci beaucoup pour votre attention.
    Cordialement

    Répondre

  • Programmation des ATtiny Digispark 5 juin 13:16, par Juan

    J’ai essayé les adresses :
    https://digistump.com/package_digis...
    https://drazzy.com/package_drazzy.c...
    mais j’obtiens toujours la même erreur lors du téléchargement.

    Répondre

    • Programmation des ATtiny Digispark 7 juin 09:41, par Jean-Luc

      Bonjour,
       
      Concernant https://drazzy.com/package_drazzy.c... le fichier json est toujours là mais le certificat a expiré ; ce qui empêche l’IDE Arduino d’y accéder. J’imagine que le responsable du site va mettre à jour son certificat un jour ou l’autre. Ou pas...
       
      Voir ici : https://github.com/SpenceKonde/mega...

      I am still here, and I have been periodically getting enough time to respond to a small number of issues. But

      Those fucking certs are a constant headache. The automatic renewal methods that they talk about DO NOT WORK.
      The only time they get updated is when I manually log into the machines. The duration that the certs are valid for is long enough for me to forget the steps to manually renew. For reasons I don’t understand, cron jobs don’t run. I have no idea why, I set them up, see that they’re in the crontab and then check back a few days later when it should have run and see no evidence that anything happened when the cronjob should have run. I don’t have enough leverage on the guy who knows linux right now to get him to help out, I think he wishes I knew someone else who was competent at linux.

      And I have a bunch of other irons to fire ; I have to collate 6 years of tax documents - the bloodsuckers want to know crazy numbers. Revenue !? Expenses ?! How the fuck should I know ? Money come money go ! Meanwhile time seems to be going by faster and faster, like I have less and less time to do more and more things. I do not know how anyone could ever be bored.

      Bref, Spence Konde est au bord de la dépression nerveuse.

       
      Une solution est donnée par un utilisateur : télécharger avec votre navigateur le fichier qui est à https://drazzy.com/package_drazzy.c... en passant la barrière du certificat expiré et le mettre quelque part sur votre disque dur. Par exemple, je l’ai mis (je suis sous Unix) dans /Users/jlb/bin/package_drazzy.com_index.json. Puis dans les préférence de l’IDE mettre file ://. Par exemple chez moi c’est file :///Users/jlb/bin/package_drazzy.com_index.json
       
      Concernant https://digistump.com/package_digis... le site a disparu et donc probablement l’entreprise également. Le nom de domaine expirera le 26 juin de cet année. À voir si il sera renouvelé.
       
      Toutefois, ce package est hébergé sur GitHub (heureusement) et pas sur le site du fabricant qui a disparu. Par conséquent, l’URL suivante peut être employée à la place : https://raw.githubusercontent.com/d...
       
      Par ailleurs, ce package n’a pas été mis à jour depuis 8 ans. Entretemps, un développeur indépendant a repris et amélioré le package officiel : https://github.com/ArminJo/Digistum...
       
      C’est à essayer.

      Répondre

      • Programmation des ATtiny Digispark 7 juin 09:56, par Jean-Luc

        D’ailleurs, il n’est pas très difficile de voir pourquoi Digistump a cessé toute activité. Leur création a été copiée à la vitesse de l’éclair par les fabricants chinois. Les cartes originales sont noires et non bleues comme l’article le laisse supposer. La figure 1 est manifestement erronée.
         
        Le fabricant a assumé tous les développements logiciels et a eu la gentillesse de les mettre en logiciel libre, espérant vendre des cartes mais passé le kickstarter il a été copié et a mis la clé sous la porte.
         
        Les utilisateurs ont ce qu’ils méritent. Ces cartes étaient vendues 6€ chez GoTronic, c’est bien évidemment 2 à 3 fois plus que les contrefaçons vendues sur AliExpress mais il ne faut pas perdre de vue qu’il s’agit d’une carte qu’on va acheter en 1 ou 2 exemplaires pour développer. Si on veut déployer des ATTiny, on achètera directement le composant.

        Répondre

  • Programmation des ATtiny Digispark 14 juin 16:09, par Dominique

    En ce qui concerne l’installation et l’utilisation du package Digistump, ça s’avère plus compliqué !

    Dans les réglages ArduinoIDE, le fichier de package de Drazzy s’installe bien comme indiqué par Jean-Luc et dans l’article Le microcontrôleur ATtiny45 (2).
    On voit alors toute la collection des ATTiny et le programme se compile bien de cette façon.

    Pour le Digistump c’est problèmatique ! En tout cas dans l’ArduinoIDE actuel.
    Le lien vers le package est : https://raw.githubusercontent.com/d...
    Le site GitHub indique : Files to add Digistump support (Digispark, Pro, DigiX) to Arduino 1.6.X (1.6.4+)

    La série de cartes digistump apparait bien dans le gestionnaire de carte mais la compilation échoue :
    fork/exec /Users/dominiquebultez/Library/Arduino15/packages/arduino/tools/avr-gcc/4.8.1-arduino5/bin/avr-g++ : bad CPU type in executable

    Ça n’est pas à cause de l’IDE semble-t-il.

    Le package est tellement vieux que le gcc embarqué est compilé en 32 bits. les binaires 32 bits ont été abandonnés avec Mac OS X 10.15 (Catalina), il y a 5 ans. On en est à la 14.5. Et la dernière version de digistump date de février 2016.

    Donc c’est mort à moins de bricoler le package pour le faire pointer vers un compilateur plus récents.

    Digistump installe un avr-gcc qui date de mathusalem dans /Library/Arduino15/packages/arduino/tools/avr-gcc/4.8.1-arduino5/bin

    l’idée est de remapper ce répertoire vers un autre avr-gcc

    Un qui marche et qui, je pense, est installé avec l’IDE est dans : /Library/Arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin

    C’est une manip que je ne vous recommande pas de faire si vous n’êtes pas certain d’y arriver sans casse dans votre système d’exploitation.

    Répondre

Réagissez à « Programmation des ATtiny Digispark »

Qui êtes-vous ?
Votre message

Pour créer des paragraphes, laissez simplement des lignes vides.

Lien hypertexte

(Si votre message se réfère à un article publié sur le Web, ou à une page fournissant plus d’informations, vous pouvez indiquer ci-après le titre de la page et son adresse.)

Rubrique « Matériel »

Les derniers articles

Les articles les plus lus