User Tools

Site Tools


digispark:tutorials:connectingpro

Connecting and Programming Your Digispark Pro

Bootloader:

The bootloader is the code that is pre-programmed on your Digispark and allows it to act as a USB device so that it can be programmed by the Arduino IDE.

The Digispark runs the micronucleus bootloader version 2, an open source project https://github.com/micronucleus.

CAUTION We are not at this point supporting upgrading the firmware, so if you decide to, you do so entirely at your own risk.

Software:

The Digispark Pro uses the Arduino IDE 1.6.5+ (Arduino 1.6.5r2 - NOT 1.6.6 or 1.6.7 strongly recommended)

Installation Instructions:

  • In the box labeled “Additional Boards Manager URLs” enter:
    http://digistump.com/package_digistump_index.json

and click OK

Note: If you already have additional URLs entered in that box, then click the button on the right of the box and enter this URL on a new line.

  • Go to the “Tools” menu and then the “Board” submenu - select “Boards Manager” and then from the type drop down select “Contributed”:
  • Select the “Digistump AVR Boards” package and click the “Install” button.

  • You'll see the download progress on the bottom bar of the “Boards Manager” window, when complete it will show “Installed” next to that item on the list.
  • WINDOWS USERS: When complete the install with pop up a Driver Install Wizard window, please click “Next” on this Window to install the drivers for Digistump Boards (If you already have them installed, this installer will update them and install any that are missing)
  • With the install complete, close the “Boards Manager” window and select the “Digispark Pro” from the Tools→Boards menu. “Digispark Pro (Default 16mhz)” is the board that should be selected by all new users.

  • The install is now complete! (Linux users see note below)

Linux Install

Sources

Using the Digispark with the Arduino IDE:

The Digispark (and Pro) works a bit differently than some Arduino compatible products. Not only is there a special add-on to the IDE to support it, but it also programs with a different procedure.

From the Tools menu select Board→Digispark Pro (16Mhz) (Default)

(The Tools→Programmer selection does not matter)

Write some code, open your code, or open a Digispark example.

You do not need to plug in your Digispark Pro before invoking upload

Hit the upload button. The bottom status box will now ask you to plug in your Digispark Pro - at this point you need to hit the reset button on it or plug it in.

You'll see the upload progress and then it will immediately run your code on the Digispark Pro.

If you unplug the Digispark Pro and plug it back in or attach it to another power source there will be a delay of 5 seconds before the code you programmed will run. This 5 second delay is the Digispark Pro checking to see if you are trying to program it. After the 5 second delay when the bootloader launches the stored program, the USB device will typically go away (and may report a failure to install, or “Unknown Device”) unless the nature of the 'sketch' is to act as a USB device.

Your first upload:

If you're just getting started try the above procedure with the following example

Here is the code it will load:

// the setup routine runs once when you press reset:
void setup() {                
  // initialize the digital pin as an output.
  pinMode(1, OUTPUT); //on board LED 
}

// the loop routine runs over and over again forever:
void loop() {
  digitalWrite(1, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);               // wait for a second
  digitalWrite(1, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);               // wait for a second
}

This code will blink the BUILT IN LED on Pin 1

As soon as it has uploaded you should see the LED start to blink!

Precautions:

The Digispark Pro, due to its small size and low cost is not as robust as a full blown Arduino.

The Digispark Pro does not have reverse polarity protection. Connecting power to the Digispark Pro power pins backwards will almost certainly destroy it.

The Digispark Pro does have a 0.5A fuse for both the USB and VIN lines - this should safeguard it from brief shorts - but is not by any means a failsafe.

The Digispark Pro is small enough to present a choking hazard and small enough to be inserted into some sockets. We take no responsibility for misuse of the product. Please treat electricity and electronics with respect and common sense.

Troubleshooting:

The Digispark Pro pushes affordable, small components to their limits by using software to emulate USB functions generally served by a dedicated chip. For this reason much of the Digispark's USB operation is considered borderline out of spec. Certain laptops, older machines, and just some cheaply made USB hubs/controllers do not like this. We tested and designed the Digispark Pro for maximum compatibility but we can not guarantee it will work with everything.

In addition remember the Digispark Pro only shows up as a programmable device for 5 seconds, after that it will start running its code (when it is new and un-programmed this means it will blink) and disappear or act like the USB device you programmed it to act like.

Always remember plug in or restart the Digispark Pro when the Arduino IDE requests you to.

If the computer will not recognize the Digispark Pro try the following:

  • Try connecting it to another USB port or system.
  • [USB 2 on Windows may be better]
  • Try connecting it to the rear ports (if a desktop)
  • Try connecting it to a USB hub.
  • Try a powered USB hub.
  • Use a different cable, especially if system ignores the device.

If it won't upload:

Did you set your board AND programmer to Digispark in the Arduino IDE?

WINDOWS:

  • Did you install the driver?
  • For the example programs if you are getting “Device not found” even after installing the DigiUSB driver in the examples folder then try this: http://digistump.com/board/index.php/topic,257.0.html
  • If Windows does not recognize a “DigiUSB” but a generic “HID-compliant device”/“USB Input Device” pair, go to the Device Manager, find in the “Human Interface Devices” category the USB Input Device with a vendor ID of 0x16C0 and select “update driver” / “browse my computer” / “let me pick from a list” and the DigiUSB should show up there.

MAC

  • If the Arduino application works fine but the computer does not recognize the Digispark after you are asked to plug it in - try a usb extension cable or hub, some MacBook's ports are recessed too far for the data connectors to make contact.
  • If the Arduino application won't start (especially an error like: “Arduino” is damaged and can't be opened.) or the upload fails try allowing all unsigned code to be run: See the “How to change Gatekeeper settings to allow or disallow unidentified apps” section on this page: http://www.imore.com/how-open-apps-unidentified-developer-os-x-mountain-lion
  • If you're getting the error above and allowing unidentified apps doesn't fix it try this: http://digistump.com/board/index.php/topic,119.0.html - we are actively working on a fix for this issue.
  • 2012 MBP The USB ports on the 2012 MBPs (Retina and non) cause issues due to their USB3 controllers, currently the best work around is to use a cheap USB hub (non USB3) - we are working on future solutions. The hub on a Cinema display will work as well.

LINUX: See the Linux troubleshooting page

If your upload fails in the middle of it, you may also be using a bad USB cord and or a bad hub.

Support requests are best posted to the forum, so everyone can benefit and we can help eachother through any issues - http://digistump.com/board

digispark/tutorials/connectingpro.txt · Last modified: 2016/06/09 12:03 (external edit)