JeonLab mini ATtiny programmer using Arduino ISP

For relatively small (less number of pins than ATmega328) project, ATtiny series, ATtiny45 or Attiny85 are good choice in terms of its physical size (8-DIP or 8-SOIC)  and low power consumption.

There are many ways to program it. One of the popular device is USBtinyISP and DASA. Both of them work very well with WinAVR (AVRdude).

I’d like to share how I program ATtiny85 with JeonLab mini 1.3. The idea has been adapted from High-Low Tech Group and One missing note from High-Low Tech Group is that you need to add a 110-120 ohm resistor between VCC and Reset pins of JeonLab mini (or Arduino) to prevent Auto reset on serial connection as explained in here and here.

You will need a JeonLab mini or Arduino or any Arduino compatible board with FTDI USB interface. Here is an example with JeonLab mini v1.3.
ATtiny programmer with JeonLab mini

I used a piece of prototype board to assemble a JeonLab mini v1.3, 6pin male header for the FTDI basic board (Sparkfun), 3 indicating LEDs, a 8pin DIP socket, and a ceramic resonator for ATtiny (if you are using internal oscillator, you don’t need it). I also added another LED to the ATtiny PB0 (pin 5) in order for quick debugging, but if you don’t need or want it, just ignore it. The function of those indicating LEDs in ArduinoISP sketch you will upload later are:

9 (red, right): Heartbeat – shows the programmer is running
8 (red, middle): Error – Lights up if something goes wrong
7 (green, left): Programming – In communication with the slave

Here is a picture before assembling the JeonLab mini PCB. You can see the 100+15 ohm in the middle of where the JeonLab PCB is to be mounted.
assembling ATtiny programmer on prototype board

Fully assembled board.
assembled JeonLab mini ATtiny programmer

Or you can use a breadboard.
ATtiny programmer with JeonLab mini on breadboard

Now go visit High-Low Tech Group and download ATtiny 45/85 support hardware files and extract them to hardware folder in Arduino. Once this is done, connect the board to USB port of your computer and run Arduino and load ArduinoISP sketch. Check your board setting (see below picture) and port number and upload ArduinoISP to the JeonLab or Arduino.


As you can see in the picture above, there are new hardware (board) options, ATiny45 and ATtiny85. Now your JeonLab mini or Arduino has been transformed into a ATtiny 45/85 programmer.

Using this configuration, you can upload your Arduino (of course, there are some limitations like pin numbers and memory capacity) sketches to the ATtiny 45 or 85 from Arduino IDE. Here is an example with the famous Blink sketch. Note you have to change the pin number 13 to 0 (or 1, 2 if you connect an LED there).

Blink upload_ATtiny85
Please note the board should be selected as ATtiny 45 (or 85) (w/ Arduino as ISP). You will encounter two errors as below but you can ignore them.

avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny85
avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny85

Not only from Arduino IDE, but you can also program your ATtiny with WinAVR or avrdude from DOS command window using this set-up.




Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s