Some USB-interfaced equipment simply will not properly establish a connection if physically connected during the boot-up process of windows. This means that every time the computer is restarted you need to unplug and replug the USB device. If the computer is operated and power-cycled remotely then there is no simple way of reestablishing a connection to the equipment. It's frustrating! You try everything you can in the bios relating to power settings and the USB controller, but nothing works!
This device introduces a time delay before relays are engaged that connect the power and data lines to the USB-interfaced equipment. Previously made for work purposes, this new version is much cheaper and controlled by a microcontroller. The aim is cost savings with an emphasis on small-scale mass production and an appealing look. It cannot be a solder kit or sold without an enclosure, as the target audience (IT professionals) will not buy it.
Finally, after delaying and getting the parts, I finally have a programmer for the TPI interface of the Attiny5 that doesn't require a header on the PCB! Behold!
Here it is before stuffing it together:
Here it is with the probes, etc. before assembly:
So here's how it works simplified. There are 5 pins needed from the AVR Ice programmer to the Attiny5 TPI interface:
Clock --> Use a probe needle Data --> Use a probe needle Reset --> Use a probe Needle GND --> Clip the GND clamp of one of the probes to the chassis of the device. Target Voltage --> Hopefully overridable in AVR studio? If not I'll split open the USB cable and give it 5V. This way it's basically forced to 5V logic levels.
I've tested it and it is quite easy to stick up to three oscilloscope probes into the pads of the Attiny5 without having any other dedicated space (I've run out!).
Also, this is an excuse to make a box that I'll use in the future. I can't believe TPI wasn't supported by the piles of only-just-slightly-to-old programmers I had lying around...
Well, here it is. The first board has been assembled which will now allow me to write and debug the micro controller code. Once this has been done I can send off the hex file for Digikey to pre-program onto the micros to avoid the programming problem.
But first to make a jig to align pins to actually connect to the micro-controller...
The parts for the first assembly of V2 are here! There's enough for 5 assemblies. Goals are: -->Do they work? -->Write microcode/verify -->Is the LED useful? (looking for parts to remove). -->Design new enclosure.
I have a usb mechanical keyboard which about half the time requires a usb reconnect after boot to become responsive. Would love one of these to solve this once and for all! (Currently got a magnetic quick disconnect port on the keyboard which I can give a quick tap to disconnect/connect, but it still requires a daily manual operation.)
Thanks for the share, I might have to build one of these. On some 3D printers the boot sequence is USB > SD > internal. Running something like klipper connected to a server, you have to unplug on every power up. I am sure something could be written in software but I prefer hardware solutions. I was researching if it has been done before and you and one other guy from what I found. Awesome work dude
I love this concept! Wondering if it would be able to be used on a USB power adapter for delaying the powering on of a 9W USB powered device after a power failure...
Sorry I haven't worked on this, but if it were complete, yes it would.
Version 1 would not function this way due to a minimum off time requirement, but version 2 with the micro would easily be able to perform this (for USB 2 and below speeds) at 5V.
I would love something like this! If I could delay turning a USB display I have on in my PC for ~20 seconds it would make my monitoring system look so seamless!
Wow, I love this project. This is exactly the type of thing I need for a project (Arcade1Up generation 1 PCB's have some bug that doesn't initiate the USB port when it has something plugged in during startup... annoying!).
Sorry it's been a while, life is busy. Going to try and get back into this project since some people have expressed interest in obtaining one. I remember when I originally had this problem and was frustrated by the lack of solutions for such an obvious fix. It may be that IT equipment/rack mount guys and electronics guys just don't overlap enough to produce this solution.
Try clicking on the white background of the pdf after it loads and you enable features, it comes up initially white for me as well (it's a 3d pdf).
I'm disconnecting all 4 lines. I did consider only power, but I was worried that the data lines may pull up or pull down something and hold the host controller in a state that assumes something is connected.
hi. pdf file is blank. so you delayed the power lines, not the data lines of the usb connector? I did some test delaying the data lines only without good results so i switched on and off all 4 wires at the end.
I have a usb mechanical keyboard which about half the time requires a usb reconnect after boot to become responsive. Would love one of these to solve this once and for all! (Currently got a magnetic quick disconnect port on the keyboard which I can give a quick tap to disconnect/connect, but it still requires a daily manual operation.)