Archive for December 22nd, 2011

DIY arduino

Thursday, December 22nd, 2011

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.