Programming The ATtiny10 With An Arduino

The ATtiny10 – along with its younger siblings that go by the names ATtiny 4, 5, and 9 – are the smallest microcontrollers Atmel makes. With only 32 bytes of RAM and 1 kB of Flash, there’s still whole lot you can do with this tiny six-pin chip. [feynman17] figured out a way to program this chip using an Arduino, allowing him to throw just about anything at this absurdly small microcontroller.

The ATtiny10 doesn’t use the familiar ISP programming header found on other Atmel-based boards. Instead, it uses the exceedingly odd Tiny Programming Interface to write bits to the Flash on the chip. [feynman17] realized he could use the Arduino SPI library to communicate with this chip and built a small programming shield with just a few resistors and a 8-pin DIP socket to mount an ATtiny10 breakout board.

After writing a sketch to upload a .hex file from the Arduino serial console, [feynman] had a programmed ATtiny10, ready to be dropped into whatever astonishingly small project he had in mind.

As for what you can do with this small microcontroller, chiptunes are always an option, as is making a very, very small Simon clone. It may not be a powerhouse, but there’s still a lot you can do with this very inexpensive microcontroller.

10 thoughts on “Programming The ATtiny10 With An Arduino

  1. I’ve been playing with these things for a while and they’re absolutely fantastic; I have a whole slew of projects I want to use them for. The Arduino-as-a-programmer idea is a great one. I ended up using an FTDI serial converter, which is painfully slow.

  2. Thank you for the detailed instructions. Getting the tiny chip soldered to a board was a nightmare though, but LED blink actually DID work on the first try! This programmer is a work of art, thank you for sharing.

  3. Hey, thanks for sharing. This proved very successful, but only for the first program uploaded to the chip. When trying to upload a new one, it says “program error: byte 01BD expected 4F read FE” and that kind of things for all bytes from 0000 to 01C0. This is the second time it gives errors when I’m trying to overwrite the first-written program with a new one. Any thoughts?

    Thanks a lot!

  4. Hey, thanks for sharing. This proved very successful, but only for the first program uploaded to the chip.

    When trying to upload a new one, it says “program error: byte 01BD expected 4F read FE” and that kind of things for all bytes from 0000 to 01C0. This is the second time it gives errors when I’m trying to overwrite the first-written program with a new one.

    Any thoughts?

    Thanks a lot!

Leave a Reply to jwcxzCancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.