Сделать Arduino Nano (Uno) из Attiny13 достаточно легко! Будем использовать загрузчик Urboot.
На основе: “github.com/MCUdude/MicroCore” и
“gameforstreet.ru/delaem-arduino-nano-iz-mikroshemy-atmega88-8-48-168-328/”
Нашёл у себя только микросхему Attiny13A PU.
Получившуюся Arduino прошивал скретчами из Arduino IDE – всё работает!
Прошивал Attiny13 по следующим фьюзам для Arduino (но можно прошить на стандартных фьюзах, а потом через Arduino IDE – прошить загрузчик – и фьюзы станут такими же как на картинке ниже):
Следующую прошивку – hex файл – при помощи программатора USBasp, также можно воспользоваться простейшим программатором “5 проводков”.
Скачать hex файл прошивки для Arduino на Attiny13:
– скачать в zip архиве.
– скачать в tar.gz архиве.
Выдернул hex файлы из папки “MicroCore-master/avr/bootloaders/urboot/watchdog_1_s/internal_oscillator/9600000_hz/57600_baud/swio_rxb0_txb1/no-led/” – где 9600000 ГЦ (частота по умолчанию у Атмега13), 57600 baud – скорость передачи по UART, swio_rxb0_txb1 (то есть RX на входе PB0, TX на входе PB1) и подпапки – no-led – то есть без светодиода.
Скачать папку icroCore-master:
– в zip архиве.
Схема соединения следующая:
Распиновка Attiny13 с Arduino:
Как загрузить загрузчик в Arduino IDE – аналогично моей предыдущей статье – “Делаем Arduino Nano из микросхемы Atmega88 (8/48/168/328)” – “gameforstreet.ru/delaem-arduino-nano-iz-mikroshemy-atmega88-8-48-168-328/”. Там же можно найти и подключение через UART с ch340 и программатор 5 проводков.
Примечание:
Фьюзы Attiny13 стандартные (по умолчанию):
Примечание как подключить внешний кварц к Attiny13 для UART:
“github.com/MCUdude/MicroCore”
У Arduino Attiny13 – 4 аналоговых контакта и 2 цифровых, для тестирования мигания светодиода – подключал его к одному из цифровых, вот код Скретча:
* * Connect an LED using an Arduino PIUN. * * For more guides and tutorials: https://www.thecircuitmaker.com */ // set up a variable to store the pin number that will turn on the LED light int ledPin = 1; void setup(){ // configure the LED pin to behave as OUTPUT mode to send HIGH or LOW signals pinMode(ledPin, OUTPUT); } void loop() { // turn on the LED digitalWrite(1, HIGH); // wait for 1 second delay(2000); // turn off the LED digitalWrite(1, LOW); // wait for one second delay(1000); }
Мигание светодиода будет на 1 цифровом выходе, то есть на PB1.