Guide: Burn Bootloader - Hooklet3d/OdinOne GitHub Wiki

Guide: Bootloader

This guide will explain the process of uploading a new bootloader to the Sainsmart 2in1 board. This process should be completed if one or all of the following are true:

  • The board will not accept sketch (displays error)
  • The board will not accept sketch (no error)
  • The board does not display properly in devices
  • The board fails to connect via USB

Note: This process should only be conducted if all other troubleshooting measures have been taken.

What you will need:

  • SainSmart 2in1
  • Arduino UNO
  • Some wire
  • Arduino IDE
  • USB cable

Overview

The basic idea behind this process is to turn the Arduino UNO into an AVR programmer, this will allow us to directly jump to the Sainsmart board and flash a new bootloader. The Arduino IDE has this functionality built into it, and the Bootloader sketch is provided by Arduino.

We will use the board’s ICSP (in-circuit serial programming) header to complete this task.

Getting Started:

First we need to set up and flash the UNO with the correct sketch:

Step 1:

Attach the UNO to your computer via USB and select the sample sketch ‘ArduinoISP’

Step 2:

Select the correction settings for the Arduino UNO under the tools section and flash the sketch to the Arduino UNO.

Step 3:

Disconnect the UNO from your computer and patch the necessary pins together as follows:

Sainsmart ICSP Header Pin Uno Pin
GND GND
MOSI 11
VCC 5v
RESET 10
SCK 13
MISO 12

It will look something like this...

Step 4:

Plug the Arduino UNO into the USB on your computer. In the ‘tools’ menu configure Arduino for the Arduino Mega board and select the port that your UNO is connected to.

Step 5:

In the ‘tools’ menu, set the programmer to ‘Arduino as ISP’

Step 6:

Again under ‘tools’ select ‘Burn Bootloader’

The IDE should burn a new copy of the bootloader to your board, when it is complete you should see something like this…

Issues:

If you have issues, confirm that all wires are connected to the correct pins and that the correct port is selected.