{"id":9308,"date":"2020-10-29T22:04:48","date_gmt":"2020-10-29T22:04:48","guid":{"rendered":"https:\/\/wolles-elektronikkiste.de\/digispark-the-convenient-attiny85-alternative"},"modified":"2026-06-07T13:42:25","modified_gmt":"2026-06-07T13:42:25","slug":"digispark-the-convenient-attiny85-alternative","status":"publish","type":"post","link":"https:\/\/wolles-elektronikkiste.de\/en\/digispark-the-convenient-attiny85-alternative","title":{"rendered":"Digispark &#8211; the convenient ATtiny85 alternative"},"content":{"rendered":"\n<p>In <a href=\"https:\/\/wolles-elektronikkiste.de\/en\/programming-attiny85-84-45-44-25-24\" target=\"_blank\" rel=\"noopener noreferrer\">my last post<\/a>, I described how to upload sketches to an ATtiny85 (or 84, 45, 44, 25, 24). To do this, you need to set up your Arduino as a programmer or purchase a separate programmer, such as the USBtinyISP. A more convenient alternative in some respects, which I\u2019d like to introduce here, is the Digispark, originally developed by Digistump.  &nbsp;<\/p>\n<p>This is a module based on an ATtiny85 that can be programmed directly via the USB port. This means that no SPI wiring is required for uploading, nor is a programmer needed. Since power can also be supplied via the USB port, the circuits remain very clean and simple.  <\/p>\n<p>Another advantage of the Digispark over the ATtiny85 is that it supports I2C using the Wire library. It\u2019s also worth noting that the (real!) Digispark has six pins available for I\/O, whereas the ATtiny85 has only five.   More on that below.&nbsp;<\/p>\n<p>Price-wise, there isn&#8217;t much difference from the ATtiny85. Depending on the source and the quantity purchased, the price ranges from just under two to four euros, sometimes five. <\/p>\n<p>The downsides of the Digispark are its larger footprint and slightly smaller memory. Of the 8k of flash memory, approximately 2k is used by the bootloader. In addition, it has a boot time of several seconds, which is very long for a microcontroller.  <\/p>\n<p>The Digispark is described in great detail <a href=\"https:\/\/digistump.com\/wiki\/digispark\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a> on the Digistump website. So why write this post? For one thing, it\u2019s meant to serve as a step-by-step introduction and overview; for another, I\u2019d like to share my thoroughly positive experience with the module. In addition, there\u2019s some more specific information about the widely available clones, which, naturally, aren\u2019t documented by the manufacturer.   <\/p>\n\n<p><span style=\"color: #ff0000;\"><strong>Update 2026: This post is out of date in that the Digispark pages are no longer accessible. However, instead I recommend the package  <\/strong><\/span><span style=\"color: #00ff00;\"><strong><a style=\"color: #00ff00;\" href=\"https:\/\/github.com\/MCUdude\/TinyCore\" target=\"_blank\" rel=\"noopener\">TinyCore<\/a><\/strong><\/span><span style=\"color: #ff0000;\"><strong> from MCUdude, which supports the Digispark. I&#8217;ve described the package <a style=\"color: #ff0000;\" href=\"https:\/\/wolles-elektronikkiste.de\/en\/tinycore-board-package-for-classic-attinys\" target=\"_blank\" rel=\"noopener\">here<\/a>. <\/strong><\/span><\/p>\n\n<h2 class=\"wp-block-heading\">Pinout of the Digispark <\/h2>\n\n<div class=\"li\">The Digispark has six programmable pins, labeled P0 through P5. In addition to their function as digital inputs and outputs, these pins have the following additional functions: <\/div>\n<div>&nbsp;<\/div>\n<ul>\n<li class=\"level1\">\n<div class=\"li\">P0: I2C SDA, PWM (&#8220;no rev&#8221;: connected to the on-board LED)<\/div>\n<\/li>\n<li class=\"level1\">\n<div class=\"li\">P1: PWM (Rev2, 3, 4: connected to the on-board LED)<\/div>\n<\/li>\n<li class=\"level1\">\n<div class=\"li\">P2: I2C SCK, analog in<\/div>\n<\/li>\n<li class=\"level1\">\n<div class=\"li\">P3: analog in, USB+<\/div>\n<\/li>\n<li class=\"level1\">\n<div class=\"li\">P4: PWM, analog in, USB-<\/div>\n<\/li>\n<li class=\"level1\">\n<div class=\"li\">P5: analog input (this pin provides 3V when it is HIGH!)<\/div>\n<\/li>\n<\/ul>\n<p>This is very similar to the ATtiny85 pinout, which is not surprising, since the Digispark is based on it.<\/p>\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/Attiny25_45_85.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"187\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/Attiny25_45_85-1024x187.png\" alt=\"For comparison: pinout of the ATtiny85\" class=\"wp-image-1777\" srcset=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/Attiny25_45_85-1024x187.png 1024w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/Attiny25_45_85-300x55.png 300w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/Attiny25_45_85-768x140.png 768w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/Attiny25_45_85.png 1111w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">For comparison: pinout of the ATtiny85<\/figcaption><\/figure>\n\n<h3 class=\"wp-block-heading\">Different versions of the Digispark<\/h3>\n\n<p>There are several versions of the Digispark. Revisions 2, 3, and 4 have a corresponding marking on the USB connector (rev<em>x<\/em>). On these versions, the on-board LED is connected to P1, meaning it lights up when P1 is HIGH. On boards without a revision number, P0 is connected to the on-board LED. If you have this version, you must desolder the LED or cut the connection to the LED if you would like to work with I2C. More details are available <a href=\"https:\/\/digistump.com\/wiki\/digispark\/tutorials\/modelbi2c\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a>.<br\/>    &nbsp;<\/p>\n<p><a href=\"https:\/\/digistump.com\/wiki\/digispark\/tutorials\/modelbi2c\" target=\"_blank\" rel=\"noopener noreferrer\">According to Digistump<\/a>, Revision 3 is a counterfeit that you really shouldn\u2019t buy, even though it works in principle. On the other hand, Revision 3 is so widespread that it\u2019s difficult to find any other version. And so I ended up buying this version myself. It has only one drawback: P5 is configured as a reset pin on this model and therefore cannot be used as an I\/O pin without further modification. Give it a try if you have a &#8220;rev3.&#8221; Launch a sketch and briefly connect P5 to GND \u2014 the Digispark will reboot. Accordingly, the Blink sketch below won\u2019t work with P5 either. In the last section of this post, I\u2019ll explain how to fix this issue and turn P5 into an I\/O pin.       &nbsp;<\/p>\n<p>To add to the confusion, there are also versions without a revision number that are not original Digistump products. I came across one such unit, and it worked just like &#8220;rev3&#8221;. &nbsp;<\/p>\n\n<h2 class=\"wp-block-heading\">Setting up the Arduino IDE for Digispark<\/h2>\n\n<p>Even though working with the Digispark is very easy, you still need to do a little setup first. But that only takes a few minutes. I\u2019m assuming you\u2019re using an Arduino IDE version &gt;= 1.6.6.  &nbsp;<\/p>\n\n<h4 class=\"wp-block-heading\">Step 1: Driver installation <\/h4>\n\n<p>You can download the driver installer <a href=\"https:\/\/github.com\/digistump\/DigistumpArduino\/releases\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a>. If, like me, you use Windows, click the highlighted link on the page: &nbsp;<\/p>\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/Treiber_herunterladen.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"419\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/Treiber_herunterladen-1024x419.png\" alt=\"Download Digispark driver from Github. \" class=\"wp-image-1888\" srcset=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/Treiber_herunterladen-1024x419.png 1024w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/Treiber_herunterladen-300x123.png 300w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/Treiber_herunterladen-768x314.png 768w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/Treiber_herunterladen.png 1033w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n<p>Unzip the file and run &#8220;Install Drivers.exe&#8221; for a 32-bit system or &#8220;DPInst64.exe&#8221; for a 64-bit system:<\/p>\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/digistump_driver.png\"><img loading=\"lazy\" decoding=\"async\" width=\"795\" height=\"581\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/digistump_driver.png\" alt=\"Driver selection in the zip file. \" class=\"wp-image-1889\" srcset=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/digistump_driver.png 795w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/digistump_driver-300x219.png 300w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/digistump_driver-768x561.png 768w\" sizes=\"auto, (max-width: 795px) 100vw, 795px\" \/><\/a><\/figure>\n\n<h4 class=\"wp-block-heading\">Step 2: Enter board manager URL<\/h4>\n\n<p>Then open the Arduino IDE and enter the board manager URL<\/p>\n<p>&#8220;http:\/\/digistump.com\/package_digistump_index.json&#8221;<\/p>\n<p>in the preferences:<\/p>\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/10\/digistump_board_mgr_url.png\"><img decoding=\"async\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/10\/digistump_board_mgr_url.png\" alt=\"Enter board manager URL for the Digispark in the preferences. \" class=\"wp-image-1891\"\/><\/a><\/figure>\n\n<h4 class=\"wp-block-heading\">Step 3: Install the Digistump package <\/h4>\n\n<p>Then you go to<\/p>\n<p>Tools -&gt; Board: xxxx -&gt; Boards Manager&nbsp;<\/p>\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/10\/Boardverwalter_engl-2.png\"><img decoding=\"async\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/10\/Boardverwalter_engl-2.png\" alt=\"The way to the boards manager menu.\" class=\"wp-image-1894\"\/><\/a><\/figure>\n\n<p>\u2026 and search for &#8220;digistump,&#8221; install the package, and restart the Arduino IDE. That&#8217;s all there is to it. <\/p>\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/10\/digistump_paket_engl.png\"><img decoding=\"async\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/10\/digistump_paket_engl.png\" alt=\"Find and install the right package for Digispark. \" class=\"wp-image-1895\"\/><\/a><\/figure>\n\n<h2 class=\"wp-block-heading\">Uploading the first sketch <\/h2>\n\n<p>For testing purposes, I&#8217;m using a simple blink sketch. It&#8217;s no different from a blink sketch for Arduino boards. When using &#8220;digitalWrite&#8221;, the pins are addressed according to their &#8220;P-number.&#8221; That is: 0 is P0, 1 is P1, 2 is P2, and so on. It may sound trivial at this point, but it&#8217;s different with &#8220;analogRead&#8221;.   &nbsp;<\/p>\n<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-title=\"digistump_blink.ino\" data-enlighter-group=\"digistump_blink,ino\">int ledPin = 1;\n\nvoid setup() {\n  pinMode(ledPin, OUTPUT);\n}\n\nvoid loop() {\n  digitalWrite(ledPin, HIGH);   \n  delay(1000);                     \n  digitalWrite(ledPin, LOW);    \n  delay(1000);                     \n}<\/pre>\n<p>\u00a0<\/p>\n<p>\n\n<p>As for the circuit: it doesn&#8217;t get any simpler than this. Connect the LED to GND or P1. The Digispark is connected to the PC via USB, but only after you&#8217;re prompted to do so during the upload (this will become clearer in a moment).  <\/p>\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/blink.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"728\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/blink-1024x728.jpg\" alt=\"Wiring for the blink sketch \" class=\"wp-image-1901\" srcset=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/blink-1024x728.jpg 1024w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/blink-300x213.jpg 300w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/blink-768x546.jpg 768w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/blink.jpg 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">Setup for blink sketch<\/figcaption><\/figure>\n\n<p>In the Arduino IDE, select &#8220;Digispark (Default &#8211; 16.5 MHz)&#8221;. However, the versions labeled &#8220;no USB&#8221; and those with different clock speeds also work. The &#8220;Port&#8221; option is grayed out. Don&#8217;t worry \u2014 that&#8217;s normal, even if the Digispark is plugged in.   &nbsp;<\/p>\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/10\/Boardverwalter_engl-1.png\"><img decoding=\"async\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/10\/Boardverwalter_engl-1.png\" alt=\"Choosing the correct board.\" class=\"wp-image-1904\"\/><\/a><\/figure>\n\n<p>If you upload the sketch now, you&#8217;ll see the following message:<\/p>\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/Device_Aufforderung.png\"><img loading=\"lazy\" decoding=\"async\" width=\"820\" height=\"143\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/Device_Aufforderung.png\" alt=\"&quot;Plug in device now&quot; message\" class=\"wp-image-1908\" srcset=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/Device_Aufforderung.png 820w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/Device_Aufforderung-300x52.png 300w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/Device_Aufforderung-768x134.png 768w\" sizes=\"auto, (max-width: 820px) 100vw, 820px\" \/><\/a><\/figure>\n\n<p>Now connect the Digispark via USB, and \u2014 if all goes well \u2014 you&#8217;ll see the following message:<\/p>\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/hochladen_complete.png\"><img loading=\"lazy\" decoding=\"async\" width=\"821\" height=\"519\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/hochladen_complete.png\" alt=\"Upload completed\" class=\"wp-image-1910\" srcset=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/hochladen_complete.png 821w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/hochladen_complete-300x190.png 300w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/hochladen_complete-768x485.png 768w\" sizes=\"auto, (max-width: 821px) 100vw, 821px\" \/><\/a><\/figure>\n\n<p>The LED should now be flashing as well. If you have a Digispark model from revision 2, 3, or 4, the on-board LED will also be flashing, since we selected P1 as the ledPin. &nbsp;<\/p>\n<p>You can use the other five pins for this sketch in the same way, with the caveat that P5 will supply 3 volts instead of 5 volts, or won&#8217;t work at all if you&#8217;re using Revision 3 or other clones.<\/p>\n\n<h4 class=\"wp-block-heading\">Slow booting<\/h4>\n\n<p>It\u2019s surprising that the Digispark takes a full five seconds to start the sketch after powering on. An ATtiny85 with the standard bootloader is faster. In my post about <a href=\"https:\/\/wolles-elektronikkiste.de\/en\/radio-sockets-and-hand-transmitters\" target=\"_blank\" rel=\"noopener noreferrer\">radio power sockets and handheld transmitters<\/a>, I presented a DIY handheld transmitter based on an ATtiny85. The wireless button was a pushbutton that supplied power to the ATtiny85, thereby launching the wireless sketch. If I were to build the same thing with the Digispark, I\u2019d have to hold down the wireless button for at least five seconds, which wouldn\u2019t be particularly user-friendly. Admittedly, though, such an application is more of an exception, so in most cases this boot time shouldn\u2019t be a major issue.     &nbsp;<\/p>\n\n<h2 class=\"wp-block-heading\">Analog Read with the Digispark <\/h2>\n\n<p>Analog read is supported on pins 2, 3, 4, and 5. However, it is confusing that, unlike with digital read, the physical pin number does not match the analog read number. The Digispark inherited this behavior from the ATtiny85, which operates in the same way. The mapping is as follows:   <\/p>\n<ul>\n<li>P<strong>2<\/strong>: analogRead(<strong>1<\/strong>)<\/li>\n<li>P<strong>3<\/strong>: analogRead(<strong>3<\/strong>)<\/li>\n<li>P<strong>4<\/strong>: analogRead(<strong>2<\/strong>)<\/li>\n<li>P<strong>5<\/strong>: analogRead(<strong>0<\/strong>)<\/li>\n<\/ul>\n<p>In my simple example, the voltage at P2 is checked. If it exceeds a certain value, an LED at P4 lights up. Here&#8217;s what the sketch looks like:  &nbsp;<\/p>\n<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-title=\"digispark_analogIn.ino\" data-enlighter-group=\"digispark_analogIn.ino\">int ledPin = 4;\nint analogInPin2 = 1; \/\/ analogRead(1) erfolgt an P2\n\nvoid setup() {\n  pinMode(ledPin, OUTPUT);\n}\n\nvoid loop() {\n  if(analogRead(analogInPin2)&gt;100){\n    digitalWrite(ledPin, HIGH);   \n  }\n  else{                     \n    digitalWrite(ledPin, LOW);    \n  }                     \n}<\/pre>\n<p>\u00a0<\/p>\n<p>\n\n<p>Here is a simple test circuit for that:<\/p>\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/analogIn.png\"><img loading=\"lazy\" decoding=\"async\" width=\"662\" height=\"559\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/analogIn.png\" alt=\"Circuit: Example for using analogRead with the Digispark\" class=\"wp-image-1922\" srcset=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/analogIn.png 662w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/analogIn-300x253.png 300w\" sizes=\"auto, (max-width: 662px) 100vw, 662px\" \/><\/a><\/figure>\n\n<h2 class=\"wp-block-heading\">I2C with the Digispark<\/h2>\n\n<p>As mentioned earlier, I2C devices can be controlled directly using the Wire library, which is an advantage over the ATtiny85. As an example, I have chosen to control the MCP23017 port expander. The yellow wire on P0 is SDA, and the green wire on P2 is SCL. These are connected to the corresponding SDA and SCL pins on the MCP23017. The 4.7 k\u03a9 pull-up resistors on the I2C lines are important.    &nbsp;<\/p>\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/i2c_mcp23017.png\"><img loading=\"lazy\" decoding=\"async\" width=\"814\" height=\"586\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/i2c_mcp23017.png\" alt=\"Controlling the MCP23017 with the Digispark - an example of an I2C application\" class=\"wp-image-1928\" srcset=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/i2c_mcp23017.png 814w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/i2c_mcp23017-300x216.png 300w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/i2c_mcp23017-768x553.png 768w\" sizes=\"auto, (max-width: 814px) 100vw, 814px\" \/><\/a><figcaption class=\"wp-element-caption\">Controlling the MCP23017 with the Digispark &#8211; an example of an I2C application<\/figcaption><\/figure>\n\n<p>For the sake of completeness, here\u2019s a sample sketch (if you\u2019d like to read more about the MCP23017, you can find a post I wrote about it <a href=\"https:\/\/wolles-elektronikkiste.de\/en\/port-expander-mcp23017-2\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a>). &nbsp;<\/p>\n<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-title=\"digispark_i2c_test_mcp23017.ino\" data-enlighter-group=\"digispark_i2c_test_mcp23017.ino\">#define MCP_ADDRESS 0x20 \/\/ (A2\/A1\/A0 = LOW) \n#include &lt;Wire.h&gt;\n#include &lt;MCP23017.h&gt; \/\/ meine MCP23017 Bibliothek\nMCP23017 myMCP(MCP_ADDRESS,5); \/\/ 5: Reset - brauchen wir hier nicht\nint wT = 1000; \/\/ wT = waiting time\n\nvoid setup(){ \n  Wire.begin();\n  myMCP.Init();  \n  myMCP.setPortMode(B11111111, A); \n  delay(wT);\n}\n\nvoid loop(){ \n  myMCP.setAllPins(A, ON); \n  delay(wT);\n  myMCP.setAllPins(A, OFF);\n  delay(wT);\n  myMCP.setPin(0, A, ON); \n  delay(wT); \n  myMCP.setPin(4, A, ON);\n  delay(wT);\n  myMCP.setPin(7, A, ON); \n  delay(wT);\n} <\/pre>\n<p>\u00a0<\/p>\n<p>\n\n<h2 class=\"wp-block-heading\">Turning P5 into an I\/O pin<\/h2>\n\n<p>With the ATtiny85, only 5 pins can generally be used as I\/O pins. Pin 1 (PB5, RESET) of the ATtiny85 can only be used as an I\/O pin indirectly. The problem is that doing so disables the reset function, meaning the ATtiny85 can no longer be easily reprogrammed. You effectively lock yourself out, so to speak. This can also be resolved, but only with programmers that have a high-voltage function.    &nbsp;<\/p>\n<p>With the Digispark, you don\u2019t need the reset function on P5, since programming is done via USB. This leaves you with 6 I\/O pins available. The manufacturers of Revision 3 and other clones, on the other hand, have retained the reset function on P5. If you only need 5 pins or perhaps want to use the reset function, then leave everything as is. If, on the other hand, you want to use all pins as I\/O pins, you can change this by following these instructions.    &nbsp;<\/p>\n<p>To enable the P5 as an I\/O pin or disable the reset function, the corresponding fuse bit (RSTDISBL) must be &#8220;enabled.&#8221; I\u2019d like to present two ways to do this. &nbsp;<\/p>\n\n<h3 class=\"wp-block-heading\">Option 1: With WinAVR and Arduino UNO<\/h3>\n\n<p>The great thing about this method is that most people have an Arduino UNO (the Nano, Pro Mini, etc. work too), and the required software, WinAVR, is free.&nbsp;<\/p>\n<p>First, download the WinAVR program (for example, from <a href=\"https:\/\/sourceforge.net\/projects\/winavr\/\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a>) and install it.&nbsp;<\/p>\n<p>Next, upload the ArduinoISP sketch from the examples to the Arduino. This will turn the Arduino into a programmer. &nbsp;<\/p>\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/10\/ArduinoISP_example_engl.png\"><img decoding=\"async\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2020\/10\/ArduinoISP_example_engl.png\" alt=\"Choose ArduinoISP from the examples\" class=\"wp-image-1955\"\/><\/a><figcaption class=\"wp-element-caption\">Choose ArduinoISP from the examples<\/figcaption><\/figure>\n\n<p>Then connect the Digispark to the Arduino as follows:<\/p>\n<ul>\n<li>P0 &#8211;&gt; 11<\/li>\n<li>P1 &#8211;&gt; 12<\/li>\n<li>P2 &#8211;&gt; 13<\/li>\n<li>P5 &#8211;&gt; 10<\/li>\n<\/ul>\n<p>Schlie\u00dflich verbindet ihr noch GND mit GND, 5V mit 5V und setzt einen 10 \u00b5F Kondensator zwischen den Arduino Reset und GND (Polarit\u00e4t beachten: Minus des Kondensators an GND).<\/p>\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/ard_programs_digistump.png\"><img loading=\"lazy\" decoding=\"async\" width=\"882\" height=\"581\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/ard_programs_digistump.png\" alt=\"Circuit for programming the Digispark using Arduino\" class=\"wp-image-1956\" srcset=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/ard_programs_digistump.png 882w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/ard_programs_digistump-300x198.png 300w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/ard_programs_digistump-768x506.png 768w\" sizes=\"auto, (max-width: 882px) 100vw, 882px\" \/><\/a><\/figure>\n\n<p>Next, open a terminal window on your PC. Depending on whether you\u2019ve set the system paths, you may need to navigate to the directory where you installed WinAVR. Enter the following, replacing COM14 with the port your Arduino is connected to:  <\/p>\n<p><code>avrdude -P COM14 -b 19200 -c avrisp -p attiny85 -n <\/code><\/p>\n<p>Press Enter to confirm, enter the next line, and press Enter again to confirm:<\/p>\n<p><code>avrdude -P COM14 -b 19200 -p attiny85 -c avrisp&nbsp; -U hfuse:w:0x5F:m<\/code>&nbsp;<\/p>\n<p>If everything goes well, you should see messages similar to this one:<\/p>\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/avrdude.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"777\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/avrdude-1024x777.png\" alt=\"Feedback from avrdude when setting the fuse bit in Digispark\" class=\"wp-image-1959\" srcset=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/avrdude-1024x777.png 1024w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/avrdude-300x228.png 300w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/avrdude-768x583.png 768w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/avrdude.png 1052w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n<p>Now you can upload the Blink sketch from earlier to P5 as an LED pin \u2014 the LED will now blink. It\u2019s just a little less bright than on the other pins, since P5 only supplies 3 volts. &nbsp;<\/p>\n\n<h3 class=\"wp-block-heading\">Option 2: with Atmel Studio and suitable programmer<\/h3>\n\n<h4 class=\"wp-block-heading\">What you need<\/h4>\n\n<p>This method is less cryptic, but it requires installing the fairly large \u2014 though free \u2014 Atmel (Microchip) Studio software package (currently version 7). You\u2019ll also need a compatible programmer. You can download Atmel Studio 7 <a href=\"https:\/\/www.microchip.com\/mplab\/avr-support\/atmel-studio-7\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a>. Anyone who wants to delve deeper into programming Atmel microcontrollers at the register level and in &#8220;C&#8221; should familiarize themselves with this program anyway. Just to change a single fuse bit, it\u2019s a bit of an overkill to download this powerful tool onto your hard drive. In a later post, I\u2019ll go into more detail about Atmel Studio.     <\/p>\n<p>Programmers for Atmel Studio are relatively expensive. One of the more affordable options is the USB ISP programmer from Tremex\/Diamex, which you can buy for about 20 euros\u2014for example, <a href=\"https:\/\/smile.amazon.de\/gp\/product\/B0068M158K\/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&#038;psc=1\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a> on Amazon. I\u2019ve tried it out, and it works perfectly with Atmel Studio. If you\u2019re using Windows 10, you don\u2019t even need to install a driver.   <\/p>\n<p>Better, but also more expensive, are the AVR Dragon and the Atmel-ICE. The former is available for 50\u201380 euros, while the latter starts at 120 euros. Both models also support debugging. In addition, the Dragon supports HVSP (High Voltage Serial Programming), which allows you to reverse the modifications made to the P5. The Atmel-ICE cannot do this, but it comes in a sleek case.    &nbsp;<\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/Programmer-1.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"487\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/Programmer-1-1024x487.jpg\" alt=\"Tremex\/Diamex's AVR Dragon, Atmel-ICE and USB ISP programmer\" class=\"wp-image-1971\" srcset=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/Programmer-1-1024x487.jpg 1024w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/Programmer-1-300x143.jpg 300w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/Programmer-1-768x365.jpg 768w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/Programmer-1-1320x628.jpg 1320w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/Programmer-1.jpg 1734w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">From left to right: AVR Dragon, Atmel-ICE, USB ISP programmer (Tremex\/Diamex)<\/figcaption><\/figure>\n<\/div>\n<p>If you&#8217;re investing in a programmer, I recommend getting a breadboard adapter like this one right away:<\/p>\n<div class=\"wp-block-image is-resized\">\n<figure class=\"aligncenter\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/Breadboardadapter.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"596\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/Breadboardadapter-1024x596.jpg\" alt=\"Breadboard adapter - useful for programming the Digispark\" class=\"wp-image-1974\" style=\"aspect-ratio:1.7181427909321156;width:400px;height:auto\" srcset=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/Breadboardadapter-1024x596.jpg 1024w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/Breadboardadapter-300x175.jpg 300w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/Breadboardadapter-768x447.jpg 768w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/Breadboardadapter-1320x768.jpg 1320w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n<\/div>\n<p>It makes the job easier and helps prevent wiring errors. You can buy one <a href=\"https:\/\/smile.amazon.de\/gp\/product\/B00PZ5HXJG\/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&#038;psc=1\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a>, for example, or one with two 3-pin headers <a href=\"https:\/\/smile.amazon.de\/Adafruit-Pin-AVR-Breadboard-Adapter-Miniset\/dp\/B00OKJFASY\/ref=sr_1_1_sspa?__mk_de_DE=%C3%85M%C3%85%C5%BD%C3%95%C3%91&#038;keywords=ip+adafruit&#038;qid=1560974240&#038;s=ce-de&#038;sr=1-1-spons&#038;psc=1\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a>. <\/p>\n\n<h4 class=\"wp-block-heading\">Wiring<\/h4>\n\n<p>The connection diagram for the programmer and Digispark is as follows:<\/p>\n<div class=\"wp-block-image is-resized\">\n<figure class=\"aligncenter\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/Digispark_breadboardadapter.png\"><img loading=\"lazy\" decoding=\"async\" width=\"549\" height=\"275\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/Digispark_breadboardadapter.png\" alt=\"Circuit for Digispark with programmer\" class=\"wp-image-1978\" srcset=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/Digispark_breadboardadapter.png 549w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/Digispark_breadboardadapter-300x150.png 300w\" sizes=\"auto, (max-width: 549px) 100vw, 549px\" \/><\/a><\/figure>\n<\/div>\n<p>Please note that the AVR Dragon cannot power the Digispark. You will need a separate power source. The inexpensive USB ISP programmer, on the other hand, can do this, provided that DIP switches 1 and 2 are set to &#8220;ON.&#8221;  &nbsp;<\/p>\n\n<h4 class=\"wp-block-heading\">Using Atmel Studio 7<\/h4>\n\n<p>If you&#8217;re using a Dragon or Atmel ICE, Atmel Studio should detect them automatically. You&#8217;ll first need to integrate the Tremex\/Diamex USB ISP programmer. To do this, go to the menu and select  <\/p>\n<p>Tools &#8211;&gt; Add Target&#8230; &#8211;&gt; Select Tool&nbsp;<\/p>\n<p>Select STK500 and the port, then click &#8220;Apply&#8221;.<\/p>\n<p>In the menu bar, you&#8217;ll find a small icon for &#8220;Device Programming&#8221;. Click on it. &nbsp;<\/p>\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/AVR-Studio.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"80\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/AVR-Studio-1024x80.png\" alt=\"Menu of Atmel Studio 7\" class=\"wp-image-1962\" srcset=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/AVR-Studio-1024x80.png 1024w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/AVR-Studio-300x24.png 300w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/AVR-Studio-768x60.png 768w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/AVR-Studio-1320x104.png 1320w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/AVR-Studio.png 1350w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n<p>If the tool isn&#8217;t already selected in the next window, select it from the drop-down menu here. Select ATtiny85 as the device. The interface is ISP. Then click &#8220;Apply&#8221;.   <\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a href=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/Select-Tool.png\"><img loading=\"lazy\" decoding=\"async\" width=\"746\" height=\"311\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/Select-Tool.png\" alt=\"Device programming window - selecting tool and device\" class=\"wp-image-1982\" srcset=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/Select-Tool.png 746w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/Select-Tool-300x125.png 300w\" sizes=\"auto, (max-width: 746px) 100vw, 746px\" \/><\/a><\/figure>\n<\/div>\n<p>You can then check the supply voltage and verify that the correct signature is present. It should be 0x1E930B. Now go to the &#8220;Fuses&#8221; menu item.  <\/p>\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"745\" height=\"594\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/Signature_Voltage_Fuses.png\" alt=\"Device Programming Window - more selections\" class=\"wp-image-1984\" srcset=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/Signature_Voltage_Fuses.png 745w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/Signature_Voltage_Fuses-300x239.png 300w\" sizes=\"auto, (max-width: 745px) 100vw, 745px\" \/><\/figure>\n\n<p>Check the box next to &#8220;HIGH.RSTDISBL,&#8221; click &#8220;Program,&#8221; and then click &#8220;Continue&#8221; in the warning window that pops up. If everything went well, you should see &#8220;Verify Registers \u2026 OK&#8221; at the bottom of the message log.  <\/p>\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"744\" height=\"590\" src=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/Pin5_als_IO-1.png\" alt=\"Device programming window - selection of fuse bits\" class=\"wp-image-1985\" srcset=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/Pin5_als_IO-1.png 744w, https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/Pin5_als_IO-1-300x238.png 300w\" sizes=\"auto, (max-width: 744px) 100vw, 744px\" \/><\/figure>\n\n<p>P5 should now be ready for use as an I\/O pin. <\/p>\n<p>If you&#8217;d like to learn more about Atmel Studio 7, stay tuned \u2014 I&#8217;ll be posting an introduction in one of my next articles. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>In my last post, I described how to upload sketches to an ATtiny85 (or 84, 45, 44, 25, 24). To do this, you need to set up your&#8230;<\/p>\n","protected":false},"author":1,"featured_media":8022,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[543],"tags":[733,740,707,739,720,723,742,666,728,735,725,727,743,731],"class_list":["post-9308","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-boards-and-microcontrollers","tag-atmel-studio-en-2","tag-atmel-ice-en","tag-attiny85-en","tag-avr-dragon-en-3","tag-digispark-en","tag-digistump-en","tag-fuse-bit-en","tag-i2c-en","tag-p5-as-i-o-pin","tag-programmer-en-2","tag-rev3-en","tag-revision-3-en-2","tag-rstdisbl-en","tag-step-by-step-en-2"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Digispark - the convenient ATtiny85 alternative &#8226; Wolles Elektronikkiste<\/title>\n<meta name=\"description\" content=\"Step-by-step introduction to the Digispark, differences to the ATtiny85, how to program it and how to configure P5 as an I\/O pin.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/wolles-elektronikkiste.de\/en\/digispark-the-convenient-attiny85-alternative\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Digispark - the convenient ATtiny85 alternative &#8226; Wolles Elektronikkiste\" \/>\n<meta property=\"og:description\" content=\"Step-by-step introduction to the Digispark, differences to the ATtiny85, how to program it and how to configure P5 as an I\/O pin.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/wolles-elektronikkiste.de\/en\/digispark-the-convenient-attiny85-alternative\" \/>\n<meta property=\"og:site_name\" content=\"Wolles Elektronikkiste\" \/>\n<meta property=\"article:published_time\" content=\"2020-10-29T22:04:48+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-07T13:42:25+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/Beitragsbild.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1672\" \/>\n\t<meta property=\"og:image:height\" content=\"1242\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Wolfgang Ewald\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Wolfgang Ewald\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en\\\/digispark-the-convenient-attiny85-alternative#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en\\\/digispark-the-convenient-attiny85-alternative\"},\"author\":{\"name\":\"Wolfgang Ewald\",\"@id\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en#\\\/schema\\\/person\\\/b774e4d64b4766889a2f7c6e5ec85b46\"},\"headline\":\"Digispark &#8211; the convenient ATtiny85 alternative\",\"datePublished\":\"2020-10-29T22:04:48+00:00\",\"dateModified\":\"2026-06-07T13:42:25+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en\\\/digispark-the-convenient-attiny85-alternative\"},\"wordCount\":2404,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en#\\\/schema\\\/person\\\/b774e4d64b4766889a2f7c6e5ec85b46\"},\"image\":{\"@id\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en\\\/digispark-the-convenient-attiny85-alternative#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/wp-content\\\/uploads\\\/2019\\\/06\\\/Beitragsbild.jpg\",\"keywords\":[\"Atmel Studio\",\"Atmel-ICE\",\"ATtiny85\",\"AVR Dragon\",\"digispark\",\"digistump\",\"fuse-bit\",\"I2C\",\"P5 as I\\\/O pin\",\"programmer\",\"rev3\",\"revision 3\",\"RSTDISBL\",\"Step-by-step\"],\"articleSection\":[\"Boards and Microcontrollers\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en\\\/digispark-the-convenient-attiny85-alternative#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en\\\/digispark-the-convenient-attiny85-alternative\",\"url\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en\\\/digispark-the-convenient-attiny85-alternative\",\"name\":\"Digispark - the convenient ATtiny85 alternative &#8226; Wolles Elektronikkiste\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en\\\/digispark-the-convenient-attiny85-alternative#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en\\\/digispark-the-convenient-attiny85-alternative#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/wp-content\\\/uploads\\\/2019\\\/06\\\/Beitragsbild.jpg\",\"datePublished\":\"2020-10-29T22:04:48+00:00\",\"dateModified\":\"2026-06-07T13:42:25+00:00\",\"description\":\"Step-by-step introduction to the Digispark, differences to the ATtiny85, how to program it and how to configure P5 as an I\\\/O pin.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en\\\/digispark-the-convenient-attiny85-alternative#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en\\\/digispark-the-convenient-attiny85-alternative\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en\\\/digispark-the-convenient-attiny85-alternative#primaryimage\",\"url\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/wp-content\\\/uploads\\\/2019\\\/06\\\/Beitragsbild.jpg\",\"contentUrl\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/wp-content\\\/uploads\\\/2019\\\/06\\\/Beitragsbild.jpg\",\"width\":1672,\"height\":1242},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en\\\/digispark-the-convenient-attiny85-alternative#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Digispark &#8211; the convenient ATtiny85 alternative\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en#website\",\"url\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en\",\"name\":\"Wolles Elektronikkiste\",\"description\":\"Die wunderbare Welt der Elektronik\",\"publisher\":{\"@id\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en#\\\/schema\\\/person\\\/b774e4d64b4766889a2f7c6e5ec85b46\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/en#\\\/schema\\\/person\\\/b774e4d64b4766889a2f7c6e5ec85b46\",\"name\":\"Wolfgang Ewald\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/wp-content\\\/uploads\\\/2019\\\/03\\\/cropped-Logo-1.png\",\"url\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/wp-content\\\/uploads\\\/2019\\\/03\\\/cropped-Logo-1.png\",\"contentUrl\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/wp-content\\\/uploads\\\/2019\\\/03\\\/cropped-Logo-1.png\",\"width\":512,\"height\":512,\"caption\":\"Wolfgang Ewald\"},\"logo\":{\"@id\":\"https:\\\/\\\/wolles-elektronikkiste.de\\\/wp-content\\\/uploads\\\/2019\\\/03\\\/cropped-Logo-1.png\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Digispark - the convenient ATtiny85 alternative &#8226; Wolles Elektronikkiste","description":"Step-by-step introduction to the Digispark, differences to the ATtiny85, how to program it and how to configure P5 as an I\/O pin.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/wolles-elektronikkiste.de\/en\/digispark-the-convenient-attiny85-alternative","og_locale":"en_US","og_type":"article","og_title":"Digispark - the convenient ATtiny85 alternative &#8226; Wolles Elektronikkiste","og_description":"Step-by-step introduction to the Digispark, differences to the ATtiny85, how to program it and how to configure P5 as an I\/O pin.","og_url":"https:\/\/wolles-elektronikkiste.de\/en\/digispark-the-convenient-attiny85-alternative","og_site_name":"Wolles Elektronikkiste","article_published_time":"2020-10-29T22:04:48+00:00","article_modified_time":"2026-06-07T13:42:25+00:00","og_image":[{"width":1672,"height":1242,"url":"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/Beitragsbild.jpg","type":"image\/jpeg"}],"author":"Wolfgang Ewald","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Wolfgang Ewald","Est. reading time":"13 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/wolles-elektronikkiste.de\/en\/digispark-the-convenient-attiny85-alternative#article","isPartOf":{"@id":"https:\/\/wolles-elektronikkiste.de\/en\/digispark-the-convenient-attiny85-alternative"},"author":{"name":"Wolfgang Ewald","@id":"https:\/\/wolles-elektronikkiste.de\/en#\/schema\/person\/b774e4d64b4766889a2f7c6e5ec85b46"},"headline":"Digispark &#8211; the convenient ATtiny85 alternative","datePublished":"2020-10-29T22:04:48+00:00","dateModified":"2026-06-07T13:42:25+00:00","mainEntityOfPage":{"@id":"https:\/\/wolles-elektronikkiste.de\/en\/digispark-the-convenient-attiny85-alternative"},"wordCount":2404,"commentCount":0,"publisher":{"@id":"https:\/\/wolles-elektronikkiste.de\/en#\/schema\/person\/b774e4d64b4766889a2f7c6e5ec85b46"},"image":{"@id":"https:\/\/wolles-elektronikkiste.de\/en\/digispark-the-convenient-attiny85-alternative#primaryimage"},"thumbnailUrl":"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/Beitragsbild.jpg","keywords":["Atmel Studio","Atmel-ICE","ATtiny85","AVR Dragon","digispark","digistump","fuse-bit","I2C","P5 as I\/O pin","programmer","rev3","revision 3","RSTDISBL","Step-by-step"],"articleSection":["Boards and Microcontrollers"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/wolles-elektronikkiste.de\/en\/digispark-the-convenient-attiny85-alternative#respond"]}]},{"@type":"WebPage","@id":"https:\/\/wolles-elektronikkiste.de\/en\/digispark-the-convenient-attiny85-alternative","url":"https:\/\/wolles-elektronikkiste.de\/en\/digispark-the-convenient-attiny85-alternative","name":"Digispark - the convenient ATtiny85 alternative &#8226; Wolles Elektronikkiste","isPartOf":{"@id":"https:\/\/wolles-elektronikkiste.de\/en#website"},"primaryImageOfPage":{"@id":"https:\/\/wolles-elektronikkiste.de\/en\/digispark-the-convenient-attiny85-alternative#primaryimage"},"image":{"@id":"https:\/\/wolles-elektronikkiste.de\/en\/digispark-the-convenient-attiny85-alternative#primaryimage"},"thumbnailUrl":"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/Beitragsbild.jpg","datePublished":"2020-10-29T22:04:48+00:00","dateModified":"2026-06-07T13:42:25+00:00","description":"Step-by-step introduction to the Digispark, differences to the ATtiny85, how to program it and how to configure P5 as an I\/O pin.","breadcrumb":{"@id":"https:\/\/wolles-elektronikkiste.de\/en\/digispark-the-convenient-attiny85-alternative#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/wolles-elektronikkiste.de\/en\/digispark-the-convenient-attiny85-alternative"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/wolles-elektronikkiste.de\/en\/digispark-the-convenient-attiny85-alternative#primaryimage","url":"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/Beitragsbild.jpg","contentUrl":"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/06\/Beitragsbild.jpg","width":1672,"height":1242},{"@type":"BreadcrumbList","@id":"https:\/\/wolles-elektronikkiste.de\/en\/digispark-the-convenient-attiny85-alternative#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/wolles-elektronikkiste.de\/en"},{"@type":"ListItem","position":2,"name":"Digispark &#8211; the convenient ATtiny85 alternative"}]},{"@type":"WebSite","@id":"https:\/\/wolles-elektronikkiste.de\/en#website","url":"https:\/\/wolles-elektronikkiste.de\/en","name":"Wolles Elektronikkiste","description":"Die wunderbare Welt der Elektronik","publisher":{"@id":"https:\/\/wolles-elektronikkiste.de\/en#\/schema\/person\/b774e4d64b4766889a2f7c6e5ec85b46"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/wolles-elektronikkiste.de\/en?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/wolles-elektronikkiste.de\/en#\/schema\/person\/b774e4d64b4766889a2f7c6e5ec85b46","name":"Wolfgang Ewald","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/03\/cropped-Logo-1.png","url":"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/03\/cropped-Logo-1.png","contentUrl":"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/03\/cropped-Logo-1.png","width":512,"height":512,"caption":"Wolfgang Ewald"},"logo":{"@id":"https:\/\/wolles-elektronikkiste.de\/wp-content\/uploads\/2019\/03\/cropped-Logo-1.png"}}]}},"_links":{"self":[{"href":"https:\/\/wolles-elektronikkiste.de\/en\/wp-json\/wp\/v2\/posts\/9308","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wolles-elektronikkiste.de\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wolles-elektronikkiste.de\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wolles-elektronikkiste.de\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wolles-elektronikkiste.de\/en\/wp-json\/wp\/v2\/comments?post=9308"}],"version-history":[{"count":5,"href":"https:\/\/wolles-elektronikkiste.de\/en\/wp-json\/wp\/v2\/posts\/9308\/revisions"}],"predecessor-version":[{"id":26162,"href":"https:\/\/wolles-elektronikkiste.de\/en\/wp-json\/wp\/v2\/posts\/9308\/revisions\/26162"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wolles-elektronikkiste.de\/en\/wp-json\/wp\/v2\/media\/8022"}],"wp:attachment":[{"href":"https:\/\/wolles-elektronikkiste.de\/en\/wp-json\/wp\/v2\/media?parent=9308"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wolles-elektronikkiste.de\/en\/wp-json\/wp\/v2\/categories?post=9308"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wolles-elektronikkiste.de\/en\/wp-json\/wp\/v2\/tags?post=9308"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}