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

Searching for a Pin in a Haystack: the PIC32MX3xx pinout table
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

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

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)

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:

 SCK RF6 / RG6
RD10 / RG6
RC4 / RG7
 SDO RF8 / RG8
 RD0 / RG8
 CSRB1 / 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.

Includes SDMMC.h and SDMMC.c

Reading and writing Files on the SD card Includes SDMMC.h, fileio.h, SDMMC.c and fileio.c