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:


 FUNCTIONPIC32MX3xx
SPI1/SPI2
 PIC32MX4xx
SPI1/SPI2
 SCK RF6 / RG6
RD10 / RG6
 SDIRF7 / RG7
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

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