Introduction: Burning a Bootloader Onto a SPEEEduino & Verifying It

This project is done by Pan Ziyue and Julian Kang from Singapore Polytechnic under the supervision of Mr Teo Shin Jen.

The SPEEEduino is a modified Arduino with an integrated ESP8266 chip socket, allowing for users to connect both easily. The ESP8266 enables the Arduino to connect to the internet via wi-fi, making it suitable to be used in Internet-of-Things (IoT) projects.

Bill of Materials:

  • Arduino Uno, serving as an ISP to burn the bootloader
  • SPEEEduino
  • LED and Resistor
  • USB-B cable
  • CP2102
  • 1 Male-to-Female jumper
  • 6 Female-to-Female jumper (11 if you don't want to reconnect wires)

Environment is on Windows 10, using IDE v1.6.8

Step 1: Burning the Bootloader Onto the SPEEEduino

The Physical World

First, connect the Arduino Uno and SPEEEduino to the laptop. At this point, both are disconnected from each other. We will then connect both via 5 female-to-female jumpers and a male-to-female jumper according to Nick Gammon's tutorial (Scroll to the "Wiring for Leonardo" section) with a slight variation.

Nick Gammon's tutorial - http://www.gammon.com.au/bootloader

In Nick Gammon's tutorial, he says to connect all jumpers from both 2x3s to their counterparts save or pin 5 using 5 female-to-female jumpers. We will do that, but connect pin 5 of the target SPEEEduino board to D10 of the Arduino programming board.

On the laptop

With reference to the picture, follow the steps:

  1. File -> Examples -> ArduinoISP
  2. Tools -> Boards: Arduino/Genuino Uno
  3. Tools -> Port(COM) (Plug in only the blue cable of the Arduino to reduce chances of selecting wrong port).
  4. Tools -> Programmer:"Arduino as ISP"
  5. Upload the sketch to the Arduino. NOTE: Do not Burn Bootloader yet.
  6. Burn bootloader. You can expect to see Bootloader Burn Complete or something similar once done.

You have successfully burned a bootloader onto your target ATMEGA328 on the SPEEEduino.

Step 2: Verifying Bootloader.

Having burned the bootloader onto the SPEEEduino, we can now disconnect the USB-B cable (the blue wire) and connect the SPEEEduino via the CP2102. Connect it, and download a blink program in the examples. The SPEEEduino does not have an in-built LED for Blink, so attach an LED with resistor connecting D13 and ground.

The LED should blink according to Blink's values, change it and re-upload to verify that it does in fact work.

You may find that your SPEEEduino does not upload. Our supervisor, Mr Teo Shin Jen, has written a tutorial on how to upload by pressing the reset button during the upload here: https://www.instructables.com/id/SPEEEduino-a-Chri...

Ziyue's instructable on setting up an ESP01 module can be seen here: https://www.instructables.com/id/Definitive-Guide-...

Ziyue's instructables on using the ESP01 with the SPEEEduino can be seen here: https://www.instructables.com/id/SPEEEduino-ArduinoESP01-the-Basics/