Curiosity PIC32MZEF 2.0
The Curiosity PIC32MZEF 2.0 is a development board from Microchip based on the high performance 32-bit PIC32MZ EF Series (PIC32MZ2048EFM144) microcontroller. The board features 2MB flash, 512KB RAM, 8MB quad-SPI memory, and an integrated programmer/debugger.
Project Specifics
There are no imported sensors or specialized elements or tools native to Curiosity PIC32MZEF 2.0 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 2.0 and its performance on Atmosphere is noted below.
No macOS Support
The Curiosity PIC32MZEF 2.0 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 2.0 to Atmosphere from the Devices area’s Scan window, the board must be connected via both its debug USB connector (J700) and its target USB connector (J201). Once registered, it can remain connected using either USB connector.
Debug Output
In order to view debug output from the Curiosity PIC32MZEF 2.0, 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 2.0 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 PJ12 |
P_MB1_SS |
Click Connector 1 SPI SS Pin | Maps to PD9 |
P_MB1_SCK |
Click Connector 1 SPI CLK Pin | Maps to PD1 |
P_MB1_SDI |
Click Connector 1 SPI SDI Pin | Maps to PD7 |
P_MB1_SDO |
Click Connector 1 SPI SDO Pin | Maps to PD14 |
P_MB1_PWM |
Click Connector 1 PWM Pin | Maps to PD15 |
P_MB1_INT |
Click Connector 1 INT Pin | Maps to PF12 |
P_MB1_RX |
Click Connector 1 UART RX Pin | Maps to PC4 |
P_MB1_TX |
Click Connector 1 UART TX Pin | Maps to PC1 |
P_MB1_SCL |
Click Connector 1 I2C SCL Pin | Maps to PA2 |
P_MB1_SDA |
Click Connector 1 I2C SDA Pin | Maps to PA3 |
P_MB2_AN |
Click Connector 2 AN Pin | Maps to PA1 |
P_MB2_RST |
Click Connector 2 RST Pin | Maps to PJ10 |
P_MB2_SS |
Click Connector 2 SPI SS Pin | Maps to PC2 |
P_MB2_SCK |
Click Connector 2 SPI CLK Pin | Maps to PG6 |
P_MB2_SDI |
Click Connector 2 SPI SDI Pin | Maps to PG8 |
P_MB2_SDO |
Click Connector 2 SPI SDO Pin | Maps to PG7 |
P_MB2_PWM |
Click Connector 2 PWM Pin | Maps to PD15 |
P_MB2_INT |
Click Connector 2 INT Pin | Maps to PD10 |
P_MB2_RX |
Click Connector 2 UART RX Pin | Maps to PE9 |
P_MB2_TX |
Click Connector 2 UART TX Pin | Maps to PG9 |
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 | Maps to PJ7 |
P_LED2 |
LED2 | Maps to PK7 |
P_LED3 |
LED3 | Maps to PJ3 |
P_LED_R |
RGB LED (R) | Maps to PB7 |
P_LED_G |
RGB LED (G) | Maps to PB8 |
P_LED_B |
RGB LED (B) | Maps to PB9 |
The default pin for any peripheral can be changed within an element's properties, from an element that references that particular peripheral.
Internal Curiosity PIC32MZEF 2.0 Pins
Each GPIO pin can be accessed using the following nomenclature: P[PORT][PIN]
. For example, port A pin 6 can be accessed with PA6
.
Peripherals
Below is information regarding the Curiosity PIC32MZEF 2.0’s exposed peripherals.
I2C
I2C can be accessed using the I2C pins on both click headers and the XPlained Pro header. Each of these connections share the same I2C Bus.
SPI
SPI can be accessed using the SPI pins on both click headers. Each click header communicates to its own SPI bus.
Programming Method
Programming the Curiosity PIC32MZEF 2.0 involves using the programmer interface in Atmosphere Studio to install embedded firmware. The Curiosity PIC32MZEF 2.0 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 2.0, ensure you have the following setup configuration:
- Microchip MPLAB X IDE must be installed.
- If running on Linux, ensure your copy of the Microchip MPLAB X IDE is v5.30 or greater. Versions beneath this may not enable the Curiosity PIC32MZEF 2.0 to program properly with Atmosphere.
- The Curiosity PIC32MZEF 2.0 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 2.0:
- From Atmosphere Studio’s Embedded tab, click the
button from the tab’s toolbar. This displays the Program Firmware window.
- 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.
- 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
- Click Program to start programming. When complete, you’ll receive a notification stating the Curiosity PIC32MZEF 2.0 is programmed with the project’s embedded firmware.
Guides and Tutorials
Get started using the Curiosity PIC32MZEF 2.0 with Atmosphere by walking through the following guides:
Curiosity PIC32MZEF 2.0 Guides |
---|
Getting Started with Curiosity PIC32MZEF |
Demo Projects
Atmosphere includes a variety of Curiosity PIC32MZEF 2.0 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 2.0 alongside the WiFi 7 Click board by sending an integer value to the cloud every second. |
Curiosity PIC32 2.0 Sensor Demo | Demonstrates using the Curiosity PIC32MZEF 2.0 alongside the WiFi 7 Click board to read humidity data from the Sensirion SHT Click and temperature data from the TSYS02D Xplained Pro and sends the data to the cloud. |
Heart Rate 5 Click Demo | The heart rate 5 click element is used in this demo by reading your heart rate and sending it to the cloud via the WiFi 7 Click board. |
Pressure 3 Click Demo | The pressure 3 click element is used in this demo by reading pressure and temperature data and printing it to the debug console. |
Curiosity Pressure Click Demo | The pressure 4 click element is used in this demo by reading pressure and temperature data and sending the data to the cloud via the WiFi 7 Click board. |
Videos
The Atmosphere video library contains the following videos on the Curiosity PIC32MZEF 2.0:
Resources
The following additional resources and downloadable files are available for the Curiosity PIC32MZEF 2.0: