How to program the ATTINY13A with Arduino Nano

Antonio Mancuso
4 min readOct 3, 2017

This post describes the steps necessary to program the ATTINY13A micro-controller with an Arduino Nano.

It describes how to program Arduino Nano as an ISP programmer, how to add the ATTINY13 definition to the Arduino IDE board manager and how to upload a simple program (led blink) to the micro-controller.

The ATTINY13A DataSheet defines it as a 8bit micro-controller with 1KB of Flash Memory, 64Byte of EEPROM and 64B of RAM (yes you read it correctly: 64Byte of RAM) :)

Clearly such resource limited micro-controller doesn’t fit any type of application. It shines and it’s very useful in application where a small footprint and low power usage are needed (you can power it with a CR2032 battery).

Development Environment

A great feature provided by the Arduino IDE is the Board Manager functionality which allows the usage of the IDE for platforms which are different than Arduino.

ATTINY micro-controller series is one of those platforms and is fully supported by Arduino IDE.

ATTINY13A pinout

In the above image the ATTINY13A pinout is shown. The pin 1, 5,6,7 are of particular importance as they are used to program the micro-controller or in other words are used to transfer a program into its flash memory for execution.

Below a detailed pinout of the ISP header available on the Arduino Nano board

It’s now time to get into the details and see how to wire the ATTINY13A to be correctly programmed by an Arduino Nano board

Wiring

Wire the ATTINY13A and the Arduino Nano as depicted in the below figure

Pay attention to the orientation of the ATTINY13A and look for a tiny dot on the top surface of the micro-controller. It represent the position of pin #1 on the chip.

Note: please note that the resistor and the led are NOT necessary to program the ATTINY13A. I have added them only for testing purposes (see below video)

Below some details of the wiring which I have performed on a breadboard.

Note that I have followed the color code of the wires in order to make it very simple for the reader to correctly wire it.

Setting the Arduino development environment

In the below video all the necessary steps to correctly set-up the Arduino environment are shown.

It is shown how to program Arduino Nano as an ISP programmer, how to add the ATTINY13 definition to the board manager and how to upload a simple program (led blink) to the micro-controller.

Note: the board manager URL used in the video is: https://mcudude.github.io/MicroCore/package_MCUdude_MicroCore_index.json

Conclusion

If you are developing an application which is constrained in size and/or in power consumption the ATTINY13A can be a perfect fit. You can program it with known tools in a very simple, quick and cheap manner (no need for external programmers)

--

--

Antonio Mancuso

Technology tinker and passionate about Arduino, ESP8266 and Raspberry Pi platforms. My main focus is educational topics for beginners of all age.