2
\$\begingroup\$

I am trying to make LED blinker for my project using ATtiny10, I try Blink example from Arduino IDE. I also made custom PCB: enter image description here

I even found instructables link, how to program it:https://www.instructables.com/How-to-Program-ATtiny10-With-Arduino-IDE-A-Compreh/ I followed this tutorial, programmed my Arduino UNO to work as TPI programmer (specific attiny10 programming interface), then connected SPI pins of UNO to RESET, CLK, MISO, MOSI pins on attiny. I installed attiny board lib on arduino ide, downgraded all versions just like in tutorial and tried flashing it, but got serial timeout error.

So it does not work for me, my ATtiny doesn't respond. Maybe there are some other ways, how to program it?

Update: I tried using AVRISP mkII to at least detect my attiny10 using avrdudess. I switched jumper from 3.3 to 5 V on avrisp mkII, I also added 2.2 uF cap on Reset line, left Mosi line N.C., tried switching R21, R13, R14, R28 resistors to 0 Ohm ones. No luck there, tried flashing simple Assmebly code using microchip studio but always get device not found error. At this point I am starting to think that mouser made a mistake and instead of Attiny 10 send me something completely different.

Update 2 I have tried multiple methods to flash the chip, using Arduino Uno as TPI programmer, using Arduino Nano as TPI programmer, using AVRISP MKII and AVRDUDESS, using AVRISP MKII and Microchip studio, added multiple Arduino IDE libraries for ATtiny10 board. Nothing seems to work, my ATtiny10 just don't want to wake up or communicate at all. I even tried connecting +12 V on Reset line, in hopes that it was somehow pre programmed with Reset line as GPIO. Nothing seems to work.

\$\endgroup\$
6
  • \$\begingroup\$ The list of ways to program it are in the data sheet. You likely have only means of using the ISP, but we don't know why it does not work. Maybe there is a bad connection or short circuit. Or you are missing the supply voltage. What have you done to debug why it does not program? \$\endgroup\$
    – Justme
    Commented Aug 17, 2023 at 5:40
  • \$\begingroup\$ Please edit your question and add what exactly you tried, including the links to these instructables. \$\endgroup\$ Commented Aug 17, 2023 at 5:40
  • \$\begingroup\$ I tried measuring voltage on attiny pins and there are 5V on Vcc pin, I also tried probing programming pins with logic analyser to see if any data is present and well, everything seems to work fine on programmers end. \$\endgroup\$
    – Dominykas
    Commented Aug 17, 2023 at 5:47
  • 1
    \$\begingroup\$ BTW, please do not double-post! Decide which site fits you best, and post only there. \$\endgroup\$ Commented Aug 17, 2023 at 5:49
  • 1
    \$\begingroup\$ "At this point I am starting to think that mouser made a mistake and instead of Attiny 10 send me something completely different." What do the markings on the IC say? The Top marking should read something like T10x. \$\endgroup\$
    – Velvet
    Commented Aug 17, 2023 at 8:18

1 Answer 1

2
\$\begingroup\$

The ATtiny10 is programmed with the Tiny Programming Interface (TPI).
This uses RESET, TPIDATA and TPICLK.

This is different from other Atmel parts using SPI programming, and you need a compatible programmer.
I used an official AVRISP MKII for example.

Since this chip has a very low pin count and you will probably be reusing pins, you need to make sure the programming interface can still be used.

This part will never have a bootloader, using the standard Arduino IDE may not work.

You can find an application note on TPI, with some of the inner workings. This may be useful when designing you board for multi-purpose pins. And references to AVROSP, which is another application example to use an ATmega as programmer.

Atmel AVR918: Using the Atmel Tiny Programming Interface (TPI)

Atmel AVR911: AVR Open Source Programmer


I should mention that using Arduino code in this part, with 1024 bytes of flash and only 32 "registers" of ram will not be possible. In fact, if you want to use C at all you need to jump through significant hoops to keep the process image tiny.
Eg: The stackframe for main needs to be omitted for example (takes 8 bytes)

\$\endgroup\$
5
  • \$\begingroup\$ I have AVRISP MKII one lying around, could you provide step by step guide or a link to some tutorial, how to flash it using this programmer? \$\endgroup\$
    – Dominykas
    Commented Aug 17, 2023 at 5:53
  • \$\begingroup\$ @Dominykas What does your own research reveal? Feel free to edit your question to add this new things. \$\endgroup\$ Commented Aug 17, 2023 at 6:48
  • \$\begingroup\$ @Dominykas follow the steps in Microchip Studio for AVR \$\endgroup\$
    – Jeroen3
    Commented Aug 17, 2023 at 6:53
  • \$\begingroup\$ Here is a tutorial how to flashing ATtiny10 using Arduino: junkplusarduino.blogspot.com/p/attiny10-resources.html \$\endgroup\$
    – Gregory
    Commented Aug 17, 2023 at 8:38
  • \$\begingroup\$ I have tried several methods, including this one, attinys don't seem to communicate at all, I tried resoldering them, soldering new mcu, nothing seems to work \$\endgroup\$
    – Dominykas
    Commented Aug 17, 2023 at 9:41

Not the answer you're looking for? Browse other questions tagged or ask your own question.