Speeding Up Arduino

This article tells how to overclock Arduino with AtMega328P microcontroller. It is necessary to load new bootloader to Arduino with parallel programmer. Clock speed must be set according the crystal frequency.

I have 22.1184 MHz crystal so I must first edit the Makefile for bootloader. It is located normally in this directory:

/usr/share/Arduino/hardware/arduino/avr/bootloaders/atmega/

Edit correct frequency to this line:

atmega328: AVR_FREQ = 22118400L

Find boards.txt file in the system and change frequency and save.

nano.build.f_cpu=22118400L

Next task is to create connection between computer and Arduino. To establish connection you need one parallel port on computer and two resistor in series with the lines.

LPT PORT – AVR (ARDUINO)

  • Pin 1 (STROBE), resistor 470 ohm, SCK
  • Pin 2 (D0), resistor 470 ohm, MOSI
  • Pin 11 (BUSY), MISO
  • Pin 16 (INIT), RESET
  • Pin 21 (GND), GND (Any GND will do)

Then open Arduino IDE. Select correct board (Nano in my case) and select Parallel Programmer and finally select “Burn bootloader”. You are ready. Arduino is now running at 22MHz. 🙂 You can program it normally by IDE and can use serial monitor like before.