Transistortester GM328
![]()
ESR meter, frequency counter, square wave generator
ATMega328P chip, 8MHz external crystal,
12864 LCD screen for low power backlight screen about 2mA,
9V voltage, stable operating current of about 20mA.
USBasp USB ISP 3,3 V/5 V AVR Programmer (AliExpress)
USBasp driver : http://www.fischl.de/usbasp/
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)
-Reboot
-Device manager, Open “Other devices” and right click on Usbasp and select Update driver software
SVN-Repositories:
https://www.mikrocontroller.net/svn/list
Directories: https://www.mikrocontroller.net/svnbrowser/transistortester/
Upgrade firmware: SVN svn://mikrocontroller.net/transistortester
svn checkout --depth empty svn://www.mikrocontroller.net/transistortester/Software 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 microcontroller.
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.
r read the data device memory and write to the specified file
w read the data file and write it to the device memory
The upper bits of the fuse are not used in the ATmega328.
The unused bits are read back as ‘1’ values.
However, some programming software masks out the unused bits. For example, with the mask 0x07, 0xfc becomes 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:
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->Programmer->USBasp
Tools->Burn Bootloader
or
The bootloader is:
c:\myAVR\Arduino-1.8.1\hardware\arduino\avr\bootloaders\optiboot\ uno.name=Arduino Uno uno.bootloader.path=optiboot uno.bootloader.file=optiboot_atmega328.hex uno.build.core=arduino avrdude -c usbasp -p m328p -u -U flash:w:optiboot_atmega328.hex:a

Leave a Reply