V-USB enabled prototyping (Picture Review)

I love V-USB … bought my VID/PID a couple of years ago for my own little toys and playing around in my home lab. With the release of the Digispark and the Trinket (t85 based), a renewed interest seems to be brewing. So, I thought I would share a few of my homemade enablers - that is, things to help with prototyping… and things that can be reused with the next project idea.

The designs I present here work with 3.3V devices and 5.0V devices; however please refer to the Objective Development’s reference designs for ideas and specific values of things such as resistors and zener diodes. Listed below are my reference parts that I selected because they are known to work for me - the most critical is the zener diode. The 1.8K pullup can vary in specs based upon the reference design and source voltage.
http://www.obdev.at/products/vusb/prjobdev.html

HARDWARE

  • Zener 3.6V - 1N5227B-TAP by Vishay Semi (sourced: Newark 18M3528)
  • 68 Ohm 1W metal film resistor 5% (sourced: Newark 78R4762)
  • 1.8K Ohm 125MW 1% metal film resistor (sourced: Newark 38K5432)

PLEASE DO NOT POST ASKING ABOUT PARTS VALUES OR SUBSTITUTES. I SPENT A LONG TIME FINDING PARTS THAT WORK CONSISTENTLY FOR ME. YOUR MILEAGE MAY VARY.

SOFTWARE
For Arduino UNO/Mini/Nano boards AND for 328P-PU bareboards and breadboarding, I use this library:
https://code.google.com/p/vusb-for-arduino/

For Trinket and Digispark both of which are t85-based, they both provide V-USB enabled bootloaders and user libraries for HID.

Other Adafruit software: GitHub - adafruit/Adafruit-Trinket-USB: Arduino libraries allowing Trinket to act as USB devices
Other Digispark software: Digistump LLC · GitHub

Now for the picture review of my hardware implementations for enabling a good prototyping experience. The traditional method of just sticking the parts into the breadboard is the 1st picture shown. By moving the V-USB interface parts to a small, epoxy encapsulated board, only V+, Gnd, D+, and D- (Red, Black, Yellow, Green) need to be connected to almost any Arduino to provide the V-USB interface. In my designs, I also use a small polyfuse just to protect my PC USB port.

For non-members and those not logged in, Flickr hosted versions;
OLD/Traditional: http://www.flickr.com/photos/77727388@N06/10439986403/
Nano with V-USB adapter: http://www.flickr.com/photos/77727388@N06/10439987003/
V-USB adapters complete with polyfuse: http://www.flickr.com/photos/77727388@N06/10439987723/

More:

The last 2 pictures show jumper wires with one end “cut-off” and the resistor soldered and then heat-shrink covered. This puts 3 resistors ‘inline’ with the jumper and simplifies quick tests. This can also be done with the zeners, but I evolved the USB small adapter boards shown in the first group of pictures which is the approach I prefer.

Have V-USB fun,

Ray

For non-logged-in members and non-members, Flickr hosted images;
Simple USB adapter for breadboard: http://www.flickr.com/photos/77727388@N06/10439987733/
Jumper converted to have inline resistor: http://www.flickr.com/photos/77727388@N06/10439987743/

Added: Completed projects using V-USB
328P V-USB enabled analog/digital logic analyzer:

I like the Trinket (t85) board quality and design, but I am not fond of the Adafruit bootloader. So, I found a way to have the hardware of the Trinket but with the bootloader and utilities of the Digispark: