Reply To: PC fails to boot when kinect is left plugged in USB port

Home Forums AR Sandbox Forum PC fails to boot when kinect is left plugged in USB port Reply To: PC fails to boot when kinect is left plugged in USB port

#113056
liudr
Participant

Code is simple. The board doesn’t have a USB serial port to connect to arduino IDE or a 16MHz crystal so it needs to be flashed via the ICSP header with 8MHz internal oscillator option. You can’t hand solder the board. It needs to be reflowed. My version 1 had a relay to connect USB and it took a bigger box to fit everything inside. This version uses a dedicated USB switch IC to connect USB after the 10 (not 8 sorry) second delay. The parts and reflow work isn’t beginner level. If you were selling the sandboxes, you should get one made for you. I know how hard school budgets can be. I made one for myself and have spare parts for more. If you want to make your own version with arduino and relay shield/module, you can too. You need a relay shield or module that has at least two relays to connect the two USB data lines. Salvage an old USB mouse for its cord and pass the data lines through the relays. Use AC adapter to power arduino. Then you still have to salvage a USB extension cord so you can connect to kinect. It took me maybe 2 hours once I had everything else ready to go but I’m very good at these things. And it’s just gonna look bulky 🙂

/*
* Credit: Dr. John Liu
* Purpose: This sketch delays the connection of a USB device to host PC by delay_ms amount of time so that it may not be detected by BIOS, which may freeze.
* 2018-01-12
*/
// USB delay connect
//D2 controls selection
//D3 controls !OE
//Delay the pass through of D+ and D- for delay_ms before connecting, after power up.
const unsigned long delay_ms=10000;
void setup()
{
digitalWrite(2,LOW);
digitalWrite(3,LOW);
pinMode(2,OUTPUT);
}

void loop()
{
delay(delay_ms);
pinMode(3,OUTPUT);
while(1){}
}

Comments are closed.