Additional information and document update here on my site: ATtyny Article.
I really like the ATtiny, and for programmaer It, so I build a simple board to use ArduinoUNO as ISP in a faster way.
For Original ArduinoUNO there is a little variant because compatible one have another 5v VCC over RESET pin,
Arduino uno have IOREF instead.
(In project you can find fritzing file, the simple examples and schema).
I buy ATtiny13a very low cost IC (less than 0.5€), with 4 analog pin and 2 PWM/TIMER PIN.
- In Arduino IDE select ArduinoUNO board (
Tool --> Board --> ArduinoUNO
-Strumenti --> Scheda --> ArduinoUNO
); - Than open ArduinoISP example file (
File --> Examples/Esempi --> 11.ArduinoISP --> ArduinoISP
); - Upload Arduino (
Sketch --> Upload/Carica
); - Close IDE.
ATtiny13/ATtiny13a (GitHub ATtiny13 support):
- Open the Arduino IDE;
- Open the
File > Preferences
menu item; - Enter the following URL in Additional Boards Manager URLs:
https://mcudude.github.io/MicroCore/package_MCUdude_MicroCore_index.json
; - Open the
Tools > Board > Boards Manager
... menu item; - Wait for the platform indexes to finish downloading;
- Scroll down until you see the MicroCore entry and click on it;
- Click Install;
- After installation is complete close the Boards Manager window.
ATtiny25/ATtiny45/ATtiny85 (GitHub other ATtiny support)
- Open the Arduino IDE;
- Open the File > Preferences menu item;
- Enter the following URL in Additional Boards Manager URLs:
https://raw.githubusercontent.com/damellis/attiny/ide-1.6.x-boards-manager/package_damellis_attiny_index.json
; - Open the Tools > Board > Boards Manager... menu item;
- Wait for the platform indexes to finish downloading;
- Scroll down until you see the MicroCore entry and click on it;
- Click Install;
- After installation is complete close the Boards Manager window.
- Attach board to ArduinoUNO;
- Insert ATtinyXX;
- If the board is v03 than activate test led otherwise using a breadboard and take VCC from upper right pin of attiny and GND to down left pin, than connect 0 pin (down right) to a led;
- Select board with correct setting and PORT (
Tools --> Board/Strumenti --> Scheda
); - Select Arduino as ISP (
Tools --> Programmer --> Arduino as ISP/Strumenti --> Programmatore --> Arduino as ISP
);note: Arduino as ISP is different from ArduinoISP
. - Upload program (
Sketch --> Upload from programmer
/Schetch --> Carica tramite un programmatore
).
#define PIN 0
void setup()
{
pinMode(PIN, OUTPUT);
}
void loop()
{
digitalWrite(PIN, LOW);
delay(500);
digitalWrite(PIN, HIGH);
delay(500);
}
I use a prefored board, and to switch Voltage and to enable test led I use a smd on/off button instead pin with jumper.
The board is double side so I can attach pin and componend up and down the board.
Board v01:
Board v01 (Original ArduinoUNO):
Board v02 (power led):
Board v03 (test led):
Schema v03 (test led):
Label | Part Type | Properties |
---|---|---|
Arduino UNO | Arduino Uno (Rev3) | tipo Arduino UNO (Rev3) |
Capacitor to prevent reset | Electrolytic Capacitor | capacitance 10µF |
Capacitor to stabilize | Ceramic Capacitor | capacitance 100 nF |
IC Holder | ICHold | pin spacing 300mil; pins 8 |
Power led | Green (570nm) LED | package 3 mm [THT]; colore Green (570nm); leg yes |
Test led | Yellow (595nm) LED | package 3 mm [THT]; colore Yellow (595nm); leg yes |
Left arduino pin (from VIN) | Generic male header - 8 pins | package THT; form ♂ (male); hole size 1.0mm,0.508mm; pin spacing 0.1in (2.54mm); pins 8; row single |
Left IC pin | Generic female header - 4 pins | package THT; form ♀ (female); hole size 1.0mm,0.508mm; pin spacing 0.1in (2.54mm); pins 4; row single |
PullUp reset resistor | 10kΩ Resistor | package 2512 [SMD]; resistenza 10kΩ; tolerance ±5% |
R1 | 220Ω Resistor | bands 4; package THT; resistenza 220Ω; pin spacing 400 mil; tolerance ±5% |
R2 | 220Ω Resistor | bands 4; package THT; resistenza 220Ω; pin spacing 400 mil; tolerance ±5% |
Right arduino pin (7) | Generic male header - 1 pins | package THT; form ♂ (male); hole size 1.0mm,0.508mm; pin spacing 0.1in (2.54mm); pins 1; row single |
Right arduino pin (from 8) | Generic male header - 6 pins | package THT; form ♂ (male); hole size 1.0mm,0.508mm; pin spacing 0.1in (2.54mm); pins 6; row single |
Right IC pin | Generic female header - 4 pins | package THT; form ♀ (female); hole size 1.0mm,0.508mm; pin spacing 0.1in (2.54mm); pins 4; row single |
Jumper voltage setting | Generic male header - 3 pins | package THT; form ♂ (male); hole size 1.0mm,0.508mm; pin spacing 0.1in (2.54mm); pins 3; row single |
Enable test led on PIN0 | Generic male header - 3 pins | package THT; form ♂ (male); hole size 1.0mm,0.508mm; pin spacing 0.1in (2.54mm); pins 3; row single |
Amount | Part Type | Properties |
---|---|---|
1 | Arduino Uno (Rev3) | tipo Arduino UNO (Rev3) |
1 | Electrolytic Capacitor | capacitance 10µF |
1 | Ceramic Capacitor | capacitance 100 nF |
1 | IC Holder | pin spacing 300mil; pins 8 |
1 | Green (570nm) LED | package 3 mm [THT]; colore Green (570nm); leg yes |
1 | Yellow (595nm) LED | package 3 mm [THT]; colore Yellow (595nm); leg yes |
1 | 10kΩ Resistor | package 2512 [SMD]; resistenza 10kΩ; tolerance ±5% |
2 | 220Ω Resistor | bands 4; package THT; resistenza 220Ω; pin spacing 400 mil; tolerance ±5% |
Generic male header | package THT; form ♂ (male); hole size 1.0mm,0.508mm; pin spacing 0.1in (2.54mm); pins 8; row single | |
Generic female header | package THT; form ♀ (female); hole size 1.0mm,0.508mm; pin spacing 0.1in (2.54mm); pins 4; row single |
ATtiny13a I used this for test
Preforated board up:
Preforated board down:
Mount on Arduino:
After upload: