Build Your Own ATtiny85 Programmer Using An UNO
The \"brain\" of the Tiny AVR Programmer is an ATtiny84 (not to be confused with the 85), -- the 16-pin surface-mount chip -- which comes preprogrammed with some firmware that makes it look like an AVR programmer. Unless you're writing custom AVR ISP firmware, you shouldn't ever have to mess with this chip. It's a black box. Program data comes into it from your computer, over USB, and it spits out the proper sequence of bytes to load that program into your ATtiny85.
The Tiny ISP Programmer is not limited to ATtiny85's. It's a full-fledged AVR programmer. This row of six pins can be connected to other AVRs via the standard 2x3- or 2x5-pin ISP headers. You could, for example, connect these pins to your Arduino Uno, Leonardo, etc. to re-flash a bootloader, or upload code using a programmer.
Enough talk. Let's start using the programmer. On the next few pages we'll cover driver installation (for Windows users) and show how you can use the Tiny AVR Programmer to program an ATtiny85 in Arduino.
Before you can start using the Tiny AVR Programmer, you may need to set it up on your computer. If you're using a Mac or Linux machine, you don't need to install drivers. Just plug the board in, and skip to the Programming in Arduino page.
If you're using any version of Windows, you've got a few steps to follow before you can join your Mac/Linux comrades. There are two sets of instruction for driver installation on this page. The first is the easiest, quickest method, and should work for most everyone. The second installation process is only required if the first one fails -- it takes a more manual approach to the driver installation.
To begin, locate an empty USB port on your computer, and plug the Tiny AVR Programmer into it. You'll probably want to have the programmer close by. If you're using a PC, or your USB ports aren't close by, a USB Extension Cable might help get the programmer into a more convenient spot on your desk.
If you're using a bare, previously untouched ATtiny85 select ATtiny85 (internal 1 MHz clock). Be careful selecting here, selecting the 8 MHZ option will only make your sketch run slow, but selecting the 20 MHz option can \"brick\" your ATtiny. Do not select the 20 MHz option unless you have an external clock attached!
The ATtiny45 and 85 are a couple of really cool little MCUs but did you know you can program them in Arduino That's right, now you can shrink your Arduino projects down to \"tiny size\" by moving your code straight over to these small but capable ICs. The standard method for programming the ATtiny ICs involves a breadboard, lots of jumper wires and a hardware programmer, but David Mellis over at MIT Media Lab has simplified the process by laying out this handy USB programmer.
The Tiny AVR Programmer plugs directly into your USB port and provides a programming socket for the ATTiny45 and 85. Just slot an ATtiny with a DIP footprint into the socket, plug the programmer into your USB port and start up the Arduino IDE. After installing the proper board definitions, you simply program it the same way you would any other Arduino board. The programmer even breaks out the IC pins to female headers so you can easily prototype around the ATtiny without pulling and plugging it over and over. There are two ISP headers that have also been broken out so you can use the programmer or solder in a 6-pin header for other AVR microcontrollers!
Works fine. From windows 10, Arduino 1.8.8, if you get the following error during upload, it is likely that you're not using the correct programmer option. From the Arduino programming software, be sure to select, Be sure you select \"Tools>Programmer>USBtinyISP\". I didn't see this in the initial documentation and spent a few hours finding this nuance. Using Port : usb Using Programmer : stk500v2An error occurred while uploading the sketchavrdude: usbdev_open(): did not find any USB device \"usb\" (0x03eb:0x2104)
This is just a programmer so you're supposed to remove the chip after you flash your code. The programmer does occupy some of the I/O pins on the chip while it's in the programmer and I would expect some functions to not work until the chip is removed.
Using a USB hub cable with the programmer, it might not work properly if the cable is damaged. You might get this error:Could not find USB device 0x1781/0xc9fTry using a dedicated mini-B USB cable or a different USB cable to prevent this error.
Hello, I bought this programmer and I am not sure how to program larger chips. Should I use the 2x3 header or the 6 at the end I have been using the 2x3 header but I feel like that is used to reprogram the onboard attiny84. Any help is appreciated.
An adapter board for the attiny84 that could plug into the inline strips that are .8\" apart sure would be nice. This programmer makes using the attiny85 very easy. It would be great to have the same convenience for the attiny84.
Thank you so much! I had exactly your setup (Windows 7 64bit + Arduino 1.06) and was receiving those same errors. The programs still ran on the attiny85, but error messages are never good and I don't like ignoring them. Your fix worked perfectly. Good on ya for spending the time to figure it out so that others don't have to.
I have been testing using this programmer as an ISP programmer for ATmega328. I have been able to burn fuses and a HEX file (using AVRDUDE), and load simple blink sketches (using Arduino IDE). However, when I've tried loading a more complex sketch, the program doesn't run correctly when the ATmega328 is plugged into an Arduino. I am able to get the sketch to run properly on the chip when I use another Arduino as ISP using tutorial on Arduino site. I am assuming, I need to set some configuration settings/files up properly.Configuration:
This Tiny AVR Programmer makes programming the ATtiny85 chip for my project so much easier. I love it! However, I recently ran into a problem. I just tried loading some new sketches using Arduino IDE v1.0.5 on a Win7 64-bit machine and I get a verification error. I have used this machine and software many times before without problems. IT appears from my searches that this indicates some kind of communication breakdown between the programmer and the computer. The onboard LED does show communication activity. I have tried two different chips. I have tried burning bootloader in case fuses had been changed. I tried reloading the drivers and core files.Any ideas about how to fix Is this a problem on the board or have my chips failed
Binary sketch size: 844 bytes (of a 8,192 byte maximum) C:\\Program Files (x86)\\Arduino\\hardware/tools/avr/bin/avrdude -CC:\\Program Files (x86)\\Arduino\\hardware/tools/avr/etc/avrdude.conf -v -v -v -v -pattiny85 -cusbtiny -Uflash:w:C:\\Users\\Krist\\AppData\\Local\\Temp\\build282759822894877516.tmp\\ATtiny85_Blink.cpp.hex:i
Hardware: Great simple programmer with plenty of options! The female headers hold jumpers quite well. Nice that other programming pin options are offered. Good form factor: won't hog USB space from another port next to it and fairly sturdy (with no intermittent connection issues).Software - Drivers: I know that the drivers aren't the product, but without them the product doesn't function. First, is anyone else using Chrome getting a security error when trying to download the drivers I keep getting the red danger page stating \"The site ahead contains harmful programs. Attackers on cdn.sparkfun.com might attempt to trick you into installing programs that harm your browsing experience (for example, by changing your homepage or showing extra ads on sites you visit).\" I know Sparkfun isn't evil, so I just used another browser to remedy this. Now my homepage is Sparkfun.com....jk. Drivers work with Arduino 1.6.1 (with Tiny add-on) and Win7.
I am still new to Arduino, only having built a few projects, but having used an Uno, mega and nano, I quickly learned that the boards' size is rather ungainly (and expensive!) to leave in a simple project. The attiny85 is a great size and easy to use with this programmer. Just download a few drivers, which sparkfun provides a link to, follow their instructions and you are blinking LEDs in minutes. You can use the tiny85 by itself or gang them together to take the code-load off of another microcontroller. I am using 85's from China for less than $.50 each! Definitely a game changer for me. Thanks sparkfun!
For many years I have developed AVR based projects using Atmel chips and the STK500 development system (with the Studio software). This combination was clumsy and highly error prone. On the other hand, the Tiny AVR programmer, together with the AVR tool chain, AVRDUDE, and Notepad++, are simple and reliable. 8-pin ATtiny projects can be done entirely on the Tiny AVR programmer, while projects involving larger chips (e.g. AT644P) can be done using programmer's 6-pin SPI interface. I don't expect to return to the STK500 and Studio very soon.
Fantastic little programmer. I am using it on a Mac. I did not have to install any drivers. I followed the instructions to install and download the Arduino IDE and I was programming in 10 minutes. Programmed the first time around. Well worth the money.
It works quite well, and it is very handy to be able to leave the chip in the programmer and use the headers that breakout the chip's pins to connect it to your prototype board where you are testing out your sensors and such.Note, however, that those headers are not through-hole. it turns out it doesn't take much force at all to rip them right off the board. This is made worse because the holes on those headers are a tight fight for the common DuPont connector breadboard jumper cables, making it easy if you are trying to hit a hole that already has connections on either side and so are having trouble getting a perfectly straight shot to bend the header which will greatly weaken it or break it.
If you do break these headers, all is not lost. On the the end there are holes for connecting to the pins