Transistortester GM328

ESR meter, frequency counter, square wave generator

ATMega328P chip, 8MHz external crystal,
12864 LCD screen for low power back light screen about 2mA,
9V voltage, stable operating current of about 20mA.

USBasp USB ISP 3,3 V/5 V AVR Programmer (Aliexpress)

USBasp driver :

For windows 8 to 10 version, you need to disable the Digital Signature
-Press and Hold Shit key and Click on Restart.
-Click Troubleshoot
-Click Advanced Option
-Click Start up Settings
-Click Restart
-Select the Option Disable Driver signature enforcement (Pressing F7)
-Device manager, Open “Other devices” and right click on Usbasp and select Update driver software

SVN-Repositories: USBasp USB ISP (Burn FLASH and EEPROM)

Upgrade firmware: SVN svn://
svn checkout --depth empty
svn update --set-depth files Software/trunk/
svn update --set-depth infinity Software/trunk/mega328_GM328

Burn FLASH and EEPROM:We use an Arduino UNO to program our micorcontroller.

Connect the USBasp to PC.
Connect SPI programming pins of USBasp to the Arduino UNO.
MOSI, MISO, SCK, RESET and GND pins.Now put the atmega328 controller for programming into UNO board.

        read the specified device memory and write to the specified file
w       read the specified file and write it to the specified device memory

Die oberen Bits der Efuse werden im ATmega328 nicht benutzt.
Zurückgelesen werden ‘1’ Werte für die unbenutzten Bits.
Manche Programmiersoftware maskiert die unbenutzten Bits aber aus. So wird mit der Maske 0x07 aus dem 0xfc eine 0xf04.

For writing only Flash and eeprom:

avrdude –c usbasp –p m328p –u -U flash:w:"TransistorTester.hex":a -U eeprom:w:"TransistorTester.eep":a

For writing only Fuses (L=F7, H=D9, E=04):
avrdude -c usbasp -p m328p -U lfuse:w:0xF7:m -U hfuse:w:0xD9:m -U efuse:w:0x04:m

Erase chip:
avrdude -p m328p -c usbasp -e -u

Backup Flash:

Read flash memory to a file “flash_read.hex”:
avrdude -c usbasp -p m328p -U flash:r:flash_read.hex:i
Read eeprom memory to a file “eeprom_read.hex”:
avrdude -c usbasp -p m328p -U eeprom:r:flash_read.hex:i
Test purpose:
avrdude -p m328p -P usb -c usbasp -U flash:w:Blink.hex

Arduino bootloader

Tools->Board->Arduino UNO (or whatever Arduino board you are programming)
Tools->Burn Bootloader


The bootloader is: c:\myAVR\Arduino-1.8.1\hardware\arduino\avr\bootloaders\optiboot\ Uno

avrdude -c usbasp -p m328p -u -U flash:w:"optiboot_atmega328.hex":a

Leave a Reply

Your email address will not be published. Required fields are marked *