Pages: [1]   Go Down
Author Topic: 328P-PU 3.3v 8Mhz  (Read 1224 times)
0 Members and 1 Guest are viewing this topic.
Ipswich UK
Offline Offline
Newbie
*
Karma: 0
Posts: 36
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi all,

I am hoping someone can help me with this I have been searching and trying for the last 2 hours and I am getting close to giving up.

I have some blank 328P-PU chips I would like to install an 8Mhz boot loader so I can run the chips at 3.3v.  I have downloaded the breadboard 328 8Mhz zip and have been trying to burn the boot loader with a uno as ISP.

The only response I get is...


avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x14

avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x01
avrdude: stk500_initialize(): (a) protocol error, expect=0x14, resp=0x10
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.

avrdude: stk500_disable(): unknown response=0x12


I have hooked up the same as the breadboard tutorial and have tried burning with and without a crystal on the target chip.

Anyone got any ideas?

Thanks,
Mark
Logged

Romania
Offline Offline
Full Member
***
Karma: 0
Posts: 174
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

did you disable the auto reset on uno ? i know running the isp sketch on uno without disabling auto reset would cause your problems to disable the auto reset use a 120R resistor between RESET and 5v
http://www.arduino.cc/playground/Main/DisablingAutoResetOnSerialConnection
or you can use a capacitor between reset and gnd

also from the error i tend to believe its an wiring problem - but i may be wrong
hope this helps
Logged


Ipswich UK
Offline Offline
Newbie
*
Karma: 0
Posts: 36
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Thanks,

I put a 100uF cap between reset and ground and I seem to be getting further.

First I get message Burning Bootloader to board...

And then avrdude: stk500_recv(): programmer is not responding

My hookups are from target chip to Uno

VCC & ACC to Uno 5v
GND & GND to Uno GND
D13 to Uno ISP SCK
D12 to Uno ISP MISO
D11 to Uno ISP MOSI
RST to Uno ISP RST

Am I missing anything?
Logged

Colorado
Offline Offline
Edison Member
*
Karma: 47
Posts: 1562
Reviving dead brain cells with Arduinos.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

You know, I just went through this recently, although I was getting slightly different errors than you.  I have several of those ICs and when I setup a minimalist breadboard configuration, it wouldn't burn the bootloader.  Kept complaining that it's not the right chip.  I checked and double checked, it's the same thing.  Then, for grins and giggles, I decided to tie an oscillator to the IC.  Lo and behold, it worked.

So, I thought, maybe it's the IC, let me try a second one.  Same thing, wouldn't burn till I had an oscillator on.  Now, I also have the same IC, but in TQFP form ... I tried one of those.  I had just made some test boards for them so why not.  Same darned thing ... wouldn't burn the bootloader till I tied an oscillator on.  Which by the way, manually soldering a thin set of wires to the IC is not easy.  The boards were designed specifically so I did not have to have an oscillator ... good thing I only made two for testing.

Now, once I was able to get the breadbroad bootloader on, I could yank the oscillator off and everything worked fine ... at least till I tried to re-burn the bootloader again ... it wants the oscillator again.

So, I've decided, whenever I'm burning bootloaders, regardless of what it is, always put an oscillator on.  Afterwards, I can always yank it off afterwards, or just leave it on.
Logged

Pittsburgh, PA, USA
Offline Offline
Faraday Member
**
Karma: 98
Posts: 4807
I learn a bit every time I visit the forum.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Could a minimalist bootloader be built right onto a ZIF socket?

Logged

I find it harder to express logic in English than in Code.
Sometimes an example says more than many times as many words.

Romania
Offline Offline
Full Member
***
Karma: 0
Posts: 174
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ah right forgot about that - if your burning your bootloader with arduino ide youll need to change the fuse settings in order to use the internal oscillator @8mhz

but you may have a problem re-burn the fuses - since your atmega expect a crystal, im not sure if it will start without one to allow you to reburn the fuses - i know i had some similar problems with an atmega8 so probably if you already burn the bootloader youll need an crystal (or resonator) hooked up to your breadboard

@GoForSmoke what do you mean ?  the bootloader its the software part and a zif socket its just the socket where you put the IC
Logged


United Kingdom
Offline Offline
Tesla Member
***
Karma: 224
Posts: 6614
Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law.
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

RST to Uno ISP RST

That's wrong, you need RST to Arduino ISP D10 as per the tutorial.
Logged

Formal verification of safety-critical software, software development, and electronic design and prototyping. See http://www.eschertech.com. Please do not ask for unpaid help via PM, use the forum.

Colorado
Offline Offline
Edison Member
*
Karma: 47
Posts: 1562
Reviving dead brain cells with Arduinos.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

RST to Uno ISP RST

That's wrong, you need RST to Arduino ISP D10 as per the tutorial.
I think that's what he meant by saying 'Uno ISP RST' as opposed to simply 'Uno RST' ...
Logged

Ipswich UK
Offline Offline
Newbie
*
Karma: 0
Posts: 36
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Thanks for the suggestions all,

I have tried with and without the oscillator but still no look.

Regarding the fuse settings, I was using the board config from breadboard.zip from this page http://arduino.cc/en/Tutorial/ArduinoToBreadboard I assumed they had the correct fuse settings as it is supposed to be for the internal oscillator.

Logged

Ipswich UK
Offline Offline
Newbie
*
Karma: 0
Posts: 36
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Success at last.

Fixed the problem by burning optiboot to the IC first using the optiboot sketch.

Then when I tried to burn the breadboard 8Mhz boot loader with arduino as ISP it worked, weird the chip must have been in a state that the optiboot could deal with where arduino isp couldn't.


Now next question is, is there a optiboot 8Mhz boot loader or how to I configure for it?

Thanks,
Mark
Logged

Romania
Offline Offline
Full Member
***
Karma: 0
Posts: 174
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

there isn't a pre compiled one but that could be done easily just open the makefile edit the clock speed and recompile the bootloader with the make command something like
Code:
make clean
make atmega328
make atmega328_isp
this last step will attempt to flush the bootloader on your atmega if you edit this parameters
Code:
ISPTOOL    = usbasp
ISPPORT    = usb
ISPSPEED   =


hope this helps
Logged


Pages: [1]   Go Up
Jump to: