Pullman, WA 99163
509.334.6306
www.digilentinc.com
chipKIT Cmod™ Reference Manual
Revised November 6, 2013
This manual applies to REV E of the board.
Copyright Digilent, Inc. All rights reserved.
Other product and company names mentioned may be trademarks of their respective owners.
Microchip® PIC32MX150F128D microcontroller
(40/50 Mhz 32-bit MIPS, 128K Flash, 32K SRAM)
Convenient 600-mil, 2x20-pin DIP package
5V – 12V recommended operating voltage
33 available I/O pins
Two user LEDs
PC connection uses a USB A to micro B cable (not
included)
13 analog inputs
3.3V operating voltage
Two Pmod connectors for Digilent peripheral
module boards
Overview
The chipKIT Cmod is a chipKIT/MPIDE compatible board from Digilent. It combines a Microchip®
PIC32MX150F128D microcontroller with a convenient 600-mil, 40-pin DIP package and two Digilent Pmod
connectors. Digilent’s Cmod boards are ideally suited for breadboards or other prototype circuit designs where the
use of small surface mount packages is impractical.
The chipKIT Cmod takes advantage of the powerful PIC32MX150F128D microcontroller. This microcontroller
features a 32-bit MIPS processor core running at 40Mhz, 128K of flash memory, and 32K of SRAM data memory.
The chipKIT Cmod can be programmed using the Multi-Platform Integrated Development Environment, MPIDE, an
environment based on the open source Arduino IDE modified to support the PIC32 microcontroller. The board
provides everything needed to start developing embedded applications using the MPIDE.
The chipKIT Cmod is also fully compatible with the advanced Microchip MPLAB® IDE. To develop embedded
applications using MPLAB®, a separate device programmer/debugger, such as the Digilent chipKIT PGM or the
Microchip PICkit™3 is required.
Features Include:
chipKIT Cmod™ Reference Manual
Copyright Digilent, Inc. All rights reserved.
Other product and company names mentioned may be trademarks of their respective owners.
J3 USB Connector for USB Serial Converter
JP2 Microchip ICSP Connector
J1-J2 Digilent Pmod Connectors
DIP Pin 1 External Power Connector
DIP Pin3 USB 5.0V Power Connector
1 Functional Description
The PIC32MX150F128D microcontroller features a 32-bit MIPS processor core capable of running at up to 50 MHz.
When used with MPIDE, thechipKIT Cmod operates the microcontroller at 40Mhz by default. The microcontroller
features 128 KB of flash program memory and 32 KB of SRAM data memory. Programming the chipKIT Cmod can
be done using the Multi-Platform Integrated Development Environment (MPIDE) or with the advanced Microchip
MPLAB® IDE with the addition of a PICKit3 or chipKIT PGM in-system programmer/debugger.
The chipKIT Cmod provides 33 I/O pins located on the 40-pin DIP package. Some pins share functions with the
onboard circuits such as the on-board LEDs, the UART data lines used by the USB serial converter, or the Pmod
connectors (see the schematic for details). If these peripherals are needed in the design, then the microcontroller
can be reconfigured to allow these pins to be used for other purposes. Thirteen of the digital I/O pins can also be
used as analog input pins.
The PIC32MX150F128D microcontroller supports peripheral functions such as UART, SPI, and I2C, as well as pulsewidth-modulated outputs. To use the peripheral functions the PIC32MX1xx family of microcontrollers features a
mappable I/O system called peripheral pin select (PPS), which allows select peripheral functionality to be mapped
to multiple pins on the device. The default chipKIT Cmod board support files provide a specific mapping of
peripheral functions to microcontroller pins. This default pin mapping can be over-ridden by the user’s sketch if a
different mapping is desired.
1.1 ChipKIT Cmod Hardware Overview
chipKIT Cmod™ Reference Manual
Copyright Digilent, Inc. All rights reserved.
Other product and company names mentioned may be trademarks of their respective owners.
2 ChipKIT Cmod Hardware Description
MPIDE and USB Serial Communications
The chipKIT Cmod board is designed to be used with the Multi-Platform IDE (MPIDE). The MPIDE development
platform was created by modifying the Arduino™ IDE. It is backwards-compatible with the Arduino IDE.
The MPIDE uses a serial communications port to communicate with a boot loader running on the chipKIT Cmod
board. The serial port on the board is implemented using an FTDI FT232R USB serial converter. Before attempting
to use the MPIDE to communicate with the board, the appropriate USB device driver must be installed.
The chipKIT Cmod uses a standard micro-USB connector for connection to a USB port on the PC. A USB-A to MicroB cable, not supplied, is used to connect the board to a USB port on the host computer.
When the MPIDE needs to communicate with the chipKit Cmod board, the board is reset and starts running the
boot loader. The MPIDE then establishes communications with the boot loader and downloads the program to the
board.
When the MPIDE opens the serial communications connection on the PC, the DTR pin on the FT232R chip is driven
low. This pin is coupled through a capacitor to the MCLR pin on the PIC32 microcontroller. Driving the MCLR line
low resets the microcontroller, restarting execution with the boot loader. See the net labeled P32_RST in the
schematic for further detail about this connection. The P32_RST net is also brought out to DIP pin 9.
Two red LEDs (LD1 and LD2) will blink when data is being sent or received between the chipKIT Cmod and the PC
over the serial connection.
Power Supply
The chipKIT Cmod is designed to be powered via USB (J3) or from an external power supply connected to pin 1 of
the DIP package.
The chipKIT Cmod has a single voltage regulator which regulates either 5V from USB, or a maximum of 15V
external voltage. A series diode between the DIP pin 1 (VIN) and DIP pin 3 (USB5V0) prevents an external voltage
applied to pin 1 being fed back onto the USB 5V supply when powering the board via DIP pin 1. All power supply
options are regulated to 3.3 V to provide power to the VCC3V3 bus that powers the PIC32 microcontroller. The
output of the on-board 3.3V regulator is available at DIP pin 2 and can be used to power external circuitry.
The 3.3V regulator is a Microchip MCP1703. The regulator is rated for a maximum output current of 250mA. The
absolute maximum input voltage for the MCP1703 is 16V. This regulator has internal short circuit protection and
thermal protection. It will get noticeably warm when the current consumed by the VCC3V3 bus is close to the
250mA maximum.
5V Compatibility
The PIC32 microcontroller operates at 3.3V. There are two issues to consider when dealing with 5V compatibility
for 3.3V logic. The first is protection of 3.3V inputs from damage caused by 5V signals. The second is whether the
3.3V output is high enough to be recognized as a logic high value by a 5V input. When driving a high impedance
input (typical of CMOS logic), the output high voltage from the PIC32 microcontroller will be close to 3.3V. Some
chipKIT Cmod™ Reference Manual
Copyright Digilent, Inc. All rights reserved.
Other product and company names mentioned may be trademarks of their respective owners.
5V devices will recognize this voltage as a logic high input, and some won’t. Many 5V logic devices will work
reliably with 3.3V inputs. Please check the datasheet for the 5V components you are using to ensure that 3.3V will
satisfy the logic high conditions for the components.
Some of the digital I/O pins on the PIC32 microcontroller are 5V tolerant. The analog capable I/O pins are not 5V
tolerant. The following pins are 5V tolerant: 4-11, 14-15, 27, 31, and 33-38. The other pins are not 5V tolerant and
5V signals should not be applied to those pins. All I/O pins have a 200 ohm resistor in series between the
microcontroller pin and the connector pins to provide short circuit protection. These resistors will limit the output
drive strength of the pins to approximately +/- 2mA.
PmodTM Connectors
The chipKIT Cmod has two connectors for connecting Digilent Pmod peripheral modules. The Pmod connectors,
labeled J1 and J2, are 2x6, female pin header connectors.
The Pmod connectors on the chipKIT Cmod are both twelve-pin connectors. The connectors use standard pin
headers with 100-mil spaced pins. The twelve-pin connectors have the pins in a 2x6 configuration.
The twelve-pin connectors provide eight I/O signals, two 3.3V power pins, and two ground pins. The twelve-pin
connectors have the signals arranged so that one twelve-pin connector is equivalent to two of the six-pin
connectors. Pins 1–4 and 7–10 are the signal pins, pins 5 and 11 are the ground pins, and pins 6 and 12 are the
power supply pins.
The pin numbering that Digilent uses on the twelve-pin Pmod connectors is non-standard.
The upper row of pins are numbered 1–6, right to left (when viewed from the end of the connector), and the lower
row of pins are numbered 7–12, right to left. This is in keeping with the convention that the upper and lower rows
of pins can be considered to be two six-pin connectors stacked.
It is important to note that the Pmod connectors on the chipKIT Cmod are rotated 180 degrees in relation to each
other. Pin 1 of each Pmod connector is marked on the board. When viewing the top of the board, pin 1 of Pmod
connector J2 is the upper right pin, and pin 7 is immediately below it. For Pmod connector J1, pin 1 is in the lower
left corner and pin 7 is immediately above it. Connecting peripheral modules incorrectly could result in damaging
the peripheral module or the chipKIT Cmod.
See the attached pinout tables for more information about connecting peripheral modules and other devices to
the chipKIT Cmod. These tables describe the mapping between pins on the PIC32MX150F128D microcontroller and
the pins on the connectors.
Input/Output Connections
The chipKIT Cmod board provides 33 of the I/O pins from the PIC32MX150F128D microcontroller to pins on the DIP
connector.
The chipKIT Cmod and the MPIDE system uses logical pin numbers to identify digital I/O pins. All digital I/O pins
share their numbering with their DIP connector pin. Valid pin numbers on the chipKIT Cmod are 4-8, 10-27, and 29-
38. Pin numbers 1-3 and 39-40 refer to pins connected to power buses on the board and are not available for use
as I/O. Pin 9 can be used to reset the PIC32 microcontroller and pin 28 is unconnected. In addition, several of these
I/O pins share functionality with other devices on the board. See the attached pinout tables for more information.