STK500 Compatible USB Programmer

AVR-ISP500 is a fast and reliable USB AVR programmer, and works directly with AVR Studio. It is recognized as a STK500 programmer and programs all AVRs. It emulates USB CDC so no drivers are required and works under Windows, Linux and MacOS. If you do not want to use AVRStudio you can use AVR-ISP500 with AVRdude.

  • USB Powered
  • Connects to PC via USB 2.0 Full speed
  • Uses Atmel's 2x5 pin ICSP and 2x3 connector layout
  • 45x30 mm (1.7x1.2") + 20 cm (8") cable

STK500 Compatible USB Programmer Product Help and Resources

Windows 10

There may be some issues with getting the drivers to install with Windows 10. The solution is to disable the "unsigned driver enforcement in Windows 10. Download and manually install the Olimex drivers. The firmware AVR-ISP500 may need to be updated as well.

COM Port

The COM Port number assigned by Windows must be COM4 or below. See page 5 of the user manual for more information.

Core Skill: Programming

If a board needs code or communicates somehow, you're going to need to know how to program or interface with it. The programming skill is all about communication and code.

3 Programming

Skill Level: Competent - The toolchain for programming is a bit more complex and will examples may not be explicitly provided for you. You will be required to have a fundamental knowledge of programming and be required to provide your own code. You may need to modify existing libraries or code to work with your specific hardware. Sensor and hardware interfaces will be SPI or I2C.
See all skill levels

Core Skill: Electrical Prototyping

If it requires power, you need to know how much, what all the pins do, and how to hook it up. You may need to reference datasheets, schematics, and know the ins and outs of electronics.

1 Electrical Prototyping

Skill Level: Noob - You don't need to reference a datasheet, but you will need to know basic power requirements.
See all skill levels


Looking for answers to technical questions?

We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.

  • echoskope / about 14 years ago / 3

    If you want to use this programmer to burn the bootloader on an arduino ATmega328 you need to go into the programmers.txt file in the arduino hardware folder and change the STK500 to STK500v2 otherwise it will give you an error and won't burn :)

    • SlugEngineer / about 9 years ago / 1

      Thanks a bunch! Also if you want to use this with XLoader, you must do the same!

  • This board will work on Mac if you upgrade to the latest firmware. The link above is broken but you can find the firmware at You will need a Windows machine to upgrade it though and you will need to follow the instructions in the manual exactly. I also had to let windows automatically install drivers after I put it in reset mode.

  • Member #534421 / about 10 years ago / 1

    Does this device support High Voltage Serial Programming?

    • Member #534421 / about 10 years ago / 1

      Just found the answer myself (in the user manual): no.

  • BobCochran / about 10 years ago * / 1

    I've done an initial test of this on a headless CentOS 6.5 x86_64 system that runs in runlevel 3 (meaning, it is non-GUI). This programmer expects the target to be externally powered. So give your target chip voltage from somewhere else. Connect programmer VCC and GND to the external voltage and GND supply.

    To get a bash shell I simply ssh in to the box from another computer. I plugged the programmer in to the USB port and checked the dmesg output. It was discovered and assigned to the /dev/ttyACM0 device just fine. That device belongs to the 'dialout' group., so I added my unprivileged user to that group. Then I did:

    avrdude -p m32 -c stk500v2 -P/dev/ttyACM0

    and it immediately recognized the Atmega32 it was connected to.

    Over the next week I will try to actually program the Atmega.

  • Member #116385 / about 10 years ago / 1

    Does this programmer support the OSCCAL operation (i.e. the "-O" argument to avrdude)? I've got some chips that need their oscillators calibrated, and avrdude says that it is "...only supported on the STK500v2, AVRISP mkII, and JTAG ICE mkII hardware".

    I've tried the STK500v2 emulation firmware on the BusPirate ( ), but that apparently doesn't have any support for the OSCCAL command (it just returns "unknown command").

    • Member #283090 / about 9 years ago / 1

      Did you find an answer? I need this as well.

  • kysa91 / about 12 years ago / 1

    hey does any one can tell me why my computer cannot find the STK500 driver. I usb cable is new and all softwares and code are functioning. can anyone help me please

  • Member #212912 / about 13 years ago * / 1

    This programmer worked out of the box for me on OS X 10.6.7. And it worked under Virtual Box running Windows XP SP3 and AVR Studio 4. The beta version of AVR Studio 5 does not yet support this programmer. Supposedly it will be supported in the final version.

    • Member #212912 / about 13 years ago * / 1
      #the following sets the expected FUSE settings. If you have no idea what  
      #you are doing, you might consider looking at the boards.txt for something  
      #that makes sense. Or go here for easy calculation of the bitmask based on  
      #the options you want-- .  
      avrdude -c stk500v2 -p m328p -P /dev/tty.usbmodem641 -U lfuse:w:0xff:m  \  
      -U hfuse:w:0xda:m -U efuse:w:0x05:m -b 115200  
      #the following writes the bootloader  
      avrdude -p m328p -c stk500v2 -P /dev/tty.usbmodem641 -b 115200 -D \  
      -U flash:w:/Applications/
    • Member #212912 / about 13 years ago * / 1

      If you are wanting to take an erased Atemga 328 and make it Arduino compatible, you can use avrdude with something like the following.
      #the following makes the chip writable for what we want to do
      #if this fails, the chip might be locked down too far and it will
      #need to be erased. you can't decrease the permissions. you
      #can only make them more strict. to increase the permissions
      #you have to wipe the chip.
      avrdude -p m328p -c stk500v2 -P /dev/tty.usbmodem641 -b 115200 -D -U lock:w:0x3F:m

    • Member #212912 / about 13 years ago / 1  
    • Member #212912 / about 13 years ago / 1

      Then modify and/or add an entry to boards.txt (/Applications/ -- default location on OS X). The "upload.using" is the important part. It references the programmer.txt entry we just created. If you are modifying other entries, comment out the other upload options. e.g. upload.protocol, upload.maximum_size, and upload.speed. I added the following entry for the ATmega328:
      ############################################################## programmer with ATmega328

    • Member #212912 / about 13 years ago / 1

      To use this with the Arduino IDE you will need to add an entry to programmers.txt (/Applications/ -- default location on OS X). It should look something like the following: ISP 500 Olimex

  • Member #131786 / about 13 years ago / 1

    I have received 5 PGM-08702 and it will not program the ATMega32A. It is not listed in the selection list. The programmer will program others processors if they are on the list. I have 4.18.684 AVR Studio. I will have to return the programmers if I can not program ATMega32A.

  • Why is this so expensive? I want to be able to do awesome stuffz with ATTinys without dyn-0-miting the bank...

    • brewer / about 13 years ago / 1

      USB interfacing programmers usually cost a little bit more. At less cost, check out the USBtinyISP device KIT. The USBtinyISP is a -kit- you'll need to solder up, but it looks nice in that it also acts as a power -supply- to the board.
      Sparkfun does not carry the Adafruit USBtinyISP (you could suggest it to Sparkfun support...), or find it elsewhere.

  • ptrandem / about 13 years ago / 1

    I got this under the assumption that I could power the target circuit with this programmer ("no need for external power supply as it takes the power supply from USB" says the documentation on the Olimex site). However this doesn't seem to be the case. I'm using the 6-pin connector, which powers my target circuit just fine with the "real" STK500. Am I missing something? Can anyone verify this or shed some light?
    EDIT: After further reading, it seems that this programmer isn't designed to provide constant power to the target circuit, but it DOES provide its own power for the purposes of programming the target chip.

  • villageidiot / about 14 years ago / 1

    What would I be able to do with this that I cannot with the "pocket programmer?"

    • Pearce / about 14 years ago / 1

      This has a much larger range of compatibility, the pocket programmer has problems when used on machines other than windows.

  • YellowFlower / about 14 years ago / 1

    I use this on my XPS 1330 with Windows 7. works great

  • eewestcoaster / about 14 years ago / 1

    How is it on a Windows box? Is it truly "fast and reliable" as the description says?

  • dr2chase / about 15 years ago / 1

    This is NOT a reliable choice for a Mac unless you can be sure the firmware is recent. Old firmware programmers won't talk with the Mac, which means that you can't upgrade the firmware from the Mac either -- you need a box running Windows XP to do the upgrade (though apparently XP on Parallels on Mac will get the job done).
    The symptom of "old firmware" is that the device shows up in System Profiler, but not in /dev. If the "Version" in System Profiler is 1.03 or less, the firmware is too old to work on a Mac.
    If you would rather use a soldering iron than Windows, a USBtinyISP kit might be a better choice for you.

