We’re all familiar with overclocking desktop computers; a wonderful introduction to thermal design power and the necessities of a good CPU cooler. [Marcelo] wanted to see how far he could overclock a microcontroller – in this case an ATMega328 – and ended up with a microcontroller designed for 20 MHz running at 30 MHz.
To verify that his uC could run at higher clock speeds, [Marcelo] began his experiments by uploading a piece of code that toggled a few pins as fast as possible. He needed to upload this code with a common 16 MHz crystal – AVRDude simply won’t work when a chip is clocked at higher speeds.
After successfully demonstrating his microcontroller will turn pins on and off at 30 MHz, [Marcelo] wanted to see if he could do something useful. By editing a single setting in his Arduino boards.txt file., [Marcelo] was able to have his overclocked microcontroller read and reply to characters sent over a serial connection. It worked, demonstrating an overclocked microcontroller could be useful in some situations.
As for what [Marcelo] plans to do with his faster microcontroller, he’s thinking of improving a ATMega-powered VGA color generator. A higher clock speed means he can push more pixels out to a VGA monitor.
This is pretty LOLworthy. Iv seen 72MHz STM32 chips clocked up to 160MHz
Best I have done is up a 486dx to 999Mhz. I was too afraid to let it run for more than 30 seconds or so. The CPU itself didn’t fail but lit some other stuff on fire and I burned myself for good measure.
I once overclocked a Z80 to 600 GHz.
I smell sarcasm. Clearly you are not old enough to remember hardware overclockers that overrode the ‘turbo’ feature, most of which would let you set whatever frequency you wanted up to three digits. Stuff got lit and I had to pull my coveted overclocker off in a hurry, thus the burns.
Technically you could attach an oscillator up to a z80 to supply 600Ghz, that does not mean it will work, just like the 486 – but ~1.5 Thz oscillators are easier to source.
You mean puting your finger between contacts of rezistor on cheap clock replacement? I build small 8bit pc with z80. How i like smell of burned 8kb eeprom at the morning.
Yeah, I made an 8-bit computer with an Atmega1284 and overclocked it to 900GHz, maxed out Crysis 3 on it while running Overwatch and also hacking Pentagon all at the same time.
isnt the ram and rom the part of the uC that doesnt allow higher clock rates than specified? i tried overclocking an atmega328 and over about 24mhz the sram cant be read back reliably.
I’ve tried a ATmega328P-pu at over 30 MHz with no issues but I was running it at the full 5 Volts.
It can be handy in some situations (mostly timing related) but there is a reason why chips were rated at a certain speed. I’ve seen AVR do all sorts of crazy stuff when overclocked. They may still togle pins, but some hardware will not work properly, like the uart missing bytes. Also higher voltages allow stable operation at higher speeds.
It’s cool for hacking purposes, but I certainly wouldn’t overclock a micro in a real product.
It’s fairly well understood that the core of an AVR can be overclocked without much problem. There’s a youtube video of someone pushing one to 51mhz. Where things fail is in the ADC and EEPROM. Those components (especially the ADC) don’t like anything over 16mhz. You might be lucky to push 17 or 18mhz. A vga video generator will overclock ok, but if you have to read anything analog or persist data then you’re back to 16mhz.
http://www.youtube.com/watch?v=gje4SvGOFuQ
+1
That can’t be right. ATMega chips are specced in the datasheet to run at up to 20mhz, if you’re powering them with 5V.
Spec sheets are just that: specs. The mfgrs do run tests such as OP to find a max, then a hair under, where everything works to put on the spec sheet. But you can get away with more just don’t expect things to go 100%. If you live life by what you are told, not by what you find, you will not get far.