Advertisement
ATtiny85 USB Mini Development Board

Learn To Use ATtiny85 USB Mini Development Board

ATtiny85 USB Mini Development Board

Sure, countless microcontroller development boards featuring a USB connection have made it to the Projects and Tutorials pages of Electroschematics. Although these days it really is easy to build your own development boards with USB interface, it is much easier just to buy this sort of boards ready made, with integrated drivers. This article is not going to tackle microcontroller development boards, instead take steps to introduce the ATtiny85 USB Mini Development Board from Digispark ™!

The Digispark runs the “micronucleus tiny85” bootloader version 1.02, an open source project: [https://github.com/micronucleus/micronucleus] originally written by Bluebie: [https://github.com/Bluebie]. The bootloader is the code that is pre-programmed on your Digispark and allows it to act as a USB device so that it can be programmed by the Arduino IDE (the Digispark uses the Arduino IDE 1.6.5+).

Related Products: Development Kits and Tools

Features of the Digispark/Digispark-Compatible ATtiny85 USB Mini Development Board

The ATtiny85 based mini development board is similar to the Arduino, but cheaper and smaller (ofcourse a bit less powerful). With a whole host of shields to extend its functionality and the ability to use the familiar Arduino IDE, this board is a great way to jump into microcontroller electronics.

  • Support for the Arduino IDE 1.0+ (OSX/Win/Linux)
  • Power via USB or External Source
  • Onboard 5V Regulator
  • Built-in USB
  • 6 I/O Pins
  • 8k Flash Memory (about 6k after bootloader)
  • I2C and SPI (vis USI)
  • PWM on 3 pins (more possible with Software PWM)
  • ADC on 4 pins
  • Power LED and Test/Status LED

Usually this board is shipped fully assembled with pre-burned bootloader. As the bootloader already burned, on board LED will start to blink when power up, but you must install relevant driver before first programming. More details avaialble here: http://digistump.com/wiki/digispark/tutorials/connecting

Digispark-Compatible ATtiny85 USB Mini Development Board

(Digispark-Compatible ATtiny85 USB Mini Development Board)

Circuit Description of the Digispark/Digispark-Compatible ATtiny85 USB Mini Development Board

Circuit Diagram of the ATtiny85 USB Mini Development Board

(Circuit Diagram of the ATtiny85 USB Mini Development Board)

Main interface of the board is the USB MICRO connector. The board can be powered from this USB interface or from a suitable external source through the 3-pin connector J2 (5V/GND/VIN). The 5V onboard voltage regulator is built around U1 (78L05). D1 is the power LED and D2 is the test/status LED. Diodes D3-D5 are added for total USB interface protection. D3 is a common Schottky diode, and the rest (D4-D5) are 36V zener diodes. Finally IC1 (ATtiny85) is the master-brain of the mini development board. Total (6) I/O pins of IC1 (P0-P5) are available through the 6-pin connector J1. Pin assignment of connector J1 is shown below:

table

* Note that out of these 6 connections, 2 (4&5) are reserved for USB only if your program actively communicates over USB. Otherwise you can use all 6 even if you are programming via USB!

The ATtiny 85 is a low-power CMOS 8-bit microcontroller based on the AVR enhanced RISC architecture. By executing powerful instructions in a single clock cycle, the ATtiny 85 achieves throughputs approaching 1 MIPS per MHz allowing the system designer to optimize power consumption versus processing speed. The Attiny 85 provides 8K bytes of In-System Programmable Flash, 128/256/512 bytes EEPROM, 256 bytes SRAM, 6 general purpose I/O lines, 32 general purpose working registers, one 8-bit Timer/Counter with compare modes, one 8-bit high speed Timer/Counter, Universal Serial Interface, Internal and External Interrupts, a 4-channel, 10-bit ADC, a programmable Watchdog Timer with internal Oscillator, and three software selectable power saving modes. Port B is a 6-bit bidirectional I/O port with internal pull-up resistors (selected for each bit). The Port B output buffers have symmetrical drive characteristics with both high sink and source capability. As inputs, Port B pins that are externally pulled low will source current if the pull-up resistors are activated. The Port B pins are tri-stated when a reset condition becomes active, even if the clock is not running. Further, Port B also serves the functions of various special features of the ATtiny 85. The reset pin (pin 1) can also be used as a (weak) I/O pin.

attiny85 pinout

ATtiny with USB Boot Loader: Tips & Tricks for DIYers

ATtiny with USB Boot Loader

  • DIYers building a development board similar to this one, and looking for applications to be added through USB without an external programmer, V-USB seemed like the obvious choice for adding USB to the ATtiny85. However there are some challenges to create a bootloader for the ATtiny85. Have a look at this article: http://www.embedded-creations.com/projects/attiny85-usb-bootloader-overview
  • V-USB is a project from the company Objective Development Software GmbH to bring basic USB support to any micro controller. And the best thing: It’s opensource. The code is fully available under the GPL. Its a very well documented project and it has a good forum. In short, V-USB is a software-only implementation of a low-speed USB device for Atmel’s AVR® microcontrollers, making it possible to build USB hardware with almost any AVR® microcontroller, not requiring any additional chip. Read more: https://www.obdev.at/products/vusb/index-de.html
  • Here you can find a well-written beginners guide to extended programming ATtinys with Digispark: https://digistump.com/wiki/digispark/tutorials/programming

6 Comments

Join the conversation!

Error! Please fill all fields.
  • Jm92

    The 2 zener D4 D5 are really 36V?

    On Usb the 3.6v zener diode will be beter?

    Thanks

    Thank you for this fine docs.

  • Stefan Ioan

    There is a little mistake in the link for the “relevant driver”: it says disispark instead of digispark 🙂

    Thank you for the article.

  • Seng

    Hello,I am trying to get funbcue pro+ running on linux (debian 6), the stick has been flashed with v20.03 firmware. I have setup the udev rule to reflect the changes required for the pro+ version. I am using the latest version of qthid fcdpp 4.1, however I run into a problem when I run it. If qthid is started when the stick is already inserted then the gui doesn’t show up. From strace i can see that it gets stuck on reading the /dev/hidraw0 device. If qthid is started and stick is inserted afterwards, it gets stuck on the same thing.Has anyone ran into this issue ?ThanksHere is a cutout from strace output:====================================munmap(0x7f27a7543000, 4096) = 0lstat( /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/manufacturer , {st_mode=S_IFREG|0444, st_size=4096, }) = 0open( /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/manufacturer , O_RDONLY|O_CLOEXEC) = 18read(18, Hanlincrest Ltd. \n , 4096) = 26close(18) = 0lstat( /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/product , {st_mode=S_IFREG|0444, st_size=4096, }) = 0open( /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/product , O_RDONLY|O_CLOEXEC) = 18read(18, FUNcube Dongle V2.0 \n , 4096) = 22close(18) = 0lstat( /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/bcdDevice , {st_mode=S_IFREG|0444, st_size=4096, }) = 0open( /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/bcdDevice , O_RDONLY|O_CLOEXEC) = 18read(18, 2003\n , 4096) = 5close(18) = 0lstat( /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.2/bInterfaceNumber , {st_mode=S_IFREG|0444, st_size=4096, }) = 0open( /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.2/bInterfaceNumber , O_RDONLY|O_CLOEXEC) = 18read(18, 02\n , 4096) = 3close(18) = 0uname({sys= Linux , node= debian , }) = 0open( /dev/hidraw0 , O_RDWR) = 18ioctl(18, HIDIOCGRDESCSIZE or HIDIOCGVERSION, 0x7fff9a2f526c) = 0ioctl(18, HIDIOCAPPLICATION or HIDIOCGRDESC, 0x7fff9a2f5400) = 0write(18, \1\234e/\232\377\177\237d/\232\377\177 , 65) = -1 EPIPE (Broken pipe)poll([{fd=18, events=POLLIN}], 1, -1====================================

  • AMEGANVI-MESSAN Koffi V.

    Hello
    Can please send me the price of those parts of electronic. And also I need your help to be partener for training studients.
    Thanks

    • T.K.Hareendran

      Please search “ATtiny85 USB Mini Development Board” in eBay (or similar e-commerce sites) to get the BOM. Regarding the training scheme, just drop an email to the site owner Mr. P.Marian !

Looking for the latest from TI?