Installing the USB Driver on Windows & Serial Debugging

No matter what I try on Windows 7 Professional 32-bit, I cannot get my serial over USB to work for debugging programs.

I can only make it work when the Core is in listening mode (slow blue flash).

Any time I try to use the Arduino IDE’s serial monitor or Tera Term VT, it complains that the port is in use already. Putty just dings at me and doesn’t work for squat even with my FTDI Friend. FTDI friend works on Arduino IDE serial monitor and Tera Term VT pretty well!

Another thing I noticed with the USB serial driver. When my Core is connected to USB and the spark_core.inf driver is loaded, if I plug in a USB drive my system will not recognize it until I unplug my Core. Likewise if I load the USB drive, and then plug in the core and THEN unplug the USB drive, windows will not update and show me that the USB drive has been removed until I unplug the core. It’s like the spark_core.inf driver is completely taking over the usb. What’s the deal with this?

BTW I have ditched the Spark Core cable and have been using a different one just in case that is the problem. I don’t think so though because it does work in listening mode. FWIW, my spark core cable never worked in listening mode.

I have also tried disabling the spark_core.inf driver after booting the core, opening Tera Term VT, and then re-enabling the driver. However… for some reason when I go to disable the driver, it just hangs forever with the hour glass symbol. If I disconnect the core from my computer the hour glass goes away and the driver gets disabled. So that’s not going to be a good work around for me :smile:

I have also tried delaying the beginning of Serial.begin(9600); for 20 seconds, at least I think it might work… but for the life of me today I cannot get my core re-flashed from the cloud to try it. It always hangs at some point during the programming and I get a solid magenta or LED off. After a minute it will reset itself and boot with the last known good app.

Here’s the 20s delayed app:

int counter = 0;
bool serial_enabled = false;
uint32_t lastTime = millis();
void setup()
{
  pinMode(D7,OUTPUT);
}
    
void loop() 
{
  if(millis() - lastTime > 20000) {
    Serial.begin(9600);    // open serial over USB
    serial_enabled = true; // enabled! Let's start logging!!
  }
  if(serial_enabled) { 
    Serial.print("Spark Core says Hello over USB! ");
    Serial.println(counter++);
  }
  digitalWrite(D7,HIGH);
  delay(100);
  digitalWrite(D7,LOW);
  delay(100);
}

I’d love some help getting Serial over USB working!