Problems burning the bootloader unless on the uno board

I'm trying to burn the bootloader with an AVRISPmk2, if i do it on the arduino uno it works (if slowly), if i try on a board i made up with a zif socket it says there are problems with the AVRISP connection but I have gone over all of the connections and they are ok. I'm powering the MCU from a 5.25V wall wart and the usb voltage is something like 4.8V. the only thing i can think of is that there is too much voltage mismatch, anything else magical about the arduino uno board that I don't know ?

I tried cutting up a USB cable and using a common VCC for the MCU, no luck, still get:

avrdude: stk500v2_command(): command failed
avrdude: stk500v2_program_enable(): bad AVRISPmkII connection status: Unknown status 0x00
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.

So what is special about the arduino uno board

sparkylabs:
I tried cutting up a USB cable and using a common VCC for the MCU, no luck, still get:

avrdude: stk500v2_command(): command failed
avrdude: stk500v2_program_enable(): bad AVRISPmkII connection status: Unknown status 0x00
avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.

So what is special about the arduino uno board

Nothing special about a Uno board as far as it's ICSP programming mode. Wiring error maybe? or standalone chip isn't being clocked properly either with external crystal or internal R/C clock? Fuse settings not compatible with clocking method?

Lefty

I think the problem is that I didn't have a clock crystal. just been doing some reading.

yep works

so if I want to use the internal clock or different speeds do I just change them in the fuses ? does the basic boot loader stay the same ? I wouldn't mind doing some 1-8MHz variants on internal clock.

sparkylabs:
yep works

so if I want to use the internal clock or different speeds do I just change them in the fuses ? does the basic boot loader stay the same ? I wouldn't mind doing some 1-8MHz variants on internal clock.

Clock source is a fuse selection. Clock speed is determined by the frequency rating of the external resonator used, but is fuse determined for the internal R/C clock via it's internal 8Mhz R/C oscillator and clock divider settings in the specific fuse byte.

A bootloader is 'hardcoded' to expect that the chip will be running at a certain speed as it has to set up the serial baud rate generator so it has to 'know' what speed you will be running the bootloader code at. So a bootloader written to run at 16Mhz will not run properly at 8Mhz. But there is usually no problem locating the proper bootloader code for the various speeds that the arduino IDE uses via when you select the board type to use in the IDE selection option.
Basically it's just a matter of selecting the proper 'board type' before you perform the burn bootloader operation and that will be the same board selection option you have to use when using the programmed device with the arduino IDE. If that makes sense?

Lefty

ok, are bootloaders generally available that I can upload with atmel studio. Unfortunately the arduino driver does not work very well on windows 7 so it's easier and faster to do it on atmel studio.

sparkylabs:
ok, are bootloaders generally available that I can upload with atmel studio. Unfortunately the arduino driver does not work very well on windows 7 so it's easier and faster to do it on atmel studio.

I have no experience with atmel studio. But a bootloader file is just AVR code in a Intel HEX format so I would think it should be straight forward as long as you have identified and obtained the proper bootloader hex file to be used.

Lefty

But what about the fuse settings, I assume they are provided and the main change is the clock setting

How long can the serial cable between the arduino chip and the arduino board be ?

I tried using the uno to upload a sketch to my zif socket board and got:

avrdude: stk500_getsync(): not in sync: resp=0x00