Przychodzi moment kiedy chcemy wykorzystać mikrokontroler w projekcie na stałe a rozmiar płytki z Arduino zaczyna przeszkadzać. Samodzielny mikrokotroler ATMega328P zwykle nie ma wgranego bootloadera Arduino, musimy zatem "wypalić" go samodzielnie. W tym celu potrzebne będą:
Podłączamy Arduino UNO do komputera z użyciem kabla USB, w środowsiku Arduino z przykładów otwieramy szkic o nazwie ArduinoIPS i wgrywamy go do naszego UNO.
Następnie w menu Tools wybieramy jako programator Arduino as ISP.
Osadzamy niezaprogramowany mikrokontroler na płyce stykowej i łączymy z Arduino UNO w sposób zaprezentowany poniżej:
Teraz możemy kliknąć Tools/Burn bootloader, proces wgrywania bootloadera powinien zająć do 30 sekund.
Jeżeli podczas wgrywania bootloadera nie wystąpił żaden błąd to możemy odłączyć Arduino UNO. Trzeba pamiętać by w środowisku Arudino przywrócić standardowy programator czyli wybieramy Tools/Programmer/AVRISP mkII.
Warto zacząć od prostego programu (np.: Blink) by sprawdzić czy mikrokotroler działa poprawnie i czy wgrywanie bootloadera rzeczywiście zakończyło się sukcesem.
Łaczymy ATMegę z programatorem w poniższy sposób:

Pin RTS programatora podpinamy do pinu Reset ATMegi, na niektórych programtorach może mieć on oznaczenie DTR. Pin 19 ATMega328P ma w Arduino oznaczeni D13 - przy powyższym połączeniu dioda powinna zacząć migać po wgraniu programu Blink z przykładów Arduino bez żadnych modyfikacji.
Jeżeli zależy nam na maksymalnych uproszczeniu projektu możemy zrezygnować z zewnętrznego zegara, jego kondensatorów i rezystora przy pinie reset ale skutkiem będzie użycie wewnętrznego zegara 8MHz. Instrukcja jak wgrać bootloader z ustawionymi parametrami dla wewnętrznego zegara jest tutaj: https://docs.arduino.cc/built-in-examples/arduino-isp/ArduinoToBreadboard