Opisany tu sposób programowania mikrokontrolerów z projektów strony należy do najprostszych, jednakże wymaga obecności portu LPT. Do programowania proponuję wybrać aplikację ISP Programmer, którą można pobrać → stąd.
Mikrokontrolery można programować już po osadzeniu w układzie docelowym bądź osobno. W drugim przypadku należy na chwilę podłączyć rezonator kwarcowy i zasilanie zgodnie z poniższym schematem.

Po prawej stronie widzimy sposób podłączenia układów czterdziestonóżkowych, po lewej – dwudziestonóżkowych. Złącze LPT widoczne jest od strony lutowania. Częstotliwość kwarcu winna wynosić kilka – kilkanaście megaherców, a napięcie zasilające 5V. Jeśli zdecydujemy się na zaprogramowanie mikrokontrolera już zamontowanego w układzie, wystarczy jedynie podłączyć na chwilę złącze LPT do odpowiednich wejść mikrokontrolera. Dla bezpieczeństwa komputera należy najpierw połączyć mikrokontroler z portem LPT, a dopiero potem z zasilaczem, który winien być dobrej jakości (bez przebić). W szczególności, na czas programowania można układ zasilić z baterii o napięciu 4,5–5,5V
Kolejno, instalujemy aplikację do programowania. Po jej uruchomieniu wybieramy pozycję Setup i ustawiamy wyjścia jak niżej.

Po zatwierdzeniu wybieramy rodzaj mikrokontrolera, częstotliwość kwarcu, a w pozycji File for programming Flash wskazujemy ścieżkę do naszego pliku nazwa.hex. Teraz można już zaprogramować mikrokontroler uruchamiając funkcję Erase & Program All. Pojawi się pasek postępu i gdy wszystko przebiegnie poprawnie, w pasku stanu pojawi się napis Ready. Procesor jest zaprogramowany, można odłączyć układ od portu LPT.

Komunikat Can't erase not known device oznacza, że program nie odnalazł mikrokontrolera. Może to wskazywać na nieprawidłowe połączenie, nieprawidłową deklarację połączeń, brak współpracy programu z portem LPT bądź źle wybrany z menu mikrokontroler. W szczególnych wypadkach należy wybrać inny komputer, bardzo dobrze do tego celu nadają się stare maszyny z przełomu wieków. Przyczyn można także poszukać wśród opisanych niżej.
Komunikaty Write error i Verify error sugerują przekłamania danych pomiędzy komputerem, a mikrokontrolerem bądź uszkodzenie mikrokontrolera (znacznie rzadziej). W celu rozwiązania problemu należy kolejno:
– zmniejszyć deklarowaną w programie częstotliwość kwarcu nawet do 1MHz,
– wymienić kwarc na wolniejszy, o częstotliwości około 3MHz,
– skrócić kabel łączący port LPT z mikrokontrolerem do niezbędnego minimum,
– pomiędzy każdą z czterech linii portu LPT, a plusem zasilania wstawić rezystor o oporze 470Ω,
– pomiędzy oboma wyprowadzeniami kwarcu, a minusem wstawić kondensatory 22pF