Вы находитесь на странице: 1из 16

https://www.arduino.

cc/en/Guide/Core
let's make
Login|Sign Up
share what you make >

Featured:

Intel IoT

Arduino

Parties

With Instructables you can share what you make with the world, and tap into an ever-growing
community of creative experts.

Installing Attiny13 core files


by diy_bloke

In an instructable "Make an Attiny13 based IR proximity sensor for $2.42" by Dustin Andrews
refers to having to install the Attiny13 core files.
Unfortunately the core files that are linked to do not contain the boards.txt file that will let the
Attiny 13 show up as choice under 'Tools-boards' in the IDE. If you are a novice at installing
core files this may seem daunting, but since I just did it, I thought I'd just share that knowledge
with you.
Do the following:
-Download the Attiny cores from: http://sourceforge.net/projects/ard-core13/
-Go to your sketches folder
-most likely there is a folder called 'hardware' if not, create that.
-open the hardware folder
-create a folder called 'attiny13'
-open that folder
-create a folder called cores
-open that folder
-create a new folder called 'core13'
-so now you have the structure /hardware/attiny13/cores/core13
-open that deepest folder and unzip the attiny core files to that folder
-go back to your /hardware/attiny13 folder
-create a text file called 'boards.txt'
open that file.
paste the following text in that file:
###########################################################################
attiny13int.name=Attiny13 @ 128 KHz (internal watchdog oscillator)
attiny13int.upload.using=arduino:arduinoisp
attiny13int.upload.maximum_size=1024
attiny13int.upload.speed=250 # important for not losing connection to a slow processor
attiny13int.bootloader.low_fuses=0x7B
attiny13int.bootloader.high_fuses=0xFF
attiny13int.bootloader.unlock_bits=0x3F
attiny13int.bootloader.lock_bits=0x3F
attiny13int.build.mcu=attiny13
attiny13int.build.f_cpu=128000
attiny13int.build.core=core13
###############################################################
attiny13at4.name=ATtiny13 @ 4.8MHz (internal 4.8 MHz clock)
attiny13at4.upload.using=arduino:arduinoisp
attiny13at4.bootloader.low_fuses=0x69
attiny13at4.bootloader.high_fuses=0xff
attiny13at4.upload.maximum_size=1024

attiny13at4.build.mcu=attiny13
attiny13at4.build.f_cpu=600000
attiny13at4.build.core=core13
###############################################################
attiny13.name=ATtiny13 @ 9.6MHz (interne 9.6 MHz clock)
attiny13.upload.using=arduino:arduinoisp
attiny13.bootloader.low_fuses=0x7a
attiny13.bootloader.high_fuses=0xff
attiny13.upload.maximum_size=1024
attiny13.build.mcu=attiny13
attiny13.build.f_cpu=1200000
attiny13.build.core=core13
###############################################################
I got this 'boards.txt' file from here, but had to adapt it a little as that file 'sneekishly' suddenly
changes the programmer in its last definition and also I had big trouble getting more than 2
boards to show up, until I realised that 2 of the board definitions carried the same name, so I had
to change that as well. Also, the names of the boards are not entirely correct. The fuses on the 4.8
MHz board are 0x69 and 0xFF. That indicates that the prescaler is already set to division by
eight, which corresponds with the f_cpu of 600.000.
For the 9.6MHz internal clock board, we see that the fuses 0x7a and 0xFF are in fact correct for
9.6MHz without prescaler, but then the f_cpu of 1200.000 is not correct, that points to a division
by 8 for which the fuses should be 0x6A and 0xFF. However, i didnt mess with that and
everything worked fine, but the timings might be off.
You may want to adapt your boards.txt file once you have it all installed to reflect the true
settings. Also, you will not find the 128kHz setting very useful and the danger is that you may
not be able to communicate
with your chip anymore because it becomes too slow

So, just as a final check that you have done everything right:
Go to your hardware folderYou should see a folder there called attiny13
Open that folder
It should have 2 entries: a folder called 'cores' and a text file called 'boards.txt'
open the folder 'cores'
That should have one entry: a folder called 'core13'
open 'core13'. There you should find 13 files with 'h', 'c' and 'cpp' extensions.
To make it easy I made a zip file that should unpack with the right directory structure. Unzip it in
the 'hardware' folder.
As an added note: in 2015 when i wanted to program some Attiny13's, seemingly i had screwed
up my installation and I couldnt program the chips anymore. Apparently I had forgotten I wrote
this ibble. A search found my own ibble and when i installed the zip file... everything went like
clockwork again.

