Programator USBASP do aktualizacji firmware zegarów electroNIXclock

Programator powstał po wielu bojach z poprzednio używanymi programatorami AVRów. Na początku przygody z nimi korzystałem z programatora ISP na LPT. Po zaopatrzeniu się w laptopa bez tego portu, przerzuciłem się na AVRProga po RS232 (poprzez przejściówkę COM/USB). Po drodze był jeszcze "kupny" AVRProg zamknięty w obudowie pod dwa złącza DB9 sklejonej termo klejem... ale szkoda o nim więcej pisać - porażka. W końcu pojawił się genialny USBASP. Jest szybki, tani, open sourcowy, na USB, popularny, programuje wszystkie AVR 8-bit, do tego nie ma problemów z inicjalizacją w systemie.

To właśnie te cechy sprawiły, że poniższy programator oparty jest o USBASP. Dodane zostały natomiast cechy, których brak zaobserwowałem podczas przygody z innymi programatorami:
-nieduża, w pełni zamknięta obudowa. Wcześniej, w programatorach bez obudowy zdarzało się pogiąć ich element lub nieopatrznie dotknąć materiału przewodzącego i zrobić chwilowe zwarcie
-opis wszystkich funkcji na panelu czołowym. Wcześniej często musiałem sięgać do dokumentacji programatora, żeby przypomnieć sobie którą zworkę nastawić, żeby włączyć lub wyłączyć daną funkcję. Grawerka laserowa na laminacie jest praktycznie niezniszczalna w przeciwieństwie do naklejek. Estetyka też jest na wysokim poziomie - gruby laminat skutecznie maskuje śrubki.
-dip-switche konfiguracyjne, zamiast wypadających i gubiących się zworek
-zintegrowany kabel - czasami zdarzyło mi się zapomnieć o kabelku USB i było nerwowe poszukiwanie
-reset na pokładzie (target reset) - w moim odczuciu gotowa aplikacja nie potrzebuje przycisku resetu, za to jest on bardzo pomocny, w momencie pisania i debugowania oprogramowania, dlatego został on przeniesiony na programator
-linie USB są zabezpieczone przed ESD za pomocą dedykowanego układu z diodami TVS
-zintegrowane złącze 10pin i 6pin - stosowanie przejściówek lub krosowanie kabelków jest bardzo męczące, dlatego programator jest "fabrycznie" wyposażony w dwa złącza do programowania: 10pin (standard Kanda) i 6pin (standard Atmel). W ten sposób nie trzeba robić rzeźby za każdym razem gdy zmieniamy standard złącza lub posiadać przejściówkę.

Pozostała funkcjonalność jest zgodna USBASP. Najnowsza wersja firmware działa z Win8 i Win7 i nie ma problemów z podpisywaniem sterowników itp. Domyślnie USBASP działa z AVRDude. Przypominam też, że działa on z wieloma nakładkami graficznymi. Moimi ulubionymi są: Khazama (z uwagi na łatwość programowania fusów i locków) i avrdude-GUI (z uwagi na bogactwo obsługiwanych mikrokontrolerów).
Schemat nie odbiega znacznie od oryginału, dodałem jedynie wspomniany przycisk reset i zabezpieczenie ESD.