Микроконтроллер ATtiny10 выпускается в корпусе SOT23 с шестью выводами. Хотя ATtiny85 является более популярным микроконтроллером, он не такой маленький, как ATtiny10, который широко доступен по разумной цене.

Для облегчения программирования ATtiny10 можно настроить Arduino IDE на это дело. Собственно, этим мы и займемся здесь.
Программирование ATtiny10 не слишком простое, как казалось бы на первый взгляд. Во-первых, в данном случае не будет последовательного программирования, потому что микроконтроллер ATtiny10 не имеет коммуникационного порта SPI. Поэтому мы не будем использовать USBASP в качестве внешнего программатора. Вместо этого мы будем использовать Tiny Programming Interface (TPI), особый протокол программирования, представленный Microchip на некоторых недорогих микроконтроллерах Atmel AVR, включая микроконтроллер ATtiny10. TPI предоставляет доступ к битам блокировки устройства, флэш-памяти программ, сигнатуре, разделу конфигурации и калибровки. Другими словами, мы получим полный доступ к портам микроконтроллера ATtiny10 через TPI.
Для загрузки программ в микроконтроллер ATtiny10 нам нужно добавить его в список плат в Arduino IDE. Для этого добавьте следующую ссылку в URL-адрес настроек IDE: https://kimio-kosaka.github.io/bitDuino10-arduinoTPI/package_bitDuino10-arduinoTPI_index.json.

Добавьте плату ATtiny10 к платам IDE, зайдите в «Менеджер плат», затем найдите bitDuino и установите его.

Убедитесь, что вы используете Arduino IDE версии 1.8.9 или более ранней версии, и рассмотрите возможность понижения плат AVR до версии 1.6.23, перейдя в Диспетчер плат, здесь найдите «Платы Arduino AVR», затем выберите версию 1.6.23. или ниже и установите ее.

Затем загрузите программный скетч в Arduino Uno, чтобы он стал программатором для вашего микроконтроллера ATtiny10.
Согласно техническому описанию Microchip, нам нужны резисторы на 220 Ом, расположенные между контактами последовательного программирования, соединяющие контакты MISO MOSI на контактах 11 и 12 UNO с контактами TPIDATA D0 на Tiny10 через резисторы на 220 Ом, и то же самое для контакта Clock на контакте UNO с номером 13 к контакту TPI CLOCK D1 на tiny10, и то же самое для контакта RESET №10 UNO на контакт RESET №6 Tiny10.

Подсоедините Arduino UNO к компьютеру через USB и задайте Tiny10 в качестве целевой платы, затем выберите порт, к которому подключили свой UNO.
Мы подключили светодиод к выводу 2 и запрограммировали его на мигание. Все заработало.

© digitrode.ru