Showing posts with label AVR usb programmer. Show all posts
Showing posts with label AVR usb programmer. Show all posts

Friday, 21 October 2011

ATMEL AVR USB Programmer and Rapid Prototyping Board




PICKIT2 clone



pickit2 components

pickit2 with case
PICKIT 2 is simple but powerfull programmer/debugger for Microchip microcontrollers. First firmware/software version was able to debug only one type of microcontrollers, but currently (May 2008) compatibility list is nearly as reach as for ICD2. With latest software package new gadgets were added: simple 3-channel logic analyzer and UART console. Price of original device is also very low.

PICKIT2 scheme (pdf)
Scheme + PCB (Eagle Light)




Tips:
  • After opening .brd file ground plane probably will not be visible - you will see only cut-off polygon (dotted line). Enter "ratsnest" in command line to generate ground plane.
  • To get a printout suitable for PCB etching click View, Display/Hide layers and select (only) layers: Bottom, Pads, Vias, Dimension, Holes, centerDrill.
  • Software and firmware is available at Microchip website. Search for "PICkit 2 v2.55.01 Setup B.zip" or similar archive. Hex file will be copied to application directory. To load firmware for the first time you will need another programmer with ICSP plug, i.e. COM84, connect it to ICSP connecter at the PCB center. Later firmware upgrades will use USB bootloader, so you will probably not need another programmer later.
Revision history:
  • 2008.10.24 Corrected swapped A0 and A2 address pins of EEPROM IC1 (thanks to Achira)
Problems found:
  • LM358 is not a rail-to-rail operational amplifier and if you are experiencing problem vith voltage calibration try to replace it with preferably MCP6002 or similar,
  • target circuit can not draw more than 25 mA; if I try to debug PIC18F4550 with USB on, high core clock, only one LED connected without external power supply I get message "PK2Error 0024 PICkit2 was unable to establish Vdd on the target. (Attempted 5.00V - Read 0.00V),"
  • to debug another circuit I had to configure fusebits (configuration bits) manually in source code (watchdog OFF, LVP OFF); with default fusebits or when I let MPLAB PICKIT 2 plugin to change them debugging failed with message "PK2Error 0028 Unable to enter debug mode" (example for PIC18F2550).
PIC, PICkit2, ICD2 and others are registered trademarks of Microchip, Inc.

Reade more >>

AVR USB programmer

This is a USB in-circuit programmer for Atmel AVR controllers. It simply consists of an ATMega8 and a few passive components. The programmer uses a software USB driver, no USB controller is needed.


Features:
  • Programs most AVR microcontrollers
  • Works under multiple platforms. Linux, Mac OS X and Windows are tested.
  • No special USB controllers or smd components are needed.
  • Programming speed is up to 5kBytes/sec.
  • Works with the programming software AVRDude



Reade more >>

Thursday, 20 October 2011

USBasp PCB


USBasp PCB



Hi in this post i would like to share one of my reference about usb programmer
PCB for amazing AVR programmer with software USB implementation. For detailed description, firmware package and license information look at Thomas Fischl's USBasp webpage.
Note: I have some problems with long USB cable connection: device doesn't work so well if it's connected to front-side USB socket of my PC - I have to connect it to back panel. Probably cable length is critical - I recommend use 1,8m or shorter USB cable.


Latest hardware version - files modified 17.04.2008 - added 2 3V6 Zener diodes for better compatibility with some motherboards
Approximate speed (ATmega32@Really short manual in Polish
electrical scheme
routing scheme (mirrored bottom side)
assembly scheme (four 0805 capacitors with mirrored partname are located at bottom side)
additional .eps routing file4.9152MHz, file size = 8366B): FLASH programming 3.15kB/s, FLASH reading 4.85kB/s.
2006.03.17: avrdude-gui (754kB zip) with added usbasp option (sourcecode v0.2.0 and binary, dev-c++ 4.9.9.2-wx-beta-6.8). Thomas Fischl's patched avrdude included.
2006.04.06 WinAVR project template available.
2006.05.24 Added info about wrong signature reading and device programming error with low microcontroller operating frequency (i.e. RC 1MHz, just like default for ATmega8) - use jumper 3 in this case.


2006.12.21 Some modifications to avrdude-gui, avrdude-gui_v0.2.1.zip (652kB):
  • corrected command line for writing fuses (0xAB:m format),
  • "-F Verify the device signature" description changed to "Override signature check"
  • changed component displaying output from wxlistctrl to memo: auto-scrolled, no long line cut, mouse text selection,
  • removed "terminal mode" checkbox,
  • slightly compacted UI,
  • format comboboxes: changed to read-only
  • changed some fonts to courier new (useful i.e. with avrdude verbose output),
  • changed output for readed fuses values from "con" to "[fusename].dat"; I don't think con output has any effect.
2006.01.03 I had problems with usbasp.2006-09-16.tar.gz + avrdude 5.2, but latest usbasp.2006-12-29.tar.gz with avrdude 5.3.1 seems to work fine. Here is avrdude 5.3.1 compiled for win32 (Cygwin).
Notice: I undefined HAVE_LIBHID macro, so there could be problem with AVR-Doper programmer if you'd like to use this.
Notice 2: cygusb0.dll required by avrdude binary made with cygwin = libusb0.dll or libusb.dll, just rename it and place in avrdude or (better) system directory.
2007.06.22 Added Avrdude 5.4 win32/cygwin (zip 569kB), compiled with default options. If you'd like to build this release on your own, upgrade libusb library package to 0.1.12.1 (avrdude bug #19889).
2007.12.15 Added Avrdude 5.5 win32/cygwin (zip 558kB) and cygusb0.dll.
2009.03.18 Added Avrdude 5.6 win32/cygwin (zip 528kB). Notice: if avrdude shows message about not finding device with VID = 0x16C0, PID = 0x05DC but you can see usbasp under device manager and it's VID/PID pair is the same as required by avrdude, update libusb driver to 0.1.12.1 version. You can find both this and older driver version inside usbasp.2009-02-28.tar.gz archive.
2009.05.10 Added file avrdude_5_6_r815.7z (7-zip 316kB) - avrdude 5.6 z with patch fromRevision 815.
Using usbasp 2009-02-28 firmware this avrdude version allows to select SPI frequency during programming by -B spi_delay option. SPI frequencies have discrete values, avrdude selects SPI period to value near to requested spi_delay microseconds.
With small modification in default avr-gcc makefile this version allows fast programming of "fresh" MCUs that have default RC 1MHz clock without touching SCK jumper. If you are loading firmware to more than a few AVR boards in a row than you will definitely this usefull:
AVRDUDE_FLAGS = -p $(MCU) -P $(AVRDUDE_PORT) -c $(AVRDUDE_PROGRAMMER)
AVRDUDE_FLAGS += $(AVRDUDE_VERBOSE)
AVRDUDE_FLAGS += $(AVRDUDE_ERASE_COUNTER)
# added:
AVRDUDE_SCK_FLAGS = -B 5
...
# Program the device.  
program: $(TARGET).hex $(TARGET).eep
 # Set LFUSE, HFUSE to switch to fast MCU clock,
 # i.e. crystal (low SPI frequency is used)
 $(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_SCK_FLAGS) \
 $(AVRDUDE_WRITE_HFUSE) $(AVRDUDE_WRITE_LFUSE)
 # Program MCU using fast SPI clock
 $(AVRDUDE) $(AVRDUDE_FLAGS) $(AVRDUDE_WRITE_FLASH) $(AVRDUDE_WRITE_LOCK)
    
2009.08.17 Added Avrdude 5.8 win32/cygwin (zip 250kB, debug symbols stripped - smaller executable, giveio and .conf included in archive, cygusb0.dll 0.1.12.1 required).
2010.04.11 Added Avrdude 5.10 win32/cygwin (zip 263kB, debug symbols stripped - smaller executable, giveio and .conf included in archive, cygusb0.dll 0.1.12.1 required).
* New devices supported:
      - AVR32A0512 (JTAGMKII only)
      - ATmega32U4
      - ATtiny4
      - ATtiny5
      - ATtiny9
      - ATtiny10
  * New programmers supported:
      - BusPirate
      - Arduino
      - JTAGICEmkII and AVR Dragon in PDI mode (ATxmega devices)
      - STK600 and AVRISP mkII in TPI mode (ATtiny4/5/9/10)  
  * Bugfixes
      - see ChangeLog and ChangeLog-2009 for details          
    
2011.03.23 Added step-by-step compilation description for avrdude / MinGW+MSYS
USBasp1.jpg USBasp2.jpg
Reade more >>

USB programmer for Atmel AVR controllers


 USB programmer for Atmel AVR controllers


USBasp Foto

USBasp is a USB in-circuit programmer for Atmel AVR controllers. It simply consists of an ATMega88 or an ATMega8 and a couple of passive components. The programmer uses a firmware-only USB driver, no special USB controller is needed.

Features

  • Works under multiple platforms. Linux, Mac OS X and Windows are tested.
  • 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).
  • Planned: serial interface to target (e.g. for debugging).

Download

Firmware and circuit

The following packages include circuit and firmware.
usbasp.2011-05-28.tar.gz (519 kB) TPI support (upcoming release of avrdude will use it), supports programmers with ATMega88 and ATMega8.
usbasp.2009-02-28.tar.gz (260 kB)
usbasp.2007-10-23.tar.gz (172 kB)
usbasp.2007-07-23.tar.gz (176 kB)
usbasp.2006-12-29.tar.gz (118 kB) Supports programmers with ATMega48 and ATMega8.
usbasp.2006-09-16.tar.gz (116 kB) New VID/PID!
usbasp.2005-11-14.tar.gz (175 kB)
usbasp.2005-07-03.tar.gz (166 kB)
usbasp.2005-04-21.tar.gz (169 kB)

Please refer to Readme.txt for details on building, installing and using USBasp.

Drivers

On Linux and MacOS X no kernel driver is needed. Windows requires a driver for USBasp:
usbasp-windriver.2011-05-28.zip (70 kB)

Software

Hardware

Schematic







please post your comments


Reade more >>

adhitz

Twitter