In System Programmering
In System Programming (Wiki). betekent dat µcontrollers in de schakeling kunnen worden geprogrammeerd. Dit is voor roboteers een ideale uitvinding. Het is vooral gemakkelijk voor testen of updaten van de software.

/robotigs/documentatie/plaatjes/eis1.jpg
WAARSCHUWING
Als alles goed gaat kunt u straks uw µcontroller programmeren. Tot nu toe heeft u nog weinig kansen gehad om µcontrollers te slopen, behalve dan dat u ze in verkeerde voetjes heeft gestoken, of met het nokje naar de verkeerde kant. Dat gaat nu veranderen. Tijdens het programmeren heeft u de mogelijkheid om met 1 druk op de knop een controller definitief onbruikbaar maken. Vandaar de uitdrukkelijke waarschuwing om tijdens het programmeren niets te doen waarvan u niet zeker weet dat u het moet doen. Ga hier niet lukraak iets zitten proberen en zeker niet met de Fuses en Lock Bits. U bent gewaarschuwd.

Allereerst dient u een verbinding te maken tussen u PC en de µcontroller. Aan de PC-kant kunt u naar keuze via een USB poort, parallele poort of een seriële poort gebruiken om het programma op de controller zetten. Aan de kant van de controller wordt een 10-pins bandkabel aansluiting gebruikt. Het is verstandig om met de 10-pins connector compatibel te blijven met andere hardware, zoals bijvoorbeeld de STK500. Afhankelijk van de door u gekozen oplossing heeft u ook software voor uw PC nodig die om kan gaan met uw programmer. Dit soort software gaat er vanuit dat u een kant en klaar Intel *.hex beschikbaar heeft dat u wil uploaden naar uw controller. Het zal op de controller eerst het oude programma verwijderen, vervolgens het nieuwe er op schrijven en tenslotte controleren of alles er correct is opgeschreven. Dit alles is een kwestie van slechts enkele seconden.

/robotigs/documentatie/plaatjes/usb_programmer.jpg
Dit voorbeeld heeft betrekking op de STK500 en AVR Studio. Op het tabblad Program dient u onder het kopje Flash het door u gemaakte *.hex bestand te selecteren. Vervolgens kunt u op de button Program drukken. Als alles klopt zal nu de Led op de STK500 gaan knipperen en heeft u uw eerste programma op een controller geschreven. Na het ontvangen van een programma zal een µcontroller altijd automatisch rebooten. Kortom uw systeem is "up and running". Na een klein feestje wordt het nu tijd voor een iets serieuzere toepassing.