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.
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
Circuit Description of the Digispark/Digispark-Compatible 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:
* 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.
ATtiny with USB Boot Loader: Tips & Tricks for DIYers