chipKIT® Development Platform

Inspired by Arduino™

DIY USB connections incorrect

Created Mon, 15 Jun 2015 03:38:41 +0000 by dwwolfe


Mon, 15 Jun 2015 03:38:41 +0000

Hello everyone,

I'm just getting started with the chipkit ecosystem by building a breadboard chipkit with the DP32 bootloader. I was having a lot of trouble getting the PC to install the correct drivers and was unable to get any communication working when I stumbled onto some errors in the DIY build instructions (

I'm not sure if this is strictly necessary, but pin 15 (Vbus) is not described as being connected. It seems like this should be hooked up to 5V from the USB? This is the case on the DP32 schematic

Also, the image describing the USB data line connections appears to have the D+ and D- labels inverted:

The breadboard wires show D- going to pin 22 which agrees with the PIC32MX250F128B datasheet but the red text shows D+. I spent quite a while trying to figure out why my breadboard chipkit wouldn't connect! Windows was saying a USB device malfunctioned and kept assigning it an 'unknown device' driver. After switching the data lines around it worked perfectly

Additionally I was able to flash the bootloader easily using a pickit2 and the pic32prog command line utility. That may be some useful info to add to the tutorial in case some users are starting out with blank PICs or have overwritten/corrupted their bootloaders. There are a lot of pickit2 programmers out there and the pickit3 does not seem to be as beloved


Mon, 15 Jun 2015 08:47:55 +0000

Yep, those wires certainly look confused to me. And yes, VBus would normally be linked to V+ on the USB.

I shall add that page to the list of documentation that needs overhauling.


Tue, 02 Aug 2016 14:07:43 +0000

The chipkit page is still not updated. Only the schematic indicated conncetion of pin 15 (VBUS) to VSUPPLY (5V from USB).

Also, on that chipkit-diy schematic... what is USBID? On schematic PICs USBID is connected to USB connector USBID. But my USB connector dont have USBID pin, it has only VCC, GND, D+ and D-. What should I do with the USBID pin of PIC32MX250F128B?


Tue, 02 Aug 2016 15:18:34 +0000

USBID is used (maybe one day) for auto-switching between USB OTG's device and host modes. There is no host mode support at the moment, so that is irrelevant. On mini and micro connectors it connects to pin 4. You can ignore it. It's not actually used yet.

Maybe one day it will be supported, but it will never be required.