Customer Reviews

2.8 out of 5

Based on 4 ratings:

Currently viewing all customer reviews.

2 of 2 found this helpful:

Not what I was looking for.

In summary: If you are trying to move on to AVR programming from Arduinos, I would suggest spending some extra money and getting the ATMEL ICE ISP. Also the 328pXplained board is useful because tutorials online use it.

I'm a beginner when it comes to working with standalone AVR chips, but I've been using Arduinos for years, I am employed as an embedded programmer, and I am pretty good at making things work. I bought this so I could use it with Atmel and AVR studio, and I had a hell of a time getting it to work. There is limited support online. I found myself hopelessly deep in the forum rabbit hole before I decided that this product was not what I was looking for. I understand this device works with AVRdude... ANNND that if I spent another few days figuring out what firmware it should run, or what usb drivers should be used to communicate with it, and if I add this and that to this and that, EVENTUALLY it may have been the tool I needed, but I was tired of flailing around, and I bought an ATMEL ICE ISP instead... and it's EXACTLY what I was looking for.

could not get it to work

used two different pc's and it would not work. Drivers loaded ok, but could not get it to work with the Basic ARV software.

Sorry that you're having issues with it. If you contact our tech support team, they should be able to help you out.

Not working yet, I need help

I bought the Olimex AVR-ISP500 because the genuine Atmel AVRISP mkII is no longer available and I didn't have any luck with the Chinese copy programmers. I am using Windows 10 and Atmel Studio 7. The ISP500 is not recognized by Atmel Studio and the Olimex User Manual is over 10 years old and the instructions are wildly incorrect for the new software. Windows 10 will not install the Olimex drivers. Atmel Studio doesn't have the dialogs for setting up the programmer shown in the Olimex documentation. I don't want to use AVRDUDE. Does anyone know how I can get this to work?

Does the job

Had some initial problems trying to connect to a legacy product. Turned out there were fuses set which would not allow the program to be read. A new controller was programmed successfully. This was used on an attiny-26 with excellent results. Our initial problem was due to poor documentation of OUR product.