CDC Serial /Mode pin resetting - starting irregularly

So could I get some instructions for a Newbie to use USB client without debugging. I have no rs232 shield.
I am on FEZ PANDA 2. The serial mode starts sometimes and sometimes not- what am I missing?

a) Program is installed by debugger. My program waits to get out of usbdebugger mode ( ie after I have reset the panda), then starts CDC
b) I put 1k resistor between mode and ground, and 1k resistor between com rx and 3v3.
c) I reset by pressing loader /reset

OK and this is where I am confused… I feel I have to unplug the usb connection for the serial port to be recognised on my pc (windows7), but I haven’t quite worked it out… I go through some random cycle of resetting / unplugging and eventually teraterm recognises the serial link.

here is code snippet
public static void Main()
OutputPort led = new OutputPort((Cpu.Pin)FEZ_Pin.Digital.Di51, true);

while (Configuration.DebugInterface.GetCurrent() ==

// Start CDC
USBC_CDC cdc = USBClientController.StandardDevices.StartCDC();

When you said that windows does not recognize the cdc port, do you mean that nothing appears in the device manager? is there still the GHI debugging interface( this should not be the case), is there a message saying that the usb device is not recognized?

What is the driver you are using? is it still usbser.sys on windows 7?


yes nothing appears in device manager. I don’t know about the driver ( don’t have it here now), but the serial CDC does work sometimes…i just haven’t worked out what is the right chain of commands to get it working consistently every time i reset.

in particular i guess i want to check that
Configuration.DebugInterface.GetCurrent() ==Configuration.DebugInterface.Port.USB1

will fail when I have reset the panda with the mode pin set low and ( rx set high) ( so that my program will then go on to start cdc)

I think windows doesnt check for new USB devices unless you disconnect it and connect it again. When you load the program the Fez is recognzed as a .NETMF device and its there as long as you dont disconnect it. You should disconnect it and then reconnect again for windows to negotiate the kind of USB drivers to use.

You could also use CDC with debugging and dont need to change the debugging mode to serial if only cdc needs to be used.

You should not have to disconnect and reconnect. From the device manager you “Re-scan for Devices” this will cause the same scan/negotiate sequence.
It on the action menu or F5


Thanks for your suggestions…I want to avoid connecting and disconnecting the usb every time I do a new debug session.
f5 on device manager doesn’t seem to do the trick.

what seems to help is pressing the RESET button on its own…

so at the moment what I do is

press ldr + reset, release reset, release ldr

check device manager.
for CDC
if not there press RESET ( ie without loader)

any ideas why this should work… ? don’t know of any documentation on RESET button (I’m a newbie!) just the LDR, reset combo

similarly even when I see cdc serial in device manager, i don’t see it in tera term ( ie I don’t have the serial connection option …“CDC usb …”)
pressing RESET on my board seems to do the trick!!!

Anyway my program ends up running ( I am controlling remote control car ( controller) with speech recognition on PC by sending the commands via cdc serial to my panda )

Hey Sean,

the split CDC with debugging that you can do today is not a long term solution. The CDC mode is fine, the debug over USB is fine, but they won’t be supported over the same link moving forward. So my suggestion is to look at an additional serial debugger as well.

One other comment; the symptoms you describe kind of ties back to a “tight loop” scenario, where the VS debugger can’t attach to the debugger running on the hardware. Some times adding a short wait at the very start of your app will assist here.