
Even though the Digispark has a very limited number of pins, it still has an on-board user LED connected to pin P1. First, let’s open the “Blink” example which we tried in Tutorial 1.3. Let’s open some of the example projects and try to run them. And now let’s consider how to program it using the Arduino IDE. The other reason for Digispark’s popularity is its compatibility with the Arduino. As you can see, this LDO uses a significant part of the board space, especially in the black version (Figure 1).

Also, the Digispark has an LDO regulator which allows power to the board with a voltage of 7 to 12 V applied to the VIN pin. If you don’t need the USB functionality, you can use P3 and P4 as you wish. And moreover, in the board I have, the P5 pin was configured as the reset pin so I couldn’t use it either, thus leaving only three pins. When you do this, the two pins (P3 and P4) of the ATtiny85 MCU are used for USB communication, thus you have only four pins left for your needs. So using this Digispark board you can create USB-applied devices, like keyboard, mouse, joystick, virtual COM-port, etc.

Also, you can find there a lot of application examples ( VUSB - Example Projects) some of which are quite interesting. You can read about this library in more detail on the official site: ObDev.at - V-USB. But there is a special library called V-USB which allows it to emulate the USB1.1 protocol using almost any AVR microcontroller which has at least 2 kB of Flash memory and 128 bytes of RAM (as you can see from Table 1, ATtiny85 satisfies both these demands). People who are familiar with the AVR family know that ATtiny85 doesn’t have the hardware USB module. The reason is that the Digispark board can operate as a USB device.

As you can see, the Digispark is weaker than the Uno board in almost all parameters, so why is it so popular apart from the price?
