I use this USB "helper" for V-USB prototyping and love it.
It allows quick construction of circuits on a breadboard which use V-USB, without having to clutter it with the several parts. Since one needs a customized USB cable in the first place (stripped, tinned at the very least), I figured it would make more sense to put the glue components on a separate board. I dislike long cables on the desk, so I put the USB connector right on the board, and gave it a header for easy connection to dupont ribbon cables, another very handy thing for prototyping. Here is a minimal V-USB setup on an Arduino Pro Mini (atmega328p-based):
It's built on stripboard for minimal construction hassle. I put the USB connector on the bottom only because its pins unfortunately weren't long enough to go through the PCB. It mounted firmly and I put plenty of solder on the shell pins (which incidentally are properly *not* connected to ground). I had to drill larger holes for the shell pins to fit.
I arranged the components so that they are very flat, allowing the board to be plugged directly into a breadboard. I left some extra board around the edges which make this build a little wide for a breadboard.
One last improvement when I get the parts is a 500mA polyfuse. It'll go nicely between the +5V and USB connector after I drill the trace there out (just behind the current two drilled-out traces in the picture). Almost all are SMD and that will fit nicely there.
Parts to make at least five of these cost about $7 shipped on eBay (no way to just get the low quantities for just one).
USB male PCB connector
2x 3.6V 0.5W zener diodes
2.2k resistor
2x 68 ohm resistor
4p male header
stripboard (be sure picture actually shows the strips, as most does NOT have strips across the board)
USB "helper" for V-USB prototyping
-
- Posts: 15
- Joined: Sun Oct 28, 2012 1:41 pm
Re: USB "helper" for V-USB prototyping
Here is mine.
I have done several designs using V-USB. These have been done on the Mega8, Tiny2313, Tiny85 and Mega88 chips. To avoid the repeated exercise of doing a prototype for each processor I made a single pcb assembly that includes the USB connector for testing after code downloading, optional diode droppers from 5 volts to 3.3 volts, optional 3V6 zener diodes on the D+ & D- lines, a reset button, ISP interface to my Atmel dragon (or STK500) whose pins are then available for patching to the specific development chip, and a couple of crystals (12MHz and 16 MHz) with their load capacitors. This little board plugs into a breadboard and provides the ground and power rails while also providing the mechanical support for the pcb.
http://postimg.org/image/ubxopbp57/
Cheers,
Ross
uggg... how do I get the image to display in the post?
I have done several designs using V-USB. These have been done on the Mega8, Tiny2313, Tiny85 and Mega88 chips. To avoid the repeated exercise of doing a prototype for each processor I made a single pcb assembly that includes the USB connector for testing after code downloading, optional diode droppers from 5 volts to 3.3 volts, optional 3V6 zener diodes on the D+ & D- lines, a reset button, ISP interface to my Atmel dragon (or STK500) whose pins are then available for patching to the specific development chip, and a couple of crystals (12MHz and 16 MHz) with their load capacitors. This little board plugs into a breadboard and provides the ground and power rails while also providing the mechanical support for the pcb.
http://postimg.org/image/ubxopbp57/
Cheers,
Ross
uggg... how do I get the image to display in the post?
Re: USB "helper" for V-USB prototyping
Ross_ValuSoft wrote:Here is mine.
I have done several designs using V-USB. These have been done on the Mega8, Tiny2313, Tiny85 and Mega88 chips. To avoid the repeated exercise of doing a prototype for each processor I made a single pcb assembly that includes the USB connector for testing after code downloading, optional diode droppers from 5 volts to 3.3 volts, optional 3V6 zener diodes on the D+ & D- lines, a reset button, ISP interface to my Atmel dragon (or STK500) whose pins are then available for patching to the specific development chip, and a couple of crystals (12MHz and 16 MHz) with their load capacitors. This little board plugs into a breadboard and provides the ground and power rails while also providing the mechanical support for the pcb.
http://postimg.org/image/ubxopbp57/
Cheers,
Ross
uggg... how do I get the image to display in the post?
That's nice. I also have the STK500 so it's kinda useful to be flexible depending on how you're going about a project...
Re: USB "helper" for V-USB prototyping
blargg, you have designed an excellent PCB and I’m planning on doing the same thing except that I’ll use a small USB connector along with a cable, directly connected to the main board. Would you recommend putting these resistors and diodes on the main board? Also, I was reading recently that it is recommended to use 4.5V zener diode because a USB port operates at 4.5V. You have used 3.6V zeners, they’ll work because 3.6V is still a high signal but would you recommend 4.5V zener diodes or not?
china pcb assembly
china pcb assembly
Last edited by anders89 on Thu Nov 06, 2014 11:18 pm, edited 1 time in total.
Re: USB "helper" for V-USB prototyping
Not entirely clear on your question. I have USB extension cables coming up on my desk surface, so little male connectors are great instead of even more cables on things. I take it you're putting cables so they can reach to your PC. The point of the board is to make USB more prototype-friendly, allowing 5V signals to be usable directly from prototypes, without the level conversion. If you're building a permanent circuit, naturally you'd put all the USB level-conversion components on the same board as the rest of the components/chips, so you only need one PCB for the whole thing.
As for zener voltage, my circuit is just what's recommended on the wiki page for interfacing. My understanding is that 3.6V 500mA zeners have the desired voltage drop around 3.3V at the lower current they are run at. Their purpose is to convert the 5V level to 3.3V for USB signaling. The host already sends to you at 3.3V, so your AVR has to already interpret a 3.3V signal as high (the zener won't raise this at all). The 5V/4.5V the AVR runs at isn't relevant for selecting the zener voltage.
As for zener voltage, my circuit is just what's recommended on the wiki page for interfacing. My understanding is that 3.6V 500mA zeners have the desired voltage drop around 3.3V at the lower current they are run at. Their purpose is to convert the 5V level to 3.3V for USB signaling. The host already sends to you at 3.3V, so your AVR has to already interpret a 3.3V signal as high (the zener won't raise this at all). The 5V/4.5V the AVR runs at isn't relevant for selecting the zener voltage.