How to Program ATtiny10 with Arduino IDE (Full guidance)
Вставка
- Опубліковано 4 лют 2025
- Fully explained tutorial about how to program ATtiny10 small Microcontroller through @Arduino IDE.
I explained in this tutorial how to properly make your Arduino IDE suitable for Tiny10 MCU and I tested some code samples of Arduino APIs such as digitalWrite, analogWrite, delay etc.
The small flash memory of the Tiny10 is not a limit because the microcontroller still can get some basic codes for simple applications which makes it a good solution to replace some electronics components especially due to its cheap price of around $0.4
I recommend that you read this guidance if you want to get deeper details especially about the programming TPI technique offered by @MicrochipTechnology and I found this TPI technique very hand for programming such tiny MCU: make.kosakalab...
👉Tiny10 programming datasheet: ww1.microchip....
👉Arduino preferences Link: kimio-kosaka.g...
0:04 Video intro
0:15 Comparison between some Tiny MCUs
0:50 Not working solutions to program the ATtiny10
1:53 Best solution to program ATtiny10
2:28 TPI Programming protocal explanation
3:00 software setup (Arduino IDE)
3:33 Hardware setup (Arduino UNO as programmer)
4:45 IDE error debugging
6:00 Code uploaded successfully
The main Breakout Board PCB has been designed under Altium Designer and you can start a FREE TRIAL of this ECAD software through this link :
www.altium.com...
★☆★ Trusted sources ★☆★
PCB designing tool : www.altium365....
PCB Parts CAD Models: octopart.com
PCB manufacturing : jlcpcb.com/PCH
★☆★ DOWNLOAD UNO CODE ★☆★
Uno Code: github.com/kim...
★☆★ Recommended Electronics Kit ★☆★
Raspberry Pi Pico Kit Amazon link : www.amazon.com...
★☆★ My Video filming tools ★☆★
Main Camera Canon Rebel T7 : www.amazon.com....
Macro Camera lens : www.amazon.com....
Secondary camera Gopro Hero 8 : www.amazon.com....
LED Video lighting : www.amazon.com....
★☆★ 💻 FOLLOW ME BELOW 💻 ★☆★
Instructables: www.instructab....
Hackaday : hackaday.io/DI...
Facebook : / diyguychris
Twitter : / chris_diy
Hackster : www.hackster.i...
TikTok : vm.tiktok.com/...
Keywords
#arduino #electronic #explore #arduinoproject #arduinoprogramming #attiny10 #learn #learning #stem #education #tips ##circuit #breadboard #smd #easytutorial #hardware
This video has really brought me happiness because, I was working with chip and I failed 100000 times to program it. I used the same method you used but I wasn't able to know what was wrong with my IDE. This solution really helped me, and made my dream of making attiny10 to be working come true. Many thanks ❤❤❤❤❤❤❤❤
Subscribe for more 😉
Finally I was able to take your approach and thanks to you and Kosakas Blog, it really works great :)
I have my own SOT-23 breakouts with already soldered tiny10 on it, but specifically made for thin applications hence I had to make my own wires first before I could try it. Very happy that is works, thank you !
Worked like an absolute charm, thank you!
A hiccup I ran into was I was using the windows store app version which didn't really let me switch to the 1.6.23 version. When using the regular downloaded app, it worked great! :)
Thank you!
Enjoy 😊
@DIY GUY Chris you are the man. Another fun tidbit for people, millis doesnt work.
I replaced all millis calls with a counter and my code works great!
@@drhubs7049 I didn't tested many Arduino APIs for Tiny10 and also the more APIs you use the large the code size because, flash memory needs to be considered wisely for this little MCU 😌
@@DIYGUYChris yh my lil sketch it 800/1000 bytes 😵
Fortunately its enough for what I need
This is gold - I have 5 of this tiny fellas laying around, waiting to be programmed
Good luck 😉
Спасибо дорогой товарищ за инструкцию.
Thank you so much! Works perfectly
enjoy and subscribe for more : )
first I open the sketch "ATtiny4_5_9_10_20_40Programmer_2" compile and upload with the board as ("Arduino/Genuino uno", (Arduino AVR Board Version 1.6.23")this step is ok ,then open the blink sketch, change the board to ( ATtiny10 (bitDuino10-arduino TPI) ,when compiling then I got this error (last 3 lines)
collect2.exe: error: ld returned 1 exit status
exit status 1
Error compiling for board ATtiny10 (bitDuino10-arduinoTPI).
what I'm missing....
Thank's again for your time
Hello, is it possible to to set the internal clock . thank you
Hello, and thank you for this excellent tutorial, if I may ask can the TPI by use to set the RESET pin as an GPIO, and does the TPI can be use to reset the attiny10 to factory setup.
Any luck getting it working?
waiting for your input@@drhubs7049
may i know they both resistor type?
Hi, also do I need to select the "Programmer: Arduino as ISP" ?
thank's again for your time
no
That's very helpful from you, how can I send you screen captures to help you find the problem, let me know thank's again for your reply I will setup again the arduino and breadboard circuit and get the errors ready to send it to you.
does it have a digital input?
can you please suggest me where to buy arduino tool programmer thanks
Hello. Thanks for your video. I have a question. Can we use this setup for Attiny5?
It should work with Attiny5 without any issues
@@robotboy3525 yes. It did work
Try ws2812b led programming
does the same work for ATTINY102?
I am getting an error after following all of your steps. I went to upload the code to my Arduino (ATtiny10) and it says "fatal error: SPI.h: No such file or directory." Any work arounds?
Try to uninstall Arduino IDE and remove all the IDE files then download the old version 1.8.9 from the Arduino website and install it, then compile again after updating the AVR Board version
Hello! Thank you very much for this video, is really usefull and detailed. But sadly I can't compile the code... I already changed and updated the version of AVR Boards to 1.6.22 but still not working... Could you help me or give me some advice? Thanks in advance. PD: My Arduino IDE is v1.8.13
Best regards from Argentina!
Hello! Now I uninstalled the Arduino and the related files and installed an older version 1.8.9 and now compiles, but when I try to upload occur the timeout... I already checked the connections several times, and I changed the microcontroller... can you help me please? Do you know wich can be the problem? Thanks in advance!
@@darioeljatib6399 Have you solved the problem? I get same error with timeout.
Yes! It's working well for me... Have you checked the version of your Arduino IDE and the version of "AVR Boards" section? Tell me which version of both are you using@@dominykassimpukas1958
@@dominykassimpukas1958 same error . Did you solved it ?
@@legendahistory4262 No, I switched to attiny13a
Why not QFNL?
Sketch uses 70 bytes (6%) of program storage space. Maximum is 1024 bytes.
Global variables use 0 bytes (0%) of dynamic memory, leaving 32 bytes for local variables. Maximum is 32 bytes.
2024/02/04 13:34:06 open COM13 The system cannot find the file specified.
2024/02/04 13:34:06
Failed uploading: uploading error: exit status 1
Please help. Thanks.
I am using Arduino Nano. Is it the problem?
Solved by installing Arduino IDE 1.6.13
Also I used Arduino IDE 1.8.9, with arduino AVR board 1.6.23
Have you tried version less than 1.8.9?
Hello Chris, I did install 1.8.18, still same error as before.@@DIYGUYChris
Hey, I am trying to program ATtiny 10 using your method, but I don't seem to get any response from ATtiny when programming it. I get serial:timeout error on Arduino IDE. I use same version as you, I also checked connection and they are correct. I use 220 Ohm resistors on data lines. It looks like ATtiny doesn't turn on or doesn't respond to Arduino UNO attempts to communicate with it. Any solutions to that?
i had that too my solution was hooking everything up correctly to the arduino, than press upload and than connect the arduino to the PC during the compiling procces.
@@JCuriosity That's impressive given the compile time is milliseconds
@@MrBCRC it’s not milliseconds for me using the Arduino compiler. You have a solid 5-10 seconds before it starts uploading
no need bootloader?
No
Any idea how to program the attiny12. Many thanks in advance ❤
Hi, yes the Attiny12 is supported for megaTinyCore (from a quick serach) you can check this GitHub link for details and let me know if you come up with something from it, the Tiny12 has SPI port so basically programming it is a bit calssic through external programmer like USBASP
github.com/SpenceKonde/megaTinyCore/
Awesome, thanks!!!
Welcome 😉
Chris, it's missing directories , error : c:/program files (x86)/arduino/hardware/tools/avr/bin/../lib/gcc/avr/7.3.0/../../../../avr/bin/ld.exe: cannot find crtattiny10.o: No such file or directory
from my explorer the path I can see is this one: C:\Program Files (x86)\Arduino\hardware\tools\avr\bin. I guess there's some directories that are not install properly is this an arduino problem or the bitDuino10 that is not installed properly. let me know what you think about this. thank you again
Try to uninstall Arduino IDE and remove all the IDE files then download the old version 1.8.9 from the Arduino website and install it, then compile again after updating the AVR Board version
Hello Chris, did uninstall arduino IDE, then boot my PC, reinstall arduino 1.8.19, install artduino avr board 1.6.23, install bitduino10-arduino TPI. load the " TPI programmer for ATtiny4/5/9/10/20/40", the select board: bitduino10-arduino TPI
load Blink, compile---> then errors the same as before . maybe this is not working at all maybe you're lucky it's working on your system, I search the internet if someone else was able to compile like your system, but not found anything.
or maybe kasakalab, avrboy is buggy. @@DIYGUYChris
anyway Crhis , thank's for you time
@@JBERGALIEN there is always a solution, it works for me so it should work for you (nothing about luck especially because it works for some other followers, check the comments)
Btw have you deleted the AVR boards repository content before updating the AVR boards version?
I'm not sure, what the step to delete it. does the reinstall did take care of this. if you can list clearly all the steps I should do to fix it. I'm a beginner thank's again@@DIYGUYChris
Hello, I have all the versions identical to the video IDE version 1.8.9, AVR version 1.6.23 (tried 1.6.22 as well), except it still doesn't compile.
any suggestions, advice or solutions
What is the error message you got when compiling?
@@DIYGUYChris Arduino: 1.8.9 (Windows 10), Board: "ATtiny10 (bitDuino10-arduinoTPI), 8MHz(Internal)"
c:/users/deanc/appdata/local/arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/../lib/gcc/avr/7.3.0/../../../../avr/bin/ld.exe: cannot find crtattiny10.o: No such file or directory
c:/users/deanc/appdata/local/arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/../lib/gcc/avr/7.3.0/../../../../avr/bin/ld.exe: skipping incompatible c:/users/deanc/appdata/local/arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/../lib/gcc/avr/7.3.0/../../../../avr/lib\libm.a when searching for -lm
c:/users/deanc/appdata/local/arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/../lib/gcc/avr/7.3.0/../../../../avr/bin/ld.exe: cannot find -lm
c:/users/deanc/appdata/local/arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/../lib/gcc/avr/7.3.0/../../../../avr/bin/ld.exe: skipping incompatible c:/users/deanc/appdata/local/arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/../lib/gcc/avr/7.3.0\libgcc.a when searching for -lgcc
c:/users/deanc/appdata/local/arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/../lib/gcc/avr/7.3.0/../../../../avr/bin/ld.exe: cannot find -lgcc
c:/users/deanc/appdata/local/arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/../lib/gcc/avr/7.3.0/../../../../avr/bin/ld.exe: skipping incompatible c:/users/deanc/appdata/local/arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/../lib/gcc/avr/7.3.0/../../../../avr/lib\libm.a when searching for -lm
c:/users/deanc/appdata/local/arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/../lib/gcc/avr/7.3.0/../../../../avr/bin/ld.exe: cannot find -lm
c:/users/deanc/appdata/local/arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/../lib/gcc/avr/7.3.0/../../../../avr/bin/ld.exe: skipping incompatible c:/users/deanc/appdata/local/arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/../lib/gcc/avr/7.3.0/../../../../avr/lib\libc.a when searching for -lc
c:/users/deanc/appdata/local/arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/../lib/gcc/avr/7.3.0/../../../../avr/bin/ld.exe: cannot find -lc
c:/users/deanc/appdata/local/arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/../lib/gcc/avr/7.3.0/../../../../avr/bin/ld.exe: cannot find -lattiny10
collect2.exe: error: ld returned 1 exit status
exit status 1
Error compiling for board ATtiny10 (bitDuino10-arduinoTPI).
@@deancotton2127 i had that problem too, solved by deleting everything in AppData\Local\Arduino15\packages\arduino\tools\avr-gcc, and than reinstalling the 1.6.23 AVR. the local appdata is accesable by doing %localappdata% in finder.
i think it's due that progam is accidently calling up a newer version of AVR
Thanks for the video. I followed the steps and could compile the blink code. But the upload gave me an error message.Any
Sketch uses 428 bytes (41%) of program storage space. Maximum is 1024 bytes.
Global variables use 0 bytes (0%) of dynamic memory, leaving 32 bytes for local variables. Maximum is 32 bytes.
C:\Users\A.B\AppData\Local\Arduino15\packages\bitDuino10-aTPI\tools\avrboy\1.0.1/avrboy -p attiny10 -P COM14 -b 9600 -U C:\Users\A.B\AppData\Local\Temp\arduino_build_438319/Blink.ino.hex
2024/03/03 14:09:54 open COM14 The system cannot find the file specified.
2024/03/03 142:09:54
An error occurred while uploading the sketch
Any suggestions of what went wrong?
Change COM14 to lower Port Number in Device Menager (eg. COM2).
Sadly this doesn't work any more.
The avrboy program written in golang cannot open the serial connection to the arduino.
Given that the arduino acts as the programming interface that's a pretty major bug.
Why on earth they wrote it in such a frail language... It is yet another example of where trying to be trendy doesn't pay off in the long run.
At least they didn't use python ROFL
Now i'm off to buy a usbASP
Do you know why this is? I thought the Serial didn't matter for the ATTINY but I'm clearly misunderstanding what you're saying
please the last comment for the SPI error, it's ok now
😶🌫️👏👏👏
don't try this program, it simply does not work at all.
maybe if you read the comments you will notice that the program probably didn't worked for only you, kindly check the steps and let me know if you encountred any issue, I'm here to help : )
please read my comments other have the same problem if you know how to fix, or not let me know@@DIYGUYChris