Board definitions for ATmega32u4 using internal 8MHz clock?

I'm just wondering if there are any board definitions already out there for an ATmega32u4 running at 8MHz with the internal oscillator. I have some bare ATmega32u4 microcontrollers and I want to run them at 8MHz so I don't have to use an external crystal or resonator.

I thought that the Lilypad USB used the internal oscillator but it turns out it uses an 8MHz external one.

The f_cpu is a variable that should be reflected in the arduino core code. There may be some side-effects, but in looking at my 328P board.txt file for breadboard, only the high/low fuses change, the f_cpu, and the bootloader build.
Sparkfun offers a 32U4 with 8/16MHz settings, so you should be able to get everything there:

##############################################################

promicro16.name=SparkFun Pro Micro 5V/16MHz
promicro16.upload.protocol=avr109
promicro16.upload.maximum_size=28672
promicro16.upload.speed=57600
promicro16.upload.disable_flushing=true
promicro16.bootloader.low_fuses=0xff
promicro16.bootloader.high_fuses=0xd8
promicro16.bootloader.extended_fuses=0xcb
promicro16.bootloader.path=caterina
promicro16.bootloader.file=Caterina-promicro16.hex
promicro16.bootloader.unlock_bits=0x3F
promicro16.bootloader.lock_bits=0x2F
promicro16.build.mcu=atmega32u4
promicro16.build.f_cpu=16000000L
promicro16.build.vid=0x1B4F
promicro16.build.pid=0x9206
promicro16.build.core=arduino
promicro16.build.variant=promicro

##############################################################

promicro8.name=SparkFun Pro Micro 3.3V/8MHz
promicro8.upload.protocol=avr109
promicro8.upload.maximum_size=28672
promicro8.upload.speed=57600
promicro8.upload.disable_flushing=true
promicro8.bootloader.low_fuses=0xff
promicro8.bootloader.high_fuses=0xd8
promicro8.bootloader.extended_fuses=0xfe
promicro8.bootloader.path=caterina
promicro8.bootloader.file=Caterina-promicro8.hex
promicro8.bootloader.unlock_bits=0x3F
promicro8.bootloader.lock_bits=0x2F
promicro8.build.mcu=atmega32u4
promicro8.build.f_cpu=8000000L
promicro8.build.vid=0x1B4F
promicro8.build.pid=0x9204
promicro8.build.core=arduino
promicro8.build.variant=promicro

##############################################################

Ray

  1. Don't expect the USB interface to work if you are using the internal oscillator. The USB interface needs an accurate clock.

  2. The standard ATmega32u4 is shipped with the fuses set for the low power crystal oscillator (the ATmega32u4RC is the version set to use the internal oscillator initially). So you will need to supply either a crystal or an external clock initially, in order to change the fuses to use the internal oscillator.

dc42:

  1. Don't expect the USB interface to work if you are using the internal oscillator. The USB interface needs an accurate clock.

Yeah, I read some discussion about that but there wasn't a solid conclusion as to whether or not the internal clock would be accurate enough for USB (the datasheet does mention "Crystal-less operation for Low Speed mode"). I'd still like to know for sure.

skootles:
Yeah, I read some discussion about that but there wasn't a solid conclusion as to whether or not the internal clock would be accurate enough for USB (the datasheet does mention "Crystal-less operation for Low Speed mode"). I'd still like to know for sure.

See the last paragraph of USB in a NutShell - Chapter 2 - Hardware for USB clock tolerances

Interesting Link, Thank You, Sir.

Doc