BC-USB-Kit Manual


BC-USB-Kit is a USB-gadget development kit, which is equipped with a micro controller of Microchip Technology Inc, PIC24FJ128GB202 (hereafter PIC) as MCU (Micro Control Unit). To use IDE and other PIC development kits, which are provided by Microchip Technology Inc, you and develop and debug firmware for USB gadgets on BC-USB-Kit.

Besides the USB connector, BC-USB-Kit is equipped with an EEPROM, a humidity and temperature sensor, a programable LED, and a programable switch. To use these on-board sensors, LED, and switch, you can develop an original USB gadget easily. Moreover, since BC-USB-Kit has expansion terminals (pins) including PIO and I2C, you can easily attach external sensors and display units for expanding the functions.


Simplified Block Diagram

The simplified block diagram of BC-USB-Kit is shown below.
※ EEPROM and the humidity and temperature sensor is connected via I2C.
※ Because of Peripheral Pin Select (PPS), (re)mapping function of PIO, many devices can connect to the peripheral circuit, which is built into PIC.
※ The modes that this USB 2.0 supports are Low Speed and Full Speed.

Names of Parts

The names of major parts of BC-USB-Kit

1ICSP Connection TerminalsJ2Terminals that are connected to ICD3 and PICKit3
2Reset ButtonSW1A switch for resetting PIC
3User Programable ButtonSW2A user programable switch
4User Programable LEDD1A user programable LED
5Expansion Terminals (Pins)J1To connect to other external devices for expansion
J1 terminals are paired with the opposite side of pins
6USBTypeA Connector (Male)P1A connector that connects to a USB port of PC
7LED Power IndicatorD2LED that indicates power supply
(users are not accessible)
8PIC Micro ControllerU1PIC24FJ128GB202 micro controller
9EEPROMU21Mbits EEPROM via I2C access
10Humidity & Temperature SensorU3Humidity & temperature sensor via I2C access

※ LED power indicator (D2) eliminates as power is supplied.
※ Reset Button (SW1) is connected to the reset of PIC. Once you push down the button, PIC is reset.
※ Number 1 to 6 terminals (pins) at J1 are paralleled to Number 1 to 6 terminals (pins) at J2.
   Please use only either pins at J1 or J2. (Never use both these pins of J1 and J2, simultaneously.)
※ To use the terminals at J1 with a bread board, DIP-28P (a connection IC socket 28P) is required.

Pin (Terminals) Assignment

BC-USB-Kit has a set of DIP-28 pin size connection terminals and a set of 6-pin pin-header size connection terminals.

Expansion Terminals

BC-USB-Kit has J1, a set of expansion terminals, and J2, a set of ICPS connection terminals.
J1 terminals are expansion terminals and capable of ICSP function. J2 is specifically designed for ICSP connection.
The through-holes of J1 expansion terminals are placed at the same size (location) as the 600mil-width DIP-28.
To use J1 expansion terminals, you can solder the DIP-28 connection IC socket to J1 expansion terminals.
To attach DIP-28P IC socket, J1 expansion terminals can work with a 2.54mm pitch universal board or a bread board.


ICSP terminals are allocated to J1 and J2 in parallel.
SW1 is attache to the reset terminal. To push it down, MCLR becomes L level, and PIC will be reset.
As The ICSP connection terminals are available at some terminals of J1 expansion terminals and J2 ICSP connection terminals,
connect PICKit3 or MPLAB ICD3 for programming and debugging firmwares.
The number 1 ~ 6 terminals of J1 expansion terminals are parallel to J2 ICSP connection terminals.
Please use either one set of ICSP terminals when you connect to either PICKit3 or MPLAB ICD3.
Once you have attached at the one set of the terminals, DO NOT attach anything at the other set of ICSP terminals.
If you had attached to both sets of ICSP terminals, the programming and debugging process become unstable, nor the whole system does not work at all.


The USB connector of BC-USB-Kit supports USB 2.0.
D-/D+ of the USB connector are attached to the PIC micro controller.
To make the built-in USB module inside PIC effective, you can use the USB connection.
USB connection speeds that the PIC micro controller supports are Low Speed and Full Speed. USB-ID is allocated to the 11 terminal at J1.
USB-ID us not allocated to the on-board USB connector USB-ID.
When you need to allocate USB-ID, please use the 11 terminal at J1 or implement R5 (0Ω) and fix USB-ID.
If the voltage of power, which is supplied form the USB connector, exceeds the operating rating, the power supply is shut down by the over-voltage protection IC.


BC-USB-Kit is equipped with EEPROM and the humidity and temperature sensor on board, and these are connected to built-in I2C2 module inside PIC.
Because of these connections, the terminals of I2C2 are reserved to I2C devices and cannot be used for other devices.
The lines of SDA/SCL are pulled up by a 3.3kΩ on board resister.
To connect BC-USB-Kit to external devices, please use the listed four pin connectors at DIP-28. Since these pins are lined side by side, you can effortlessly access to the pins.

EEPROM is a 1Mbit serial ROM. Its I2C device addresses are fixed at 0x50 and 0x51.
The I2C device address of the humidity and temperature sensor is fixed at 0x40.
When you add I2C devices externally, please avoid these reserved I2C addresses.

Pin # at J1NameMemo
7VIO3.3V power supply
8SCLI2C clock
9SDAI2C data


BC-USB-Kit uses UART at 3.3V -CMOS level.
To use Peripheral Pin Select (PPS), I/O pin mapping function of PIC, the lines are allocated for devices.
These terminals can be assigned for other functions if UART function and hardware flow are not specified at these terminals.
To assign pins for UART, the mapping listed below is recommended. To use the mapping, you can access the pins, which are lined side by side.
If you wish to use other pins, you can assign other pins to UART.
To use UART1, please refer the configurations of resisters listed in the table below.

Pin# at J1NameResistorValueMemo

Analog Input

To use ADC, which is built inside the PIC micro controller, BC-USB-Kit can do AD conversion.
The pins listed below are assigned for analog inputs of BC-USB-Kit.
Since the reference voltage terminals are assigned for other tasks, these are not available for BC-USB-Kit.

Pin# at J1Name

Secondary Oscillator

BC-USB-Kit does not have any secondary oscillator.
To use a secondary oscillator, please input 32768Hz clock at the 26 pin.

Primary Oscillator

The 24MHz crystal oscillator is attached to OSCI/OSCO terminal.
To use this on-board crystal oscillator for the USB function, please configure that 48MHz clock is provided for the USB module , which is built in the PIC micro controller.


Schematics and Layout drawing

The schematics and layout drawing of BC-USB-Kit is listed at the end of Japanese version of BC-USB-Kit Manual)

Also, PDF version of this article is also listed below. Please feel free to download it.

Revision History

Front page   New List of pages Search Recent changes   RSS of recent changes