There are already three different PIC32 families stacking on each other. Each new family introduced major changes in the SPI modules. The first family relied on unbuffered SPI similar to old 8-bit microcontrollers, the second family introduced buffering, while the third family introduced I2S compatibility (aka Audio Mode).
November 2007 Microchip introduced the PIC32 MX3-4 families of 32-bit microcontrollers. They were designed to be pin to pin compatible and share the same peripherals set with the PIC24FxxGA0xx family of devices allowing the use of common libraries, software and hardware tools.
July 2009 Microchip introduced the PIC32 MX4-5-6 families that provide up to 128 kbytes of RAM and extensive connectivity options, including 10/100 Mbps Ethernet, two CAN2.0b controllers, USB Host, Device and OTG, and 6 UART, 5 I2C and 4 SPI ports.
December 2011 Microchip introduced the PIC32 MX1-2 families featuring two I2S interfaces for audio processing. Does it mean all previous families were unable to deal with audio?
Tag: audio codec
diyAudio PIC32 SPI Register Map
diyAudio with PIC32MX2 Breakout Board
Do-it-yourself Audio is a popular topic, bringing lots of enthusiasts. What would you do without digital audio nowadays?
You can build your own diyAudio kit using the PIC32MX2 Breakout Board hosted here on electrodesigns.net and the mikroE Audio Codec Board. The mikroE Audio Codec Board is equipped with a WM8731 codec chip featuring a full duplex I2S interface and stereo 24-bit oversampling sigma delta ADCs and DACs. The analog outputs can operate at different listening volumes. For the sake of simplicity, mikroE only wired the single mike input and the buffered headphones outputs. The WM8731 requires an additional communication (SPI or I2C) for defining the listening volumes and other settings, however mikroE wired and labelled the concerned pins for I2C only.
Following is a concrete proposition for connecting a mikroE Audio Codec Board on a PIC32MX2 Breakout Board. Such audio setup, exploiting the mike input and the headphones outputs, beats the Microchip PIC32MX1/MX2 starter kit. The audio signal presented at the mike input gets digitized by the WM8731, gets processed by the PIC32 in realtime, gets converted back to analog by the WM8731, and gets finally presented at the headphones outputs. On top of this, the PIC32MX2 USB connectivity allows experimenting with the USB-audio protocol.
The image shows the two boards interconnects. Other layouts may exist thanks to the PIC32MX2 pin multiplex.



