Curiosity PIC32MZEF

The Curiosity PIC32MZEF is a development board from Microchip based on the high performance 32-bit PIC32MZ EF Series (PIC32MZ2048EFM) microcontroller. The board features 2MB flash, 512KB RAM, integrated FPU, a crypto accelerator, and an integrated programmer/debugger.

Project Specifics

There are no imported sensors or specialized elements or tools native to Curiosity PIC32MZEF projects.

Hardware Specifics

Some devices may have limitations or design restrictions that cause unexpected behavior when used with Atmosphere. Specific information and details pertaining to the Curiosity PIC32MZEF and its performance on Atmosphere is noted below.

Hardware Version Compatibility

The project type for the Curiosity PIC32MZEF is specifically for the original Curiosity PIC32MZEF development board (Microchip part number: DM320104).

The second generation version of this kit – Microchip Curiosity PIC32MZEF 2.0 (Microchip part number: DM320209) – is a separate project type available in Atmosphere.

Deprecated Onboard Wi-Fi Module

The Wi-Fi module onboard the Curiosity PIC32MZEF (Microchip MRF24WN0MA module) is not supported in Atmosphere. This module is deprecated for use and not recommended in new designs.

To enable compatible Wi-Fi connectivity for the Curiosity PIC32MZEF in Atmosphere, it’s recommended to use the board alongside a Microchip WINC1500 Wi-Fi module. This module is available on boards such as the Adafruit WINC1500 Wi-Fi Shield and MikroElektronika Wi-Fi 7 Click board, and is supported through the Microchip WINC1500 element available in the Atmosphere Studio Element Library.

No macOS Support

The Curiosity PIC32MZEF is not supported on macOS with Atmosphere. Microchip’s MPLAB X IDE does have a macOS download, however there are known issues with MPLAB X IDE and macOS with programming the board. For more information, visit the Microchip MPLAB X IDE Forums.

Connecting to Atmosphere

While attempting to register the Curiosity PIC32MZEF to Atmosphere from the Devices area’s Scan window, the board must be connected via both its debug USB connector (J3) and its target USB connector (J12). Once registered, it can remain connected using only the debug USB connector.

Debug Output

In order to view debug output from the Curiosity PIC32MZEF, the board must be connected via both its debug USB connector and its target USB connector. If simply powering the board on, connect it using the debug USB connector only.

Default Pin Mapping

Atmosphere configures each peripheral to a default pin for every supported device, based on ideal pairing of pins and their usage. The default pin configuration is set for convenience and enables each peripheral to work naturally without needing to be modified.

Curiosity PIC32MZEF projects start with the following pin configuration:

Pin Description Notes
P_MB1_AN Click Connector 1 AN Pin Maps to PB4
P_MB1_RST Click Connector 1 RST Pin Maps to PA9
P_MB1_SS Click Connector 1 SPI SS Pin Maps to PD4
P_MB1_SCK Click Connector 1 SPI CLK Pin Maps to PD1
P_MB1_SDI Click Connector 1 SPI SDI Pin Maps to PD14
P_MB1_SDO Click Connector 1 SPI SDO Pin Maps to PD3
P_MB1_PWM Click Connector 1 PWM Pin Maps to PE8
P_MB1_INT Click Connector 1 INT Pin Maps to PF13
P_MB1_RX Click Connector 1 UART RX Pin Maps to PD10
P_MB1_TX Click Connector 1 UART TX Pin Maps to PD15
P_MB1_SCL Click Connector 1 I2C SCL Pin Maps to PA14
P_MB1_SDA Click Connector 1 I2C SDA Pin Maps to PA15
P_MB2_AN Click Connector 2 AN Pin Maps to PA1
P_MB2_RST Click Connector 2 RST Pin Maps to PA5
P_MB2_SS Click Connector 2 SPI SS Pin Maps to PD5
P_MB2_SCK Click Connector 2 SPI CLK Pin Maps to PG6
P_MB2_SDI Click Connector 2 SPI SDI Pin Maps to PG0
P_MB2_SDO Click Connector 2 SPI SDO Pin Maps to PG7
P_MB2_PWM Click Connector 2 PWM Pin Maps to PF2
P_MB2_INT Click Connector 2 INT Pin Maps to PF12
P_MB2_RX Click Connector 2 UART RX Pin Maps to PC3
P_MB2_TX Click Connector 2 UART TX Pin Maps to PC2
P_MB2_SCL Click Connector 2 I2C SCL Pin Maps to PA2
P_MB2_SDA Click Connector 2 I2C SDA Pin Maps to PA3
P_LED1 LED1 (Red) Maps to PE3
P_LED_R LED1 (Red) Maps to PE3
P_LED2 LED2 (Green) Maps to PE4
P_LED_G LED2 (Green) Maps to PE4
P_LED3 LED3 (Yellow) Maps to PE6
P_LED_Y LED3 (Yellow) Maps to PE6

