Menu Close

Digistump’s tiny board with micronucleus tiny85

Digispark USB Development board (Bootloaded ATtiny85)

Digistump’s kickstarter digispark is the tiny85 based development board for the beginners and hobbyist. The board can serve the same purpose as arduino but not compatible with some big projects.

This tiny board is less powerful but cheaper in price and can be integrated into various projects where you do not desire more space, more processing power and more input-output pins with additional peripherals like UART etc.

For a instance you can consider this digispark board as micro arduino board with very basic features.

Here’s the specification of the digispark board :

  • Support for the Arduino IDE 1.0+ (OSX/Win/Linux)
  • Power via USB or External Source – 5v or 7-35v
  • On-board 500ma 5V Regulator
  • Built-in USB
  • 6 I/O Pins (2 are used for USB only if your program actively communicates over USB, otherwise you can use all 6 even if you are programming via USB)
    8k Flash Memory (about 6k after bootloader)
  • I2C and SPI (vis USI)
  • PWM on 3 pins (more possible with Software PWM)
  • ADC on 4 pins
  • Power LED and Test/Status LED

Digispark uses the micronucleus tiny85 as the bootloader, an open source project (read here, micronucleus ). In short a bootloader is a piece of code which enables us to burn the code directly into the flash of microcontroller without any external programmer. Digispark pre-programmed with micronuclues which allows it to be connected as USB device and so can be programmed using the arduino IDE.

Installation Instructions

  • First download the appropriate Arduino package at the website:
  • If using Arduino 1.6.6 or higher and windows – you will need to download and install the drivers manually. Download, unzip and run “Install Drivers” (on 32bit systems) or “DPInst64” (on 64bit systems). If you get stuck, try following the steps shown in this YouTube video. The driver files are located here:
  • Install or Unzip the Arduino application.
  • Run the Arduino application.
  • In the Arduino application go to the “File” menu and select “Preferences”
  • In the box labeled “Additional Boards Manager URLs” enter:

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 from the Tools→Boards menu. “Digispark (Default – 16.5mhz)” is the board that should be selected by all new users.
  • The install is now complete !

Using the Digispark with the Arduino IDE

As we discussed we can directly plug digispark into our USB port of laptop or PC, so automatically it reduces the cost of the programmer.

digispark is programmed in a different way then the aruduino board and you are not allowed to plug the digispark into the USB port before it asks to plug in.

Hit the upload button. The bottom status box will now ask you to plug in your Digispark – at this point you need to plug it in – or unplug and replug it. You’ll see the upload progress and then it will immediately run your code on the Digispark. If you unplug the Digispark 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.

Here is the example code to blink the LED :

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

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

This code will blink the BUILTIN LED (on either pin 0 or pin 1 depending on the Digispark model see:Model Identification). As soon as it has uploaded you should see the LED start to blink!

For some sample code for the basic I/O function see here: Digispark Basics

The pin configuration can be seen here and can be referred as D0:0 / D1:1 / D2:2 / D3:3 / D4:4 / D5:5  (The fifth pin i.e D5 is reset pin) 

more information can be found on :

Digistump Package Sources:

Leave a Reply

Your email address will not be published. Required fields are marked *