Elvis Lin Elvis Lin

Using the Tigard to flash an Arduino Uno.

Tigard primed as ICSP to program the Arduino

Introduction

The goal of this is to flash the Arduino Uno (ATmega328P) with a new bootloader. You might be interested in doing so for a variety of reasons but in my case, my friend’s board had issues with executing the Serial communication code and communicating with his PC. We suspected that there might have been an issue when the bootloader transferred over the control of the Microcontroller to the user program.

At a high level, we will require three (3) things:

  1. (Host Controller) Your PC with AVRDUDE installed and bootloader file downloaded
  2. (Programmer) Tigard board
  3. (Target) Arduino Uno

In this example, we will use the Optiboot bootloader as our bootloader. Other bootloaders and customised versions exist.

Setting up the Software

Installing avrdude

Note on avrdude built-in support for Tigard

Physical Connections

Link to the Tigard site (github repository): Github

The Tigard Board
Image of the Tigard v1 boardClose up of the JTAG/SPI Pins
Figure 1: Image of the Tigard boardFigure 2: Close-up of the JTAG/SPI Pins on the Tigard

Flashing the Bootloader

Downloading the bootloader

Setting fuses

Flashing process and command

Resources