The default pin for any peripheral can be changed within an element's properties, from an element that references that particular peripheral.


Below is information regarding the Curiosity PIC32MZEF’s exposed peripherals.


I2C can be accessed using the I2C pins on both click headers.


SPI can be accessed using the SPI pins on both click headers.

Programming Method

Programming the Curiosity PIC32MZEF involves using the programmer interface in Atmosphere Studio to install embedded firmware. The Curiosity PIC32MZEF doesn’t contain a built-in programmer, so it’s used alongside an installation of the Microchip MPLAB X IDE to program it. The MPLAB X IDE doesn’t need to be used itself, however it also installs software – specifically IPECMD – that is needed for programming the firmware binary file into the board.

Setup Configuration

Prior to programming a Curiosity PIC32MZEF, ensure you have the following setup configuration:

  • Microchip MPLAB X IDE must be installed.
  • The Curiosity PIC32MZEF is powered on and connected via both its debug USB connector and its target USB connector.
  • The Atmosphere IoT Agent is installed on the computer and running. This is a local application that runs in the system tray and acts as an intermediary between the computer’s connectivity protocol drivers and the browser running Atmosphere.
  • An Internet connection is maintained.
  • The project to be programmed has been compiled.

Programming Instructions

With setup complete, you can program the Curiosity PIC32MZEF:

  1. From Atmosphere Studio’s Embedded tab, click the Program Firmware button from the tab’s toolbar. This displays the Program Firmware window.
  2. In the IPECMD Path field, an autocompleted path of the MPLAB X IDE’s IPECMD software is entered. This is based on the Atmosphere IoT Agent locating the software file from an expected installation path on your operating system.
    • In the event your installation path of the MPLAB X IDE differs from what the agent provided, enter in the field the complete path where the MPLAB X IDE’s copy of the ipecmd.jar file is located (e.g. C:\Program Files (x86)\Microchip\MPLABX\v5.25\mplab_platform\mplab_ipe\ipecmd.jar) within its installation directory.
  3. Click Program to start programming. When complete, you’ll receive a notification stating the Curiosity PIC32MZEF is programmed with the project’s embedded firmware.

Programming the Curiosity PIC32MZEF can be inconsistent and may require multiple attempts before successfully installing firmware. If a programming attempt fails, close the Program Firmware window and then try again.

Guides and Tutorials

Get started using the Curiosity PIC32MZEF with Atmosphere by walking through the following guides:

Curiosity PIC32MZEF Guides
Getting Started with Curiosity PIC32MZEF

Demo Projects

Atmosphere includes a variety of Curiosity PIC32MZEF demo projects for users of all levels. Check them out by clicking the demo’s name to open the project in Atmosphere.

Name Description
Wi-Fi 7 Click Demo Demonstrates using the Curiosity PIC32MZEF alongside the Wi-Fi 7 Click board by sending an integer value to the cloud every second.


The Atmosphere video library contains the following videos on the Curiosity PIC32MZEF:

Videos for the Curiosity PIC32MZEF coming soon!


The following additional resources and downloadable files are available for the Curiosity PIC32MZEF: