And presented in Dave's unique non-scripted overly enthusiastic style!
Shanghai Special – Dodgy USB hubs
Funny coincidence. I’ve had a cheapy usb hub and 2 of the 4 ports slowly died. Still powered up but all errors in dmesg. Took it apart and could not believe my eyes. Utter-crap. Didn’t even bother going any further and chucked it.
I dont think I have ever encountered a good usb hub!
I enjoyed both videos, the first was very interesting.
If you need an idea for a future episode: why don’t you delve more into why you do not like ceramic resonators?
Quite often, and actually prefer it to crystal resonators. It is faster, pre-balanced with capacitors, better package, and more apt to handle shock vibration than any crystal. I know there is a little more clocking error but it is minimal, on anything you would probably use it for anyways? I think its more per application. If you need high precision/speed communication, then I would use a crystal, and I have yet to use an application where it was unacceptable.
Although I am only just starting out in my Design career.
An example of what was acceptable, a project I recently did to graduate, I used a PIC18F4550 if you are familiar, and used a 20Mhz ceramic resonator because it was available. When you input 20Mhz to that uC I opted to use the chips fastest clockspeed. So I used internal hardware and PLL of the chip to effectively transform my clock:
Clock >> 20M >> 4M >>PLL=96M >> 48M >> CPU.
You would think this just propagated and expanded the initial error of the resonator and would have made my serial communication terrible, but I had no problems at all, even at the moderate speed I was communicating with my GPS module (38400 Baud)
Ceramic resonators are fine for general CPU usage and serial UART communications, but are not the best for USB communication for example.
With Serial UART communications can even get away with using the internal trimmed RC oscillator in todays micro’s, no need for any external parts at all.
You can actually get special ceramic resonators designed for high speed USB application (e.g. Murata Ceraloc), but generic ones are a dodgy choice.
Thanks for making such an easy to follow blog with practical information!
Do you have any suggestions for decent, low cost soldering equipment? I have a cheap Radio Shack iron that is OK for basic through hole stuff but no good for anything else. Trying to solder a LCC-8 package was a nightmare.
Without hesitation – the Hakko 936.
Anything from Hakko and Weller are good choices.
I am personally a Weller fan and have a WESD51. Thinnest Soldering pen I have come across.
I have read that SparkFun uses Aoyue brand which is also available on amazon. And from what i’ve seen for the price of a Goodiron and station, you can get an iron and a hot air rework setup.
Have any of you seen the Hakko FM-2026 Nitrogen Soldering System?
As far as I can tell, it strips Nitrogen out of the atmosphere and burns it, being hotter and ideal for Lead Free applications. Way too hardcore though.
Hi David, I recently stumbled across your website and have spent the past day or two watching all the videos. They’re great! Thanks for all the information. Reading over some of the comments others have made, it seems there are a lot of people interested in equipment reviews and recommendations (I know I am!). Perhaps you could do a segment on test equipment everyone who is serious about electronics should have, and recommend some entry level hardware. Things like oscilloscopes, power supplies, function generators and whatever else you think everyone should have in their lab. Just a suggestion of course.
Thanks again for great videos, I’m already looking forward to the next one!
I find myself frequently visiting this blog, hoping for an update. Fantastic to follow, always something interesting, and there’s very few good EE blogs out there, if any.
Speaking of oscillators, I don’t understand why Microchip have put RC oscillators on their dsPIC family and the “precision” oscillators on the lower-performance PIC18 family. PIC24 have both types. I’ve played with a dsPIC, and the frequency was way off… At the same time, the PIC18 chips were spot on. Is it the cost? I would assume more precision is needed on DSP applications, to get sample rates right… Or is nobody using the internal oscillator in the real world? (I’m a student)
I noticed on the cheap USB hub that all of the USB connectors have pin 1 (Vcc) tied in parallel. Each PC is supposed to supply some power to this pin. Connecting these all together seems like an extremely poor practice.
I just learned that many powered hubs bring out their wall wart voltage on the upstream port. Perfect for my project
but isn’t this insane from an EE point of view? Doesn’t current flow if there is the slightest potential gradient between the wall wart adapter and the PC’s 5 V line?
I love the differences shown between the cheapo soldered-in-the-back-alley glop-top USB hub and the higher-quality unit, which lacks the blob of epoxy around the IC’s and actually has decoupling/filtering caps (at least that’s what they LOOK like they are. They’re pretty large.)
Another fantastic video. Keep ‘em coming
I once bought a usb A->B cable for $1.80 at dealextreme, hooked up my homemade pickit2 with it, and found that it didn’t work that well.
So I started measuring on the thing, thinking that I made a mistake, and found that the 3.3 volt dspic I had on there only got 2.5 volts on its power supply.
Well that was a bit strange, so I measured the usb voltage and saw that it was only about 4 volts.
I hooked up another usb cable and with that one the usb voltage was fine.
Well maybe I had a broken usb cable, so I measured the resistance of the wires and found that all four of them had a resistance of 3 ohms, which is ridiculous for a 1.5 meter cable.
I didn’t cut the cable to see what’s inside, but I have a suspicion the manufacturer used iron instead of copper for the wires.
Some problems I have seen reported with cheap USB hubs:
– Wall wart doesn’t have enough current capacity to provide 500mA to all ports
– gets to hot
– Parts burn up
– Damages upstream and/or downstream devices.
– Connected 5V to a 3.3V max logic input
– diode in series with upstream 5V (for self powered hub mode) is replaced with zero ohm resistor allowing hub to send power into your computer.
– Diodes with large voltage drop used for self power
I have also had power jack failures on expensive hubs that weren’t subjected to much stress.
Also almost all USB hubs out there only have one transaction translator. There are only a few multi-tt hubs on the market. This means that all USB full speed devices are limited to 12Mbps total instead of 12Mbps per port due to the bottleneck at the transaction translator. While mass storage devices, web cams, ethernet, wifi, and similar devices may use high speed, many devices are limited to full speed because that is all most microcontrollers offer. So your oscilloscope, logic analyzer, jtag pod, usb audio, etc. might be fighting over 12Mbps.
Worse yet, the USB ports on your computer may only have one EHCI controller and one OHCI (or UHCI) controller so all your High Speed devices are limited to 480Mbps total and your Full Speed devices are limited to 12Mbps total.
And on USB 3.0 superspeed, the VINCHIP VUSB30HUB hub chips route the superspeed separately and you don’t get multiple high speed ports running at full speed supported by superspeed upstream. And your full speed devices are hampered by only one transaction translator. So you won’t be able to plug in multiple High Speed HD webcams for multiple angle processing via your superspeed hub.
There is at least one hub with physical power switches on each port but haven’t seen that feature in a USB 3.0 hub or a Multi-TT hub. Many usb hubs don’t support per port software switching either. For those that do, there is a little libusb based utility here that allows controlling power.
The USB charging spec allows for hubs/hosts with “charging downstream ports” which put specific ccoltages on the data lines emulating a USB charger. Allows drawing more than 0.5A and could allow charging while computer is off. Not supported by most hubs.