Continue to Site

Welcome to

Welcome to our site! is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

usb not recognized with pic18f4550

Not open for further replies.


Member level 2
Apr 1, 2011
Reaction score
Trophy points
Activity points
i have a strange problem with my pic
i did write a program with Mplab that can receive information from usb of my pc with vbnet application
when i simulated it on ISIS every thing works just fine but with real component and pic18f4550
it gives me USB not usb not recognized,when i press the reset button of pic18f4550 that i had programmed it works
just fine and my LCD shows the data that i send from my pc
that mean that the program is fine but what driving me crazy is that when i plug in my USB cable My PC does not recognized
same one can tell me what's the problem
I'll be thankful

You plug in the device, PC says "Device not recognized". You press reset to reload and the same code and now your device works fine. Is this what you're saying?
Is this a circuit you constructed yourself?

If so, do you have a 470nF capacitor from Vusb to ground?

---------- Post added at 09:48 ---------- Previous post was at 09:44 ----------

Also do you have the internal pull-ups enabled on D+ and D-? Or are you using external pull-up resisters instead? However, do not use both internal and external pull-ups.

yes i made the circuit myself and i have 470nf capacitor on pin18,vusb, to ground
am using just internal pull_up
i try to plug usb without connecting my lcd and it gives me usb not recognized
it could be from my lcd is malfunctioning?

I would presume that you are using a bootloader with you PIC. Microchip provides two type of bootloader MCPH and USB HID and their drivers.
I haven't used the USB HID bootloader, but I have extensive experience with the MCPH one, if you are using the standard bootloader and drivers, then in order to make the PC recognize your PIC, you need the keep the bootloader button pressed or short it to ground. The bootloader button is located at B5, or B6 or B7.

If you are using the same setup of bootloader then you may like to check ps3jailbreak scene, as the dongles use the bootloader extensively.
Also you should confirm that -USB and +USB are connected in right order, often if the connections are reverse, PC gives the device not recognized error.

am not using a bootloader, just i put my .Hex file threw a programmer and winpic800

i try to plug usb without connecting my lcd and it gives me usb not recognized
it could be from my lcd is malfunctioning?

I doubt it, considering that you have described the system as functioning properly if the reset button is pressed. However, depending on how your code is written, polling or an ISR may prevent proper initialization.

Perhaps you should upload or post your code so that one of us could take a look at it. It would appear the circuit design is correct, but if a schematic is available post or upload it as well.

The host would expect the device to respond 100ms from the time it connects the pull-up on the line.
I've seen bus-powered designs (Cypress FX2 used to run into this issue if the reset circuitry timing was high) run into issue if the device is not ready to respond by this time. This would lead to device enumerating with VID and PID 0000 and windows will complain about unrecognized device.
Between plugging in and powered-reset this is one difference that might exist. You might want to check out this possibility as well.

Not open for further replies.

Part and Inventory Search

Welcome to