Replacing an Arduino Uno Microcontroller IC

Created on: 10 October 2012

You may need to replace your Arduino Uno microcontroller with a new one if the old one has blown. The Arduino Uno is supplied with an ATMEGA328P microcontroller in a dual inline package (DIP) and needs to be replaced with the same microcontroller. The exact part number is ATMEGA328P-PU.

This video shows the replacement process.

Extracting the Old Microcontroller IC

Even if you have an IC extraction tool as shown in the video, you will need to use a screwdriver with a flat sharp edge in order to lift the old microcontroller chip. The IC extraction tool will not slip under the IC as the IC fits very tightly into the IC socket.

Use the screwdriver to gently lift an end of the IC at a time until there is enough space to fit the IC extraction tool on both sides of the IC.

If you do not have an IC extraction tool, then continue to use the screwdriver to lift each end of the IC a little at a time.

Lifting either end of the IC too high will result in the pins at the opposite end getting bent.

Inserting the New Microcontroller

The new microcontroller pins are bent at an angle as shown on the left of the image below.

New and used IC pins compared
The new IC on the left has pins bent outward, the used IC on the right has pins pointing straight down

Bend the pins inward one side at a time by lying the IC on its side, pressing down and rolling slightly towards the tips of the pins. This will make it possible to insert the IC into the IC socket.

When inserting the IC into the socket, make sure that you insert the IC the correct way around. Pin 1 of the IC is shown in the photo below.

Pin 1 on the Arduino Uno microcontroller
Pin 1 on the Arduino Uno Microcontroller

After inserting a new microcontroller into the Arduino Uno board, it is necessary to load the bootloader to the new Microcontroller.

A new bootloader can be loaded using the AVRISP mkII programmer or other similar programmmers. This is shown in the following tutorials:

Burning a Bootloader to the Arduino Uno in Linux using the AVRISP mkII

Burning the Bootloader to an Arduino Uno using Atmel Studio and the AVRISP mkII