Nous allons décrire dans cette page comment utiliser l'arduino uno comme programmateur ISP : In-System Programming
Cela permet la programmation de microcontrôleur de la famille AVR sans utilisation de la platine arduino tout en utilisant la programmation de l'IDE Arduino en chargeant le bootloader dans les microcontrôleurs choisis.
Cette programmation peut se faire in-situ, c'est à dire sans avoir à retirer les composants, qui doivent être programmés ou reprogrammés dans leur environnement.
L'avantage de procéder ainsi est :
• De diminuer les coûts en utilisant uniquement les composants nécessaires,
• Diminuer l'encombrement d'un montage,
• Diminuer la consommation d'un montage,
• Ne pas immobiliser une platine arduino inutilement, elles est utilisée uniquement pour le développement,
• Libérer des broches d'entrée/sortie, utilisées pour le fonctionnement de la platine Arduino,
• Faire fonctionner les microcontrôleurs à des vitesses supérieures que celle permisse par les platines Arduino :
• Pour un Atméga 328 utilisation d'une fréquence de 20 Mhz,
• Utiliser des microcontrôleurs qui n'existent pas sur platine Arduino offrant une plus grande diversité dans le choix du microcontrôleur en fonction du montage souhaité :
• ATméga 8535, (40 broches, 8 Kb de Flash, 0,544 K Sram, 4 K Eeprom),
• ATméga 16, (40 broches, 16 Kb de Flash, 1k K Sram, 0,512 K Eeprom),
• ATméga 32,(40 broches, 32 Kb de Flash, 2 K Sram, 1 K Eeprom),
• ATméga 164, (40 broches, 16 Kb de Flash, 1 K Sram, 0,512 K Eeprom),
• ATméga 324, (40 broches, 32 Kb de Flash, 2 K Sram, 1 K Eeprom),
• ATméga 644, (40 broches, 64 Kb de Flash, 4 K Sram, 2 K Eeprom),
• ATméga 1284, (40 broches, 128 Kb de Flash, 16 K Sram, 4 K Eeprom),
• ...,