🖥 Digispark rewiew (attiny85) + project!

🖥 Digispark rewiew (attiny85) + project!

Daniil Zhuk

I recently bought a Digispark board. It is compact, cheap and knows how to pretend to be an HID device (keyboard, joystick). So I liked it that I decided to tell you about it, show how to install drivers, make a mini project and share my thoughts about it.

Let's start with the fact that the board costs only 2$ on aliexpress and everyone can try it.

To get started, download and install Arduino IDE v. 1.8.5, at the time of this writing, the newest version is 1.8.6, but the Digispark will not work with it.

To work with it, you must first install the driver on your computer, if you are not using windows, then skip this step.
Dpinst.exe for 32 bit systems
Dpinst64.exe for 64 bit systems

Now you need to add it to the board manager. Open the Arduino ide settings and insert “http://digistump.com/package_digistump_index.json” into the line “additional links for the board manager”

Open the board manager, locate the Digistump AVR boards and install.

After installation, select the Digispark default 16.5mhz board.

ATTENTION!!! Loading a sketch on board is different from Arduino. First, you press the upload button, then you have 60 seconds to plug it into the USB port.

Super! The board is ready to go. We now turn to the creation of a device based on it.
She has 6 pins with different capabilities. Immediately upset you, P5 is a reset pin, and you can’t use P3 to create an HID device.

Only 4 pins remain, but this does not mean that only 4 buttons can be connected. You can make a resistive keyboard or pin extender. For example, add three buttons.


//keyboard library
#include "DigiKeyboard.h"  
//declare digital pins
void setup() {
 pinMode(0, INPUT);
 pinMode(1, INPUT);
 pinMode(2, INPUT);
void loop() {
 //if button is pressed
 if (digitalRead(0)==HIGH){
 //press key
DigiKeyboard.sendKeyStroke(KEY_0 , MOD_CONTROL_LEFT);
 if (digitalRead(1)==HIGH){
   DigiKeyboard.sendKeyStroke(KEY_1 , MOD_CONTROL_LEFT);
 if (digitalRead(2)==HIGH){
   DigiKeyboard.sendKeyStroke(KEY_2 , MOD_CONTROL_LEFT);
If you want to press one button
DigiKeyboard.sendKeyStroke (KEY_2);
If you want to press two buttons
DigiKeyboard.sendKeyStroke (KEY_2, MOD_CONTROL_LEFT);
Load the sketch on the board.
Go to OBS and configure hotkeys.

Board is cool! Write in the comments if you are waiting for streams from the robot or want to see a full stream deck.

Add a comment

* Comments must be approved before being displayed.