Using external programmers (USBasp)

From Tuxamito
Revision as of 17:27, 13 April 2016 by Daniel (talk | contribs)
Jump to: navigation, search

Sometimes one will need to program an Arduino board that does not have a programming interface or will want to build a custom one using and Atmel AVR chip. If the chip contains no bootloader or we do not have a serial interface we can use an external ICSP programmer, such as the USBasp. In this page we will explain how to use such programmer.

USBasp description

USBasp is a USB in-circuit programmer for Atmel AVR controllers. The programmer uses a firmware-only USB driver, no special USB controller is needed.


  • Works under multiple platforms such as GNU/Linux, Mac OS X.
  • Allows you to read or write the microcontroller EEPROM, firmware, fuse bits and lock bits.
  • No special controllers or smd components are needed.
  • Programming speed is up to 5kBytes/sec.
  • SCK option to support targets with low clock speed (< 1,5MHz).
  • 10 pin ISP interface (conforms to standard ISP 10-pin pinout).


More info:

10 pin ISP interface

Male Interface:

ISP 10 way pinout.png

Female Interface:



  • Red: VCC
  • Black: GND
  • Blue: RST (to AVR reset pin)
  • Green: MOSI (to AVR SPI's master output pin)
  • Orange: MISO (to AVR SPI's master input pin)
  • Yellow: SCK (to AVR SPI's sync serial clock pin)


The next picture shows the cables connected to an ATmega328 on a breadboard connected to the USBasp programmer, ready to be used.

Usbasp atmega.jpg