I would add Preserve EEPROM memory through the Chip Erase cycle; [EESAVE=0] to the fuses...
atmega328_20MHz_isp: HFUSE = D6
2. You probably should bump the brown-out detector to 4.3V[/b][/color] 3. As long as I was rebuilding the bootloader, I would use a higher baud rate... [u]http://zygomorphic.com/arduino-tiny/?page_id=249[/u] 4. Eyeballing, I can't find any problems with the makefile. [/quote] I agree with all of your suggestions except for the B.O.D. setting. I once tried the 4.3V setting and the board would not reliably power up (the USB supply was a touch below 5.0v). Setting the BOD to 2.7 worked 100% stable. I especially had problems at 4.3V when trying to use my AVRISPMKII. The ISP doesn't normally supply VCC on the ISP port, so I hacked mine with a 1N4001 to send USB power to the ISP port. Of course, 5.0 - 0.7 of the diode = 4.3v! The board won't program with BOD set to 4.3.
interesting facts. i just can't wait to test them. maybe i will also try 24mhz for the 328 chip
can 2650 be overclocked to 20mhz, the data sheet says 16mhz max ?
I have great news, I've manage to test Duemilanove (moddet to a Uno) with the attached bootloaders at 20MHz and also at 24MHz
and is working FINE.
the results are presented below and i also attache the bootloaders, changes to boars.txt and the test sketch.
No it doesn't get hot at all. I test it now for 4 hours in a row and i found out that serial, adc conversion and eeprom read/write works well.
No trouble so far. I've change one other board and put it to the test.
Today I tried getting an ATmega328P-PU to work at 20MHz. I downloaded the optiboot.zip file and copied the contents to my optiboot folder (I'm using Arduino-1.0.3 on linux). I made the necessary changes to boards.txt. I then started the Arduino ide and selected the "GVI High Speed (5V-20MHz-250k Baud)" board. Burned the bootloader with an USBasp, uploaded without errors. I then hooked up my ftdi usb/serial converter to the board and tried uploading the blink sketch. But no luck, it can't get serial communication. I tried another ftdi usb/serial converter but I got the same error:
avrdude: ser_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
Just to be sure I plugged the chip in another board with a 16MHz crystal. Bootloaded the Uno bootloader and uploaded a couple of sketches, no problems there, so the chip is fine.
When I try uploading a sketch the led on pin 13 blinks a couple of times. So can I assume that the bootloader is working?
I get this:
Using Port : /dev/ttyUSB0
Using Programmer : arduino
Overriding Baud Rate : 250000
avrdude: serial_baud_lookup(): Using non-standard baud rate: 250000
avrdude: Send: 0 [30] [20]
avrdude: Send: 0 [30] [20]
avrdude: Send: 0 [30] [20]
avrdude: ser_recv(): programmer is not responding
avrdude: stk500_recv(): programmer is not responding
Yes, 20MHz crystal bought from Tayda Electronics. I tried 2 just to be sure. I also tried putting the chip on a breadboard with 20MHz crystal, caps, ... but got the same error. I can upload sketches through my USBasp but can not make a serial connection.
I would like to revisit this thread(yes I know it is old) as it seems to have encountered the most untimely death,
So, because it is still completely unclear to me(noob), perhaps someone will be kind enough to comment on these....
whether or not you can actually operate the ATmega328p on a breadboard with a 20Mhz crystal, while all the things requiring timing remain correct,
2)If so, what is the general step by step procedure to do this. To clarify....I would assume most people capable of using this forum would be able to cut and paste something like a boards.txt file. However, I would less likely assume the same people looking for help on this forum to be able to correctly modify the contents inside. Same goes for Makefile, Optiboot, etc. files.