Atmega32u4 Fuse Setting Question

by cosmonaut on Mon Jan 28, 2013 1:07 am

Hi,

I have a quick question about the low fuse settings on the amtega32u4 breakout board. The low fuse byte is programmed as 0xFC which I think means CKSEL0 and CKSEL1 are programmed (0). According to the datasheet and a couple of online fuse calculators this setting should be for low power crystal oscillators with frequencies of 3-8 MHz. The schematic states that this board has a 16 MHz crystal; what am I missing here?

Also, The extended fuse byte is programmed as 0xC3 -- the high nibble is all undocumented and the datasheet claims the defaults are 1. So -- why C?

Thanks!
cosmonaut
 
Posts: 6
Joined: Fri Jun 01, 2012 2:31 pm

Re: Atmega32u4 Fuse Setting Question

by adafruit on Wed Jan 30, 2013 10:38 am

according to our programmer, we use these fuses {0x3F, 0xFC, 0xD0, 0x03} lock, low, high, ext - you can use http://www.engbedded.com/fusecalc to experiment with the values.
User avatar
adafruit
 
Posts: 11505
Joined: Thu Apr 06, 2006 3:21 pm
Location: nyc

Re: Atmega32u4 Fuse Setting Question

by cosmonaut on Wed Jan 30, 2013 3:40 pm

Ok, so could you explain why you use 0xFC for the low fuse byte if the external oscillator is supposed to be a 16 MHz crystal? The fuse calculator you linked also claims that the settings you give are for an external crystal oscillator of 3-8 MHz. Your schematic for the atmega32u4 breakout board and the product page both claim that the crystal is running at 16 MHz.

Also, those settings are different than what your atmega32u4 breakout makefile provides here: https://github.com/adafruit/Atmega32u4- ... r/makefile

Only the extended byte is different. But the makefile version of the extended byte setting makes more sense to me than what you wrote here since the high nibble is left unprogrammed (1) and this agrees with what the datasheet calls for.

Thanks!
cosmonaut
 
Posts: 6
Joined: Fri Jun 01, 2012 2:31 pm

Re: Atmega32u4 Fuse Setting Question

by adafruit on Thu Jan 31, 2013 10:45 pm

we'll check it out but we don't use that makefile for programming the 32u4's - we use a special programmer. we do test each one completely so it will work even if for some reason yours has a slightly different crystal timing spec - it doesn't actually affect the crystal frequency.
User avatar
adafruit
 
Posts: 11505
Joined: Thu Apr 06, 2006 3:21 pm
Location: nyc

Re: Atmega32u4 Fuse Setting Question

by cosmonaut on Mon Feb 04, 2013 7:07 pm

Thanks for looking into it. Just to clarify -- I'm not claiming I have any issues with the board. It is working perfectly fine and I've actually already used it to bash out several projects. I'm very happy with it.

I brought it up mainly because I was trying to calculate the fuse settings independently and used your settings to check my own work. When they didn't agree I was hoping you'd be able to explain the discrepancy on the low fuse byte.

I might try programming CKOUT sometime this week to see what frequency the oscillator on this board is running at. If it's an 8 MHz crystal that would certainly explain it...

Thanks!
cosmonaut
 
Posts: 6
Joined: Fri Jun 01, 2012 2:31 pm

Re: Atmega32u4 Fuse Setting Question

by cosmonaut on Wed Feb 13, 2013 11:28 am

I programmed the CKOUT fuse and the system clock appears to be running at 16 MHz as expected.
cosmonaut
 
Posts: 6
Joined: Fri Jun 01, 2012 2:31 pm