[Electronique] : Mise en oeuvre d'un microcontrôleur ATtiny

03 mars 2026 rdorigny 0 commentaires

Un ATtiny est une famille de microcontrôleurs 8 bits fabriqués par Microchip Technology. Je vais dans cet article vous évoquer une rapide mise en oeuvre d'un ATtiny414-N comme exemple.

Composant idéal pour gérer de petites automatisations comme lire des boutons ou des capteurs, allumer et contrôler des LED, piloter des moteurs ou générer des signaux (PWM notamment). On les utilise beaucoup en Projets DIY / makers pour réaliser des objets électroniques simples à faible consommation.



Présentation de l'ATtiny414

L’ATtiny414 est un microcontrôleur très compact de 14 broches fabriqué par Microchip Technology. Il fait partie de la famille AVR ATtiny (série 0/1) et est conçu pour des projets électroniques simples, compacts et à faible consommation.




Caractéristiques principales :
  • Architecture : AVR 8 bits
  • Mémoire Flash : 4 KB
  • SRAM : 256 octets
  • EEPROM : 128 octets
  • Fréquence : jusqu’à 20 MHz (oscillateur interne)
  • Boîtier : souvent en SOIC, TSSOP ou VQFN (14 broches)
  • Tension d’alimentation : environ 1,8 V à 5,5 V


  • Périphériques intégrés :
  • Convertisseur ADC 10 bits
  • Timers/compteurs 16 bits
  • Interfaces de communication (USART, SPI, I²C via TWI)
  • Comparateur analogique
  • Watchdog
  • Générateur logique configurable (CCL)

  • Mais alors, pourquoi le choisir ? D'abord, il est très petit et présente une consommation ridicule. Enfin, il est peu coûteux et bien suffisant pour des projets simples afin de se passer d'un Arduino ou d'un ESP32. C'est un bonne solution pour projet DIY et réaliser une automatisation maison! L'ATtiny est un peu le successeur des PICs pour ceux qui les ont connu.

    Interface physique série USB

    L'ATtiny ne dispose pas d'une interface physique série USB comme un Arduino ou un ESP32 sur une plaquette PCB. Il faut un petit programmateur par liaison série pour insérer le programme. Pas de de panique, rien de difficile. D'autant que Microship innove avec une version de liaison série à un seul fil !

    Et oui c'est possible avec l'interface UPDI (Unified Program and Debug Interface) qui remplace l’ancienne interface ISP sur certains AVR. Malgré que l'UDPI reste un système de communication propriétaire, il est assez simple à interfacer par un simple adaptateur USB-TTL (CH340, FTDI, CP2102…) tel que :


    Les pin Rx et Tx de l'adapteur USB-TTL sont raccordées à la pin 10 de l'UPDI de l'ATtiny414. Une résistance de 4.7K ohms protège le Tx. Il est possible de mettre une diode dans le sens passant de transmission de Tx. Perso, je ne l'ai pas fait et cela marche très bien sans.

    Programmation


    Dans l'IDE Arduino, il est important d'installer les librairies du megaTinyCore au préalable.
    1) Dans Files --> preference --> Additional board manger URL --> ajouter http://drazzy.com/package_drazzy.com_index.json ;
    2) Dans Tools --> Board --> Board manager --> installer les librairies megaTinyCore de Spence Konde
    3) Dans Tools --> Board --> megaTinyCore --> sélectionner l'option qui correspond à l'ATtiny414
    4) Ensuite sélectionner les options suivantes dans Tools :
  • Chip : choisir ATtiny414
  • Port : choisir le port de votre interface série, COM15 pour moi
  • Clock : jusqu'à 20mhz en interne, 16Mhz pour moi
  • Programmer : SerialUPDI : Fast 460800 baud (CH340 and may be others)




  • Pour tester le microcontrôleur, on va utiliser l'exemple classique et visuel qui consiste à faire clignoter une led.

    Le schéma électrique du montage avec une résistance de 470 ohms pour ne pas cramer la diode led.



    Le code du programme :
    /*
      Blink
      Turns an LED on for one second, then off for one second, repeatedly.
      https://docs.arduino.cc/built-in-examples/basics/Blink/
    */
    
    // the setup function runs once when you press reset or power the board
    void setup() {
      // initialize digital pin LED_BUILTIN as an output.
      pinMode(3, OUTPUT);
    }
    
    // the loop function runs over and over again forever
    void loop() {
      digitalWrite(3, HIGH);  // change state of the LED by setting the pin to the HIGH voltage level
      delay(500);                      // wait for a second
      digitalWrite(3, LOW);   // change state of the LED by setting the pin to the LOW voltage level
      delay(300);                      // wait for a second
    }
    

    Conclusion

    Voilà, rien de difficile. L'ATtiny est un microcontrôleur très intéressant car simple à programmer et peu couteux. Il semble une bonne solution pour construire des solutions électroniques compactes et qui ne demande pas trop capacités de calcul ou mémoire. Je le retiens pour de futurs bidouillages!





    Pseudonyme (obligatoire) :
    Adresse mail (obligatoire) :
    Site web :




    © 2026 www.doritique.fr par Robert DORIGNY