DIY arduino
Thursday, December 22nd, 2011Bisher 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.
http://www.youtube.com/watch?v=7LskShrK4vQ