Digispark Pro, The Bigger Smaller Dev Board

digi

There has recently been a huge influx of extremely small dev board based on the ATtiny85. This small 8-pin microcontroller is able to run most Arduino sketches,  and the small size and low price of these dev boards means they have been extremely popular. The Digispark was among the first of these small boards, and now the creator is releasing a newer, bigger version dubbed the Digispark Pro.

The new board isn’t based on the ‘tiny85, but rather the ATtiny167. This larger, 20-pin chip adds 10 more I/O pins, and a real hardware SPI interface, but the best features come with the Digispark Pro package. There’s real USB programming, device emulation, and serial over USB this time, and the ability to use the Arduino serial monitor, something not found in the original Digispark.

There are also a few more shields this time around, with WiFi and Bluetooth shields available as additional rewards. Without the shields, the Digi Pro is cheap, and only $2 more per board than the original Digispark.

 

32 thoughts on “Digispark Pro, The Bigger Smaller Dev Board

    1. The Attiny167 has 20 pins total including VCC, GND, etc – not 20 i/o pins
      The Digispark has 6 i/o pins – the Digispark Pro has 14 i/o pins – so it is actually 8 more. But it also adds true SPI, a UART, and has 16kb instead of 8kb of flash.

  1. It’s a great little package, but I’m having a hard time seeing the benefit over a Teensy 3… the processor has a crap-ton more horsepower, is comparable in price, is small, and is arduino compatible. Is it just the “shield” platform that is so attractive?

    1. I’m not sure I agree that they are “comparable in price”, since the Teensy 3 costs nearly twice as much as the Digispark Pro — $10 vs $19. Well, okay, I think the DSP will be about $12 each after the Kickstarter. But, still, that’s a 60% difference.

      What makes the Digispark Pro (and the original Digispark, which I’ve bought about a dozen of) attractive to me is that for the features, the price point is low enough that I can leave one of these in a project permanently without feeling like I’m wasting anything.

      1. If you don’t need the on board USB, a Pro-Mini knock off can be had on eBay for well less than $5 USD, complete with ATMega 328.

        Just add a similarly priced CP2102 module if you want to program over USB and you are good to go.

      2. The flipside is that the Teensy 3.1 just works. I just received my DSP and have yet to get it to load and run anything. I’ve tried on both Ubuntu and Windows 7. Might be I’m just bad a following instructions, but when I never had any issues using any of the Teensy boards I’ve ordered.

        I fear that the quality control on the DSP is a bit off (which is what allows the lower price) and I just got a janky board.

        It also seems that the DSP is not quite Arduino -ready but kinda-sorta Arduino ready.

        http://digistump.com/wiki/digispark/tutorials/connecting#digispark_differences_and_using_arduinoprocessing_with_the_digispark

        I’d rather pay the extra $8 or $10 dollars and get a board that is better spec’ed and just works the first time I need it.

      1. I’m always amazed by bitbang USB implementations like V-USB. I know the technique has been around for many years, but still, it’s pretty amazing.

        The bulk endpoints used by CDC are a special challenge. Normally bigbang USB implements only control and interrupt mode endpoints. For IN direction (device to PC) bulk endpoint, the USB host controller chip polls the USB device pretty rapidly with IN tokens. Previously when people have tried bulk endpoints, the rapid pace of IN tokens has consumed most of the CPU time. I’m not doubting someone’s found a clever solution… I’m really interested to see how they’ve solved this.

        The other issue with bulk endpoints is the USB spec only allows control and interrupt types on low speed devices. Using bulk and isync are forbidden by the USB spec. I’ve read that many operating systems allowed this anyway, but I also saw somewhere than some newer versions of Windows started to enforce this rule and refused to enumerate such devices. I haven’t personally investigated this, but I do try to pay attention to USB stuff, especially when people discover the limits and specific issues with each operating system.

        Of course, comparison to Teensy isn’t really fair on a technical level (I’m the creator of Teensy, for full disclosure). Teensy 2.0, and Arduino Leonado and every other board based on ATMEGA32U4, have USB implemented in hardware. Of course you’d expect hardware-based USB to outperform software emulated USB.

        On the matter of performance, here’s a simple benchmark I published several months ago.

        http://www.pjrc.com/teensy/benchmark_usb_serial_receive.html

        Hack-a-Day covered it. Assuming CDC serial really works, it’ll be interesting to try running this on the Digispark Pro.

        1. Tim is doing some good work with v-usb in the micronucleus bootloader. If it can be back-ported into the main v-usb it will help the performance significantly.

          I’m impressed with what I’ve seen of your teensy products. Solid work on the software, and solid work on the hardware. I tend to get bored after I figure out the challenges, but you obviously have the persistence to see things through to completion.

          It’s too bad lord Banzi didn’t see fit to include improvements to the arduino IDE like you did for Teensyduino. Hopefully the work you’re doing with the SPI interface won’t be the only improvements that make it into 1.5.

        2. Paul – I have my new teensy 3 sitting right here – as always, you’ve done some great work on that!

          There are certainly some tradeoffs to serial using V-USB – it can never have the performance of a real hardware implementation and like most V-USB stuff it isn’t quite spec, but it is pretty awesome and far more versatile than using a UartUSB chip. I’ve found generally, the reasons people wanted CDC Serial on the Digispark didn’t call for high speed usage at all – mostly serial debugging and simple communications. So doing it with V-USB allowed us to give people that option, but also still allow them to emulate other USB devices (keyboards, mice, joysticks, midi, etc) – of course we also could have taken the 32u4 route – but the Teensy 2 has that covered, and I like to make new stuff, rather than clones of already great products.

          The only modern (or semi-modern) OS that doesn’t like our V-USB CDC Serial implementation is windows – and that can be solved by a driver (and hey nearly everything in windows needs one!) – and to ensure it is easy for windows users we are making sure the driver is fully signed so it installs easily on anything from XP to 8.1 and everything in between.

          We will of course be open sourcing all of our code and the CDC code and driver should be easily applicable to any AVR V-USB project.

          1. Erik, it’s awesome you’re putting this work into the software. Nearly all the companies selling Arduino compatible boards in this market simply use open source code others have published, with little or no software development added.

            I’m particularly impressed you’re going to take on a Windows kernel mode driver. A couple times I’ve looked into doing such a driver, but always shied away due to the steep learning curve.

          2. Thanks Paul – to give credit where it is due – the dirty work for the kernel mode driver was done by the avr-cdc project (http://www.recursion.jp/avrcdc/) – we’ve just expanded on their work and made it more user friendly/compatible with the various flavors of windows.

            It is also worth saying that your Arduino integration work with Teensy was a big inspiration to my ideal that my products should attempt to contribute more than just yet-another-hardware-design and it showed me that one could in fact persevere enough to integrate with the Arduino IDE! Thanks for showing it can be done, and setting a high bar for it.

  2. It looks like a nice product, but not cheap. For $14 you can buy 5 Arduino Pro Mini boards, and still have money left over (they sell for <$2.50/qty5 on aliexpress), or you could get 2 Pro Micros.
    Running the tiny167, it uses the arduino tiny cores, which isn't completely with an arduino board running an ATMega328.
    Aside from the novelty of a more compact form factor (nice work on the board layout), I don't see much going for the Digispark Pro. The clone pro micro boards give you more IO, and 100% compatibility with the Leonardo. The ATMega32U4 on the pro micro has an on-board full-speed USB controller, while the digispark pro runs v-usb which requires some hacking to get CDC to (partially) work (as Paul has already referred to). If Ihsan has figured out a way to implement a CDC compliant device on the Digispark Pro that works as well as the Leonardo, then that is something to write about.
    http://www.recursion.jp/avrcdc/

    1. exactly, also ebay is full of arduino pro mini boards below US$3 for single quantities with free shipping, bought few of them from different sellers and they seem to work just fine

  3. hmm nice but start to wonder if it is practical. the arduino micro isnt much bigger, probably the same price (the clones are a few dollars) and already more pins. This one wld have to be really cheap to make it worthwhile

    1. It’s great that people who can’t afford regular brand name boards have access to cheap hardware.

      But when talking about cheap Chinese clones, it’d be really nice if you could at least recognize those crazy cheap products only exist because plenty of people bought brand name Arduino boards. Those Asian cloners don’t develop any technology. They don’t write any software, libraries or bootloaders. They don’t contribute to documentation, bug reports, or any of the effort that creates so much value for their products. They certainly do not provide any support. They don’t even have websites or help forums (many of them rename themselves and create new ebay accounts every few months, to escape the ongoing burden of answering to their customers). For all that software, documentation and support, they direct their customers to Arduino’s website and forums.

      All that value, which makes those cheap clones something more useful than an nonprogrammable chip on a PCB comes from the community. The parts that require funding (and plenty of the effort does require real money) all comes from sales of the more expensive Arduino boards.

      That doesn’t mean you should necessarily pay for a name brand board. Especially if you’re a student or hobbyist on a limited budget, those cheap clones can make quite a difference between being able to afford to get started vs not getting anywhere. But at the least, when suggesting everyone should save a buck and buy the cheapest clones, the very least you could do is show some appreciation for the fact that so software has been written, tested and maintained, and so much documentation and help is available, because some people do pay more for the brand name boards that financially support the ongoing development.

      1. Paul, I am not sure if with ‘you could recognize’ mean that I should have in my comment.
        In that case, you didnt read well what I said. I made a comparison with the Arduino micro, which is a development from I think Adafruit. I wasnt talking about Chinese clones but about clones.
        So do you actually mean to say that in my two sentence questioning of a product I should have added a blahblah about how great it is that people develop stuff? I was merely questioning the added value of the product discussed here.
        Though you seem to go all out for developers, in fact you don’t. Because if I condense your comment to what you are actually saying it is: It is allright to buy cheap chinese clones as long as you recognize/appreciate (whatever that might mean) what original developers have done..
        Hmm, so it is allright to drive a Honda as long as I thank Henry Ford every time I go nehind the wheel.
        With regard to the Arduino… it is open hardware, I do not have to make a quick thank you prayer to the original Arduino design team without feeling guilty to buy a cheap clone, be it Chinese or not.
        I wasnt suggesting everyone should save a buck and buy the cheapest clones. ‘The very least you should do is show some appreciation…’ What on earth does that mean???? and who says I dont appreciate the IDE and the arduino.cc forum, without having to go gaga over it in a short posting questioning the added value of a product.

        You may pay as much as you want for a brandname please do, but I am sure that even you when faced with a 60 USD original and a 10 USD clone may go for the latter, but please, show some appreciation when you do.
        And I stress again: it is open hardware, it is meant to go this way, that was and is the intention of the Arduino developers team. And as I didnt ‘advise everybody to go buy cheap Chinese clones’ please keep your moral filled reaction till a more appropriate time, place and person.

  4. I am very happy with my pro. WIndows 7 here worked immediately by following instructions. Plus, my project is very tight on space, and the pro is less long than the teensy.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.