PIC32 Downloads

Download all the book projects in the new MPLAB X format in a (Mercurial) public repository that is available on BitBucket

Bucket
https://bitbucket.org/luciodj/exploringpic32

Searching for a Pin in a Haystack

The PIC32MX3xx pinout table: PIC32MX3+pinout

This spreadsheet will help you find the right pin for your applications and identify any conflict early on.

Basic set up of the Explorer16 board

Explore.zip    Includes: Explore.c and Explore.h

This small module offers a few simple functions to initialize the PIC32 for high performance execution, configures PORTA to control the entire row of LEDs (after disabling the JTAG option, unless the PIC32 Starter Kit is used), instantaneously read the 4 buttons status, debounce the 4 buttons, produce exact delays (using Timer1) in millisecond increments.

Controlling the LCD on the Explorer16 board

LCDlib.zip     Includes: LCD.h and LCDlib.c

This small module offers a few simple functions to control the LCD display offered on the Explorer 16 board (2 x16 alphanumeric) using the Parallel Master Port

Using the EEPROM on the Explorer16 board (25LC256)

SEE.zip      Includes: SEE.h and SEE.c

This small module offers a few simple functions to control access via the SPI2 port the Serial EEPROM (25LC256) available on the Explorer 16 board.
Note: the code presents the Serial EEPROM as a black box offering storage in 32-bit increments.

Using the PICTail Daughter Board for SD/MMC (AC164122)

When using Microchip original PICTail  Daughter Board for SD/MMC cards a few pins need to be reassigned to acomodate for the different I/O selection. Things are a little more complex when using a PIC32MX4 series Processor Module on the Explorer16 as some of the pins are further swapped to free up the I/Os multiplexed with the USB port pins.

Here is a convenient summary table kindly offered by reader Rald Anders:

 FUNCTION PIC32MX3xx
SPI1/SPI2
 PIC32MX4xx
SPI1/SPI2
 SCK  RF6 / RG6 RD10 / RG6
 SDI RF7 / RG7 RC4 / RG7
 SDO  RF8 / RG8  RD0 / RG8
 CS RB1 / RB9 RB1 / RB9
 CD  RF0 / RG0  RF0 / NA
 WD  RF1 / RG1  RF1 / NA

NOTE: When using the PIC32MX4 series on the Explorer16 board, the SPI2 port cannot be chosen or the code must be modified to ignore the CD and WD inputs.

PICTail+SDMMC.zip     Includes SDMMC.h and SDMMC.c

Reading and writing Files on the SD card

SDlib.zip         Includes SDMMC.h, fileio.h, SDMMC.c and fileio.c