ATtiny Programmer Board (ArduinoUNO As ISP)

2,543

47

5

About: Software developer but I love electronics, wood, nature, and everything else as well.

ATtiny13/ATtiny13a/ATtiny25/ATtiny45/ATtiny85

I really like the ATtiny and programming it, so I built a simple board to use Arduino UNO as ISP in a faster way.


With the original Arduino UNO, there is a little variant because compatible one have another 5v VCC over RESET pin, Arduino UNO has IOREF instead, but don't worry look at the schema to make the simple change.

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: Schema

In github project you can find the fritzing file with simple examples and schema.

Other solution is to export this board and send it to https://www.pcbgogo.com?code=y .

Step 2: Material

I use a perfored board.

To switch Voltage (to use 3.3v or 5v) and to enable test LED, I use a smd on/off button instead of a pin with a jumper.

The board is double sided so I can attach pin and components up and down the board.

AmountPart TypeProperties

  • 1 Arduino Uno (Rev3) tipo Arduino UNO (Rev3)
  • 1 Electrolytic Capacitor capacitance 10µF
  • 1 Ceramic Capacitorcapacitance 100 nF
  • 1 IC Holderpin spacing 300mil; pins 8
  • 1 Green LED package 3 mm [THT]; colore Green (570nm); leg yes
  • 1 Yellow LED package 3 mm [THT]; colore Yellow (595nm); leg yes
  • 1 10kΩ Resistorresistenza 10kΩ; tolerance ±5%
  • 2 220Ω Resistorresistenza 220Ω; 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 headerpackage THT; form ♀ (female); hole size 1.0mm,0.508mm; pin spacing 0.1in (2.54mm); pins 4; row single

Step 3: ATtiny13a Variant

I buy ATtiny13a very low cost IC (less than 0.5€), with 4 analog pin and 2 PWM/TIMER PIN.

Step 4: Board V01

First version of board with no led indicators.

This version work only with fake Arduino.

Fritzing here.

Step 5: Board V01 (Original ArduinoUNO)

As you can see for Original Arduino uno you must add a wire to give 5v voltage to switch.

Fritzing here.

Step 6: Board V02 (power Led)

Add green led to control if board have power supply.

Fritzing here.

Step 7: Board V03 (test Led)

I add a very usefully test led, to check if all is connected correctly.

Fritzing here.

Step 8: Board: Voltage Jumper

ATtiny can work at various voltage so I insert a jumper to select ATtiny operating voltage 3v or 5v power supply.

Step 9: Board: Test Led Jumper

To test if It's all ok on board I add a test led that can be activated by that jumper.

Step 10: Board: Reset Capacitor

To prevent reset when upload code It's important to add a capacitor to reset pin of Arduino.

Step 11: Board: Voltage Capacitor and Reset Resistor

Other important thing is the capacitor to stabilize the voltage and pullup resistor to reset pin of ATtiny.

Step 12: Assembled Board

The realization is quite simple and the result is very usefully.

Step 13: How Board Fit on Arduino

Mount board on Arduino.

Step 14: How to Program an ATtiny: Prepare ArduinoUNO to Use It As ISP

  1. In Arduino IDE select ArduinoUNO board (Tool --> Board --> ArduinoUNO - Strumenti --> Scheda --> ArduinoUNO);
  2. Than open ArduinoISP example file (File --> Examples/Esempi --> 11.ArduinoISP --> ArduinoISP);
  3. Upload Arduino (Sketch --> Upload/Carica);
  4. Close IDE.

Step 15: Add Support for ATtiny: ATtiny13/ATtiny13a

GitHub ATtiny13 support

  1. Open the Arduino IDE;
  2. Open the File > Preferences menu item;
  3. Enter the following URL in Additional Boards Manager URLs: https://mcudude.github.io/MicroCore/package_MCUdu... ;
  4. Open the Tools > Board > Boards Manager... menu item;
  5. Wait for the platform indexes to finish downloading;
  6. Scroll down until you see the MicroCore entry and click on it;
  7. Click Install;
  8. After installation is complete close the Boards Manager window.

Step 16: Add Support for ATtiny: ATtiny25/ATtiny45/ATtiny85

GitHub other ATtiny support

  1. Open the Arduino IDE;
  2. Open the File > Preferences menu item;
  3. Enter the following URL in Additional Boards Manager URLs: https://raw.githubusercontent.com/damellis/attiny... ;
  4. Open the Tools > Board > Boards Manager... menu item;
  5. Wait for the platform indexes to finish downloading;
  6. Scroll down until you see the MicroCore entry and click on it;
  7. Click Install;
  8. After installation is complete close the Boards Manager window.

Step 17: How to Program an ATtiny: Upload to ATtiny

  1. Attach board to ArduinoUNO;
  2. Insert ATtinyXX;
  3. 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 (on next video);
  4. Select board with correct setting and PORT (Tools --> Board/Strumenti --> Scheda);
  5. Select Arduino as ISP (Tools --> Programmer --> Arduino as ISP/Strumenti --> Programmatore --> Arduino as ISP);note: Arduino as ISP is different from ArduinoISP.
  6. Upload program (Sketch --> Upload from programmer / Schetch --> Carica tramite un programmatore).

Step 18: Sample Sketch

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 (on video).

A simple scketch to upload to ATtiny

#define PIN 0
void setup()
{
  pinMode(PIN, OUTPUT);
}

void loop()
{
  digitalWrite(PIN, LOW);
  delay(500);
  digitalWrite(PIN, HIGH);
  delay(500);
}

Step 19: Thanks

In github project you can find some additional info and schema.

Arduino Contest 2017

Participated in the
Arduino Contest 2017

Share

    Recommendations

    • Indoor Lighting Contest

      Indoor Lighting Contest
    • Make It Fly Challenge

      Make It Fly Challenge
    • Growing Beyond Earth Maker Contest

      Growing Beyond Earth Maker Contest

    5 Discussions

    0
    None
    xxreefvideoenquirer

    Reply 1 year ago

    Su github trovi il progetto Fritzing, se hai dubbi (so che il mio inglese è pessimo) chiedi pure.

    On github you can find the Fritzing project, if you have doubts (I know that my English is bad) ask.

    0
    None
    marc.deloor.5xxreef

    Reply 1 year ago

    your English is way better than my Italian :-) Thanks for the nice instructable!

    Mille grazie!