Wiblocks --- Arduino Bootloader

ZB1, NB1x, PICO Bootloader

There are two modifications required to get the standard Arduino bootloader to run on the ZB1, NB1x and PICO boards --
  1. the crystal frequency must be changed to 12MHz.
  2. the LED pin must be changed to Arduino pin 7 (ATmega168 PD7).
The crystal frequency is initialized in the Makefile. The LED pin is set in the file containing bootloader source code.

Burning the Booloader

NB: The ZB1, NB1x, PICO are powered from 3.3V. Any device that connects to these boards should not place voltages greater than 3.3V on any pin -- which includes the ICSP header.

After the ICSP programmer is properly connected you can burn the bootloader to flash by typing ---

make isp

After successfully burning the flash (for the ATmega168) you should see the following lines ---
avrdude: 16210 bytes of flash written
avrdude: verifying flash memory against ATmegaBOOT_168_zb1.hex:
avrdude: load data flash data from input file ATmegaBOOT_168_zb1.hex:
avrdude: input file ATmegaBOOT_168_zb1.hex auto detected as Intel Hex
avrdude: input file ATmegaBOOT_168_zb1.hex contains 16210 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 30.92s

avrdude: verifying ...
avrdude: 16210 bytes of flash verified
avrdude: reading input file "0x0f"
avrdude: writing lock (1 bytes):

Writing | ################################################## | 100% 0.02s

avrdude: 1 bytes of lock written
avrdude: verifying lock memory against 0x0f:
avrdude: load data lock data from input file 0x0f:
avrdude: input file 0x0f contains 1 bytes
avrdude: reading on-chip lock data:

Reading | ################################################## | 100% 0.01s

avrdude: verifying ...
avrdude: 1 bytes of lock verified

avrdude: safemode: Fuses OK

avrdude done.  Thank you.

Testing the USB-Tiny (ATmega328 Makefile only)

A couple of targets have been added to the makefile to verify the usb-tiny programmer is communicating with the ATmega IC through the ISP port. With an ATmega328 connected typing make isp-test-328 produced the following output ---
avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0x1e950f

avrdude: safemode: Fuses OK

avrdude done.  Thank you.
With an ATmega168 connected typing make isp-test-328 produced the following output ---
avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.02s

avrdude: Device signature = 0x1e9406
avrdude: Expected signature for ATMEGA328P is 1E 95 0F
         Double check chip, or use -F to override this check.

avrdude done.  Thank you.