How to upgrade clock frequency of Uno R3?

Hi there, I don't know if this is the right category for my question but I couldn't find a specific place for discussing the upgrade related topics. I just noticed that ATmega328 can run up to 20MHz (from Atmel websie). It means that a sketch running in an Arduino Uno R3 board with 16MHz crystal oscillator, could be run 25% faster. I can replace the SMD 16MHz crystal osc. with a 20MHz one. My concern is that, would this upgrade affect Arduino IDE code generation for Arduino Uno R3 boards (I guess the IDE uses some time-scheduling for code generation based on a predefined clock frequency for each board)? If so, is there an easy solution (e.g., by changing some setting and so on) to this problem?

It means that a sketch running in an Arduino Uno R3 board with 16MHz crystal oscillator, could be run 125% faster.

20/16 * 100 = 125 That is a 25% increase in speed, not a 125% increase.

Thanks! I've just corrected it.

You’d need to set the fuses again, at least. I’ve never done this so you’ll have to google it or wait for someone else’s expertise.
Also decide what kind of oscillator you’re gonna use (full-swing, low power, etc.) and set the voltage, caps and fuses according to the specs found in the datasheet.

With the ATTiny cores installed in the Arduino IDE, I was able to select “ATTiny2313 @ 8MHz” from the board menu, and then burn bootloader and use the chip normally. Not sure if there’s an option like that for the Arduino Uno board, or if you could get ATmega328 cores with a 20MHz option.

A quick google search returned this. Don’t know if it’s up to date or if everything’s working, I just read the few first lines.

You can also just give it a go and try, but remember the fuses.

It means that a sketch running in an Arduino Uno R3 board with 16MHz crystal oscillator, could be run 25% faster.

May I ask why do you need this 25% speed boost? I don’t really see the benefit.

There is also the likely-hood of messing up various timing-dependent libraries, maybe Serial communications etc..

Some extreme overclocking - http://zedomax.com/blog/2010/02/18/arduino-hack-how-to-overclock-arduino/ -

There is also the likely-hood of messing up various timing-dependent libraries, maybe Serial communications etc..

Do not forget the speed of the bootloader ..

The 25% speed bump does seem worth all the new problems. Timer 0 is used for delays and the bootloader speed change too. Don

The easiest method is to buy a Due..

Bob

Good algorithm analysis most often beat all over-clocking.

Currently reading - http://www.amazon.com/Algorithm-Design-Manual-Steven-Skiena/dp/1848000693 - its good!