MPLAB® Harmony is a flexible firmware development platform for PIC32 microcontrollers. This integrated software framework provides driver libraries and Application Programming Interfaces (APIs) that make it easier to use PIC32 peripherals (timers, GPIO, UART, I2C, SPI, etc.). It also includes middleware libraries for USB (host and device), TCP/IP (Ethernet and Wi-Fi®), graphics, Bluetooth®, and others.
This tutorial is intended to show users how to create a web-enabled digital photo frame from scratch using MPLAB Harmony 3 and MPLAB Code Configurator (MCC) with Harmony 3. The project you create will run on the Curiosity PIC32MZ EF 2.0 Development Board (DM320209). This application will perform the following tasks:
- The photos will be hosted on the microSD Click board™ mounted on the mikroBUS™ 1 of the Curiosity 2.0 board.
- Display photos from the SD card using the High-Performance 4.3" WQVGA Display Module with maXTouch® (AC320005-4) technology and the SSD1963 LCD Controller Graphics Card (AC320214).
- Host an onboard webserver to display the same photos using your computer's web browser, using the TCP/IP stack on the PIC32MZ2048EFM144, where the Ethernet MAC mounted is connected via RMII, with KSZ8061 Daughter Board (AC320004-6) mounted on the Ethernet PHY Module of the Curiosity 2.0 board.
- Console using the MCP2221 USB-to-UART/I2C converter from MikroElektronika (USB I2C Click).
Lab Source Files and Solutions
The ZIP file contains the completed solution project for this lab. It also contains the source files needed to perform the lab by following the step-by-step instructions.
Note: The contents of this ZIP file need to be placed in a folder of your choice.
- The project location of a Harmony v3 project is independent of the location of the Harmony Framework path (i.e., you need not create or place a Harmony v3 project in a relative path under the Harmony v3 framework folder). The project can be created or placed in any directory of your choice. This is true because when created, a Harmony v3 project generates all the referred source and header files and libraries (if any) under the project folder.
- pic32mzef_web_photo_frame contains the lab solution and source files (in the dev_files folder).
- dev_files contains subfolders that contain application source files and other support files (if any) required to perform the lab.
- firmware contains the completed lab solution project. It can be directly built and downloaded on the hardware to observe expected behavior.