Information
chipKIT™ WF32™ Board Reference Manual 
Copyright Digilent, Inc. All rights reserved. 
Other product and company names mentioned may be trademarks of their respective owners. 
Page 9 of 24 
different USB ports on the same host, or to USB ports on two different hosts. If the WF32 board is connected to 
two different USB hosts simultaneously, there will be a common ground connection between these two hosts 
through the WF32 board. In this case, it is possible for ground current to flow through the WF32 board, possibly 
damaging one or the other USB host if they do not share a common earth ground connection. 
When the WF32 is operating as a bus powered device using USB connector J1, it will appear as a self-powered 
device from the perspective of a USB host connected to J12. Similarly when operating as a bus powered device 
from connector J12, it will appear as a self-powered device from the perspective of connector J1. 
A USB host is expected to be able to provide bus power to USB devices connected to it. Therefore, when operating 
as a USB host, the WF32 should normally be externally powered. Connect a power supply to the external power 
connector, J17. It is possible to operate the WF32 as a USB host powered from USB connector J1, however in this 
case, the host USB port will be providing power for the WF32 as well as the USB device connected to the WF32. In 
this case, ensure that the total load does not exceed the 500mA maximum load that a USB device is allowed to 
present to the host. 
The USB host provides regulated 5V power to the connected USB device. The internal 5V LDO regulator can be 
used to provide the USB power when operating from an external power supply. Place shorting blocks on jumper 
block J16 as described above in the power supply section. 
If the external power supply being used is a regulated 5V supply, place a shorting block between pins VU and 5V0 
on connector J16 as described above in the power supply section. 
The power supply used must be able to supply enough current to power both the WF32, and the attached USB 
device, since the WF32 provides power to the attached USB device when operating as a host. The USB 2.0 
specification requires that the host provide at least 100mA to the device. 
Jumper JP10 is used to route power to the host connector being used. Place the shorting block in the “A” position 
when using the standard USB type A (host) Connector (J13). Place the shorting block in the “AB” position for use 
with the USB micro-AB (OTG) connector (J12). 
When operating as a USB host, the PIC32MX695 microcontroller controls application of power to the connected 
device via the VBUSON control pin (labeled VBUSON in the schematic). Bus power is applied to the USB bus by 
driving the VBUSON pin high. Power is removed from the bus by driving the VBUSON pin low. The VBUSON pin is 
accessed via bit 3 of the U1OTGCON register. The VBUSON signal is shared with same microcontroller pin as analog 
input A. When operating as a USB host, this pin is not available as an analog input or general purpose I/O pin. 
The VBUSON pin drives the enable input of a TPS2051B Current-Limited Power Distribution Switch to control the 
application of USB power to the host connector. This switch has over-current detection capability and provides an 
over-current fault indication by pulling the signal USBOC low. The over-current output pin can be monitored via 
the INT3/RA14 pin on the PIC32MX695 microcontroller. This signal appears on connector J7, pin 1 on the board, 
and is chipKIT digital pin 8. Details about the operation of the TPS2051B can be obtained from the data sheet 
available at www.ti.com.  
Both the VBUSON and the INT3/RA14 signals connect to the TPS2051B through jumpers JP11, and JP9, 
respectively. When operating as a USB host, both jumpers should be shorted with shorting blocks. Pin A7 will be 
unusable as an analog input and will be driven as an output. To monitor the over-current output pin of the 
TPS2051B, us the attachInterrupt() function to set INT3/RA14 (pin 8) as an external interrupt. 
The PIC32 USB controller can be accessed using the chipKIT USB libraries for use within the MPIDE environment. 