We have a be nice comment policy.


Please be positive and constructive.

a1m918 4 months ago


its Done :)
thank you for your help diy_bloke ! :) you helped me a lot.
Thank you very much.

a1m918 a1m918 4 months ago


Now I am going to follow your
Simple and cheap Fuse Doctor for Attiny
diy_bloke (author) a1m918 4 months ago
left a comment there for you. What happened that you already need a fusedoctor? screwed up yr
fuses?

a1m918 diy_bloke 4 months ago


Yes I had actually bricked my 2 Attiny13 so the IDE was giving the Yeiks (what ever) error. I
read your comments and post regarding that error and found simple fuse doctor. that fixed my
Chip without any trouble :)

diy_bloke (author) a1m918 4 months ago


we have all been there :-)

diy_bloke (author) a1m918 4 months ago


my pleasure. good luck. left a comment there for you

a1m918 4 months ago


I am using Arduino as ISP
ArduinoISP Sketch is uploaded to UNO's Atmega Chip
then Selected board ATTINY13 internal oscillator.
Selected Programmer > Arduino as ISP
Open the Blink program for ATtiny13 where pin0 is set for output as shown in picture.
when click upload. it gives me following error. Help please.

diy_bloke (author) a1m918 4 months ago


read my earlier reply as well, but maybe you have your sequence wrong and you are trying to
upload to your UNO.
Make sure you have the ISP uploades to UNO
then attach your Attinyprogrammer
Then select Attiny13 under 'tools make sure you have Arduino as ISP selected.
Go to file and select
'Upload using Programmer"

a1m918 diy_bloke 4 months ago


Sorry But I guess there is some miss understanding :)
actually I just want to burn boot loader to attiny (if it is necessary) to make it arduino
compatible.for this purpose, I am uploading ArduinoISP sketch to my Arduino UNO board to use
UNO as ISP for ATTINY. but the problem is that I am unable to uplaod any program to it.

diy_bloke (author) a1m918 4 months ago

I see and I think I know where the problem is. What bootloader did you upload to the Attiny13?
As far as I know there is no bootloader for the Attiny13. If you just clicked the option "ToolsBurn Bootloader", The only thing that happens is that it sets some fuses that define some
characteristics of the Attiny, like what the oscillator speed is.
It is not that it suddenly has a bootloader that will upload programs. For that you just have to use
"File-Upload Using Programmer"
So, again.. what you do is to laod the ISP in your UNO, connect the progarmming circuit (did
you include the resistor in your circuit to prevent resetting?)
Then you choose "Tools-board-Attiny13-9.6MHz" (or 4.8 or whatever) and you then choose
'Burn bootloader"
As I explained, that doesnt burn a bootloader, it just sets fuses to tell the attiny it is 9.6 MHz (in
this case).
Then you load the program you want into yr attiny13 in the IDE and you go to Files-Upload
using programmer"
Done

a1m918 diy_bloke 4 months ago


Well thank you again diy_bloke !
okay it seems I have bricked my ATtiny13. Not a big issue , I'll buy new one :)
but I have a question, do ATtiny really need boot loader ? I mean can I directly upload program
again and again using Arduino IDE ?? like ATMEGA 328.
Thank you again. I will again perform these steps as you directed then I will post the results.

diy_bloke (author) a1m918 4 months ago


you really should read my replies as I explained that already.
There is no bootloader for the Attiny13.
you upload programs through ISP using "Files upload using programmer"
"burning the bootloader" only sets fuses, it doesnt put a bootloader in the chip as there is no
bootloader.
Just follow the steps as i described

diy_bloke (author) diy_bloke 4 months ago


I see you have the capacitor in yr circuit so there is no need for a resistor

diy_bloke (author) a1m918 4 months ago


Make sure you read all my answers: with regard to tyhe 'Yikes' error message. If you have
burned a bootloader, thinking you needed to burn the UNO bootloader, you have burnt some
unexpected fuses in your Attiny13. And therefore it isnt properly recognized. So if your problem
persists and you have checked all your connections and settings, you have most likely bricked
your Attiny13.
need a HV programmer to set them back to factory values.
If you have more than one Attiny13, I suggest you take a fresh one and follow my instructions on
what to do to the letter (make sure you read all 3 replies I gave you). If you only have one
Attiny13, you must first unbrick it

a1m918 diy_bloke 4 months ago


No I have just read few of them. Sorry for that. I will read them first then I'll ask you the next
question.
Thanks.

diy_bloke (author) a1m918 4 months ago


the first error about PAGEL and BS you can just ignore.
The 2nd error can mean a lot, e.g. that you do not have your connections right, but it can alos
mean that somehow some unwanted fuses were set that make your chip unprogrammable via ISP.
so just a few questions:
are you sure you made all the right connections in your programmer.
Are you sure it is an Attiny13?
Is that a new attiny or has it been used before

a1m918 diy_bloke 4 months ago


@diy_bloke, Thank you for your quick reply.
Yes the Chip is new, actually it is my first time that I am trying to upload program into ATTINY
chip, and failing since the first time I tried to upload. and about connections, the chip is
connected as follows:
ATTINY13 || Arduino UNO
pin 1 (reset) = 10

pin 4 (GND) = GND


pin 5 (SCK) = 11
pin 6 (MISO) = 12
pin 7 (MOSI) = 13
pin 8 (Vcc) = 5v
A 10uf capacitor (-) side to GND of arduino and (+) to Reset

diy_bloke (author) 6 months ago


The new Arduino IDE structure requires a different installation of the files. Currently I cannot
update this 'ibble' due to the new editor, but when that is solved I will update this ibble for the
Arduino IDE 1.6 and higher

diy_bloke (author) 6 months ago


by now my boards file looks like this:
###############################################################
attiny13at4.name=ATtiny13 @ 4.8MHz (internal 4.8 MHz clock/w 8 prescaler)
attiny13at4.upload.using=arduino:arduinoisp
attiny13at4.bootloader.low_fuses=0x69
attiny13at4.bootloader.high_fuses=0xff
attiny13at4.upload.maximum_size=1024
attiny13at4.build.mcu=attiny13
attiny13at4.build.f_cpu=600000
attiny13at4.build.core=core13
###############################################################
attiny13at4np.name=ATtiny13 @ 4.8MHz (internal 4.8 MHz clock no prescaler)
attiny13at4np.upload.using=arduino:arduinoisp
attiny13at4np.bootloader.low_fuses=0x79
attiny13at4np.bootloader.high_fuses=0xff
attiny13at4np.upload.maximum_size=1024
attiny13at4np.build.mcu=attiny13
attiny13at4np.build.f_cpu=4800000

attiny13at4np.build.core=core13
###############################################################
attiny13.name=ATtiny13 @ 9.6MHz (internal 9.6 MHz clock/no prescaler)
attiny13.upload.using=arduino:arduinoisp
attiny13.bootloader.low_fuses=0x7a
attiny13.bootloader.high_fuses=0xff
attiny13.upload.maximum_size=1024
attiny13.build.mcu=attiny13
attiny13.build.f_cpu=9600000
#attiny13.build.f_cpu=1200000
attiny13.build.core=core13
###############################################################
attiny13ps.name=ATtiny13 @ 9.6MHz (internal 9.6 MHz clock/w 8 prescaler)
attiny13ps.upload.using=arduino:arduinoisp
attiny13ps.bootloader.low_fuses=0x6a
attiny13ps.bootloader.high_fuses=0xff
attiny13ps.upload.maximum_size=1024
attiny13ps.build.mcu=attiny13
attiny13ps.build.f_cpu=1200000
attiny13ps.build.core=core13
###############################################################
attiny13ex.name=ATtiny13 @ 16MHz (External Crystal)
attiny13ex.upload.using=arduino:arduinoisp
attiny13ex.bootloader.low_fuses=0x78
attiny13ex.bootloader.high_fuses=0xff
attiny13ex.upload.maximum_size=1024
attiny13ex.build.mcu=attiny13
attiny13ex.build.f_cpu=16000000
attiny13ex.build.core=core13
###############################################################

HDL_CinC_Dragon 10 months ago


Thanks for the write up, diy_bloke! This has been a big help!

diy_bloke (author) HDL_CinC_Dragon 10 months ago


Happy to be of service :-)

dustinandrews 3 years ago


Nice work!
Did you also have to change the wiring.c like it says here? I think I ended up needing to do that
to get the blink program to work at the right speed. It may not matter for the IR sensor.
diy_bloke (author) dustinandrews a year ago
Blink on 1.05 works

diy_bloke (author) dustinandrews 3 years ago


No I did not do that. I did not try the blink program, just quickly a few other statements and that
worked. I did not really set out to validate the core, just to instruct how to install the available
one.
A quick test showed me it was working
diy_bloke (author) diy_bloke 3 years ago
Let me add that I am not sure if the link you gave above is the same core and I used the 22 IDE,
not the 1.0
diy_bloke (author) diy_bloke 3 years ago
I checked a bit further and it seems that the article about changing the wiring.c that you provide
th elink for, deals with a different core. That wiring.c has references to the 44 and 84, whereas
the one I describe above (that is coming from yr ibble :-) ) does not have these. Also the header
file 'iotn13.h' is not present in the core (from 'Smeezekitty' you and I link to, suggesting the
change in wiring.c involves a different core.
ihart a year ago
Thanks for writing this up. I know it's been a while. I am running Arduino 1.5.4 and I am having
issues with getting the Attiny13 to compile.
First, the only place I can get the Attiny13's to show up in the Arduino IDE is when I put the
folder here:
C:\Program Files\Arduino\hardware\arduino
Second, when I chose any of the 3 Attiny13's offered in the Arduino IDE and compile my sample
sketch I get this error:
processing.app.debug.RunnerException

at processing.app.debug.Compiler.getCommandCompilerCPP(Compiler.java:554)
at processing.app.debug.Compiler.compileFiles(Compiler.java:246)
at processing.app.debug.Compiler.compileSketch(Compiler.java:592)
at processing.app.debug.Compiler.compile(Compiler.java:96)
at processing.app.Sketch.build(Sketch.java:1569)
at processing.app.Sketch.build(Sketch.java:1548)
at processing.app.Editor$DefaultRunHandler.run(Editor.java:1915)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.NullPointerException
at processing.app.helpers.StringReplacer.replaceFromMapping(StringReplacer.java:99)
at processing.app.helpers.StringReplacer.replaceFromMapping(StringReplacer.java:91)
at processing.app.helpers.StringReplacer.formatAndSplit(StringReplacer.java:39)
at processing.app.debug.Compiler.getCommandCompilerCPP(Compiler.java:552)
... 7 more
Note: If I compile my sample sketch for an UNO, it looks good.
Any ideas?

gussmith a year ago


Does not work for me in 1.5.6-r2

diy_bloke (author) gussmith a year ago


sorry about that. I have no experience with 1.5.6-r2. It is a bta release. maybe that is the
problem

gussmith gussmith a year ago


I installed 1.05 and there it works.

Idrispo a year ago


i made this!!!...but not yet try the led blinking...

diy_bloke (author) Idrispo a year ago

Great! :-)

danm_daniel 3 years ago


legit, thanks DIY_Bloke
diy_bloke (author) danm_daniel 3 years ago
my pleasure
WWC 3 years ago
Very good!
I was actually trying to install the 13 files and not working. Then i came across your ible on it
and you saved the day. Works perfectly.
Thanks
W
diy_bloke (author) WWC 3 years ago
My pleasure

About This Instructable


13,897 views
19 favorites
License:

diy_bloke 218
Bio: I am a physician by trade

. After a career in the pharmeceutical world I decided to

take it a bit slower and do things I ... More


More by diy_bloke:
Tags:

Related

Colour Changing LED Night Light


by DangerousTim

Programming an ATTiny13A using Arduino & servo interpreter


by ooda55

Pimp Your Chocolates with Arduino IDE and ATtiny13


by elabz

mini animated LED Christmas Tree 32 x 32mm


by Mic100

Chipper Board - ATtiny Programming Shield


by Hammock Boy
FEATURED CHANNELS

Intel IoT

Life Hacks

Beauty

Woodworking

Minecraft

Breakfast

Laser Cut

Organizing

Arduino

Newsletter
Join 2 million + to receive instant inspiration in your inbox.

Mobile
Download our apps!

Android

iOS

Windows

About Us

Who We Are

Advertise

Contact

Jobs

Help

Resources

For Teachers

Artists in Residence

Gift Pro Account

Forums

Answers

Sitemap

Terms of Service|

Privacy Statement|

Legal Notices & Trademarks|

Mobile Site

2015 Autodesk, Inc.

Вам также может понравиться