DIY arduino

Bisher habe ich nur Atmega32 und Atmega8 verwendet. Letzteren auch mal mit arduino Bootloader. Atmega32 wird von arduino nicht unterstützt – es gibt patches, hab ich noch nicht probiert.

Heute gehts darum aus einem Atmega328P-PU einen arduino “pro” zu machen. Hardwareseitig habe ich ihn mit 5V und einem 16MHz Quarz versorgt. Ich folge einem Video-Tutorial auf Youtube(s.u.)

avrdude -c usbasp -p m328p -t

Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0x1e950f
avrdude> part
>>> part

AVR Part : ATMEGA328P
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PC2
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :

Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
eeprom 65 5 4 0 no 1024 4 0 3600 3600 0xff 0xff
flash 65 6 128 0 yes 32768 128 256 4500 4500 0xff 0xff
lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
efuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
lock 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00

avrdude> dump hfuse
>>> dump hfuse
0000 da
avrdude> dump lfuse
>>> dump lfuse
0000 ff
avrdude> dump efuse
>>> dump efuse
0000 05
avrdude> quit


avrdude -c usbasp -p m328p -U hfuse:w:0xDA:m
avrdude -c usbasp -p m328p -U efuse:w:0x05:m
avrdude -c usbasp -p m328p -U lfuse:w:0xFF:m
avrdude -c usbasp -p m328p -U ATmegaBOOT_168_atmega328.hex

danach leuchtet PD1(TX) für ca. 1s das ist der Bootloader.
Mit angeschlossenem seriellem Kabel (USB Handy Datenkabel)
leuchtet PD0(RX)
Upload aus arduino IDE:
* richtige Board wälen: Tools->Board->Pro or Pro Mini 16MHZ Atmega328
* Tools->Serial Port: /dev/ttyUSB0
* upload-icon klicken und sofort danach am Board Reset drücken.

Leave a Reply