Monday, January 28, 2013

The Digispark is Here [Review]

After what seemed like a long wait, the Digispark has finally arrived… at least mine have. As a backer of the Digispark Kickstarter, my three little Arduino compatible development boards arrived a few weeks ago. I’m not sure what I’m going to do with these things yet, but let’s take a look and see what they’re all about.

The Arduino platform is ubiquitous. Although there’s a ton of other micro-controller boards around, it still seems that you can’t tip toe through the web without tripping over something powered by an Arduino. As one of the most popular pieces of open source hardware ever, it has certainly made its mark on makers, hobbyists, and entrepreneurs alike. As great as Arduinos are, there’s always room to take a design in a different direction and there’s a ton of clones out there that try to build on the Arduino’s open source foundation.

To Erik Kettenburg the current crop of Arduinos and clones were sometimes too big for smaller applications and cost too much to buy a new board for every project. Erik developed the Digispark to be a “teeny tiny, dirt cheap, little brother” to the venerable Arduino and took it to Kickstarter. The wildly successful Kickstarter campaign asked the community for a meager $5000.00 and ended with a whopping $313,218.00. According to Digistump, they've sold over 25,000 Digisparks to over 6,500 users. My Digisparks took 130 days from end of funding to get to my mailbox. That’s not too bad. Other Kickstarters that I've backed have taken almost twice as long, some of which I have yet to receive.

The Digistump Digispark is an Arduino compatible development board the size of a postage stamp. It’s based on the ATTINY85-20SU Atmel AVR. Compared to the ATMEGA328, the micro-controller used in the Arduino UNO, the physically much smaller ATTINY85-20SU has just a quarter of the flash memory and almost a quarter of the I/O pins. Just about 6 kB of flash memory is available for user loaded sketches as a little over 2 kB is taken by the Micronucleus Tiny85 bootloader. Digistump warns that Loading bootloaders is not supported at this time and can result in damaged devices.

Power is provided by means of either a USB port or an external power supply. External power is either supplied through the 5V pad or 7-35V through the Vin pad and the onboard regulator. The Digispark does not include short or reverse polarity protection. Digistump recommends not hooking it up backwards and suggests connecting Digisparks through a USB hub to help protect your computer from a possibly miswired project. According to Digistump, the software emulated USB port does not strictly meet the USB specification. They warn of possible problems with some computers, but I haven’t run into any issues yet. My Digisparks have worked worked with every computer I've plugged it into.

I/O is limited to only 6 pins on the Digispark which are clearly labeled on the back of the board. It doesn't seem so restrictive when I think of how many times I've built something with an Arduino and only used a few pins. In order to include a broad range of features with a limited number of pins, most pins share multiple duties. Pins 3 and 4 are used for USB communication and programming the Digispark. Digistump recommends disconnecting circuits on these pins while uploading sketches. The ATTINY85 packs a lot of features in just a handful on pins.

Programming the Digispark is a little different than programming an Arduino. Digistump provides a download of the Arduino IDE version 1.03 that has been modified to work with the Digispark. The IDE’s features are fully supported except for the serial monitor and bootloader programming. Loading sketches requires leaving the Digispark unplugged before clicking the upload button in the Arduino IDE. After the sketch compiles, the IDE prompts the user to connect the Digispark to the computer and uploading begins. The Digispark is only programmable in the first 5 seconds after power up.

I’ve played with the Digispark only briefly. I’ve installed the drivers and the IDE, and I loaded a simple sketch to flash SOS in Morse code on the built in LED. It’s all very straight forward if you follow the directions on the Digistump website. The one minor hiccup I encountered was a clear case of not following the directions that was easily remedied by reading the freaking manual. The Digispark does a good job at filling its little niche. I like the idea of being able to plug it into a USB port and have it perform some function on the computer. I have a few, not very well thought out, ideas for projects with the Digispark when I find the time. 

Digispark at a Glance:
  • Arduino Compatible
  • Atmel ATTINY85-20SU
  • 8 kB Flash Memory (just under 6 kB available for sketches)
  • 6 I/O Pins (PWM on 3 pins, analog on 4 pins, I2C, and more)
  • Emulated USB for programming and communications
  • Power via USB, 5V, or 7-35V
  • Onboard voltage regulator 5V @ 500ma

Digispark RGB LED Shield Kit

Digispark Motor Shield Kit

No comments: