User Tools

Site Tools


digispark:tutorials:proisp

Upload a bootloader to the Pro over ISP

If the Digispark Pro bootloader becomes corrupted (generally only a concern on Beta units), or you want to replace it with another bootloader, upload code directly (to avoid the bootloader taking up space), or download the existing code to a computer - then you can use AVR-ISP to do so.

First get the software:

You will need the hex file to upload and a current version of AVRDUDE that can talk to the Attiny167 (the main chip on the Digispark Pro).

Windows - everything you need is here, just unzip to a folder: avrdude.zip

OS X: Grab and install the AVR Crosspack (or another AVRDude copy) http://www.obdev.at/products/crosspack/index.html and then put the following avrdude.conf (unzip first) in the same folder as AVRDude, replacing the existing one: avrdude_conf.zip

Linux: Grab a recent version of AVRDude (from package manager, or binary, or build it) and then put the following avrdude.conf (unzip first) in the same folder as AVRDude, replacing the existing one: avrdude_conf.zip

Connect your pro to an ISP programmer or Arduino UNO:

Connect your Pro to an Uno with the Arduino ISP sketch loaded (Examples→ArduinoISP) or connect it to an AVRISP programmer.

If connecting to an Uno follow the diagram below. For an ISP programmer connect MOSI to MOSI, MISO to MISO, SCK to SCK, RST to RST, VCC to VCC (should be 5v) and GND to GND. Look at the bottom of the Digispark Pro for the pin names or this pin out chart: http://digispark.s3.amazonaws.com/DigisparkProDiagram2.png

Get a hex file to upload

The latest Pro bootloader (Micronucleus V2) is here: probootloaderr2.zip Unzip and place in the folder with avrdude

Open a command prompt/shell in the folder that contains AVRDude - and use the following command (if using the arduino uno):

avrdude -p attiny167 -c arduino -P [COM PORT OF YOUR ARDUINO] -U flash:w:ProBootloaderR2.hex:i

If you are not using an arduino uno change the “-c arduino” to match your device.

Change '-P [COM PORT OF YOUR ARDUINO]' to 'com' and the right number like: '-P com3'.

You may also need to replace the micronucleus command line at Arduino/hardware/digistump/avr/tools with this one: Windows: https://github.com/micronucleus/micronucleus/raw/testing-V2-New/commandline/builds/Windows/micronucleus.exe Source for Mac/Linux (please post if you compile!): https://github.com/micronucleus/micronucleus/tree/testing-V2-New/commandline

Troubleshooting

Windows:

Symptom: avrdude.exe won't run and returns the following error:

The program can't start because libusb0.dll is missing from your computer.
Try reinstalling the program to fix this problem.

Possible Solutions:

  • Try copying the 3 .dll files from “C:\Program Files (x86)\Arduino” into the same directory as avrdude.exe.

Symptom: You get the following message when you attempt to program:

avrdude: Device signature = 0x1e950f
avrdude: Expected signature for ATtiny167 is 1E 94 87
         Double check chip, or use -F to override this check.

Possible Solutions:

  • You may need to force the baud rate avrdude uses to talk to the Ardunio to 19200. Add '-b 19200' to your command line. Example:
avrdude -p attiny167 -c arduino -P [COM PORT OF YOUR ARDUINO] -b 19200 -U flash:w:ProBootloaderR2.hex:i
digispark/tutorials/proisp.txt · Last modified: 2016/06/09 12:03 (external edit)