U-PHY Quick Start Guide on MPLAB® Harmony v3

Last modified by Microchip on 2026/07/28 14:10

Introduction

Thank you for taking the time to evaluate our U-PHY solution on MPLAB® Harmony v3.

This guide provides instructions on how to:

  • Run a pre-built U-PHY demo application
  • Use a diagnostic tool to view the device
  • Run the demo application as a PROFINET®, EtherNET/IP® or MODBUS® device and establish an IO connection with CODESYS® SoftPLC®
  • Build and debug the demo application
Information

Pre-Requisites:

  • Hardware
    • One of the following Microchip development boards:
    • Microchip or SEGGER® J-Link® In-Circuit Debugger/Programmer(s)
    • Serial to USB adapter
    • Ethernet cable (a standard Ethernet connection is preferred over a USB-to-Ethernet adapter)
  • Software and Tools
Warning

Please refer to the "Troubleshooting" section of this page for assistance.

Setup Instructions

Set up the Board

Please refer to the board-specific section below as needed to connect the peripherals described in the following steps.

SAM9X75 Curiosity LAN Kit (EV31H43A)​​​​​​

  • Connect the LAN8840 EDS2 Daughter Card to the Gigabit Ethernet J17 connector.
  • Attach an Ethernet cable to the RJ45 connector on the LAN8840 EDS2 Daughter Card.
  • Plug the other end of the Ethernet cable into the PC.
  • Connect a serial-to-USB dongle (FTDI-like) to the UART DEBUG J35 header on one side and to the PC on the other.
  • Ensure that jumpers J9 and J10 are open to prevent booting from NAND and Quad Serial Peripheral Interface (QSPI) Flash.
  • Use a USB Type-A to Micro-USB cable to connect the J2 Micro-USB port for power.
  • Press the START pushbutton.

SAM9X75 Curiosity LAN Kit

 

SAM9X60 Curiosity Kit (EV40E67A)

  • Connect an Ethernet cable to the RJ45 connector J6.
  • Plug the other end of the Ethernet cable into the PC.
  • Connect a serial-to-USB dongle (FTDI-like) to the Universal Asynchronous Receiver/Transmitter (UART) DEBUG J11 header on one side and to the PC on the other.
  • Ensure that jumper J4 is open to prevent booting from NAND Flash.
  • Use a USB Type-A to Micro-USB cable to connect the J1 Micro-USB port for power.
  • Press the START pushbutton.

SAM9X60 Curiosity kit

 

SAMA7D65 Curiosity kit (EV63J76A)

  • Connect an Ethernet cable to the RJ45 connector J14.
  • Plug the other end of the Ethernet cable into the PC.
  • Connect a serial-to-USB dongle (FTDI-like) to the UART DEBUG J35 header on one side and to the PC on the other.
  • Ensure that jumpers J36 and J39 are open to prevent booting from NAND and QSPI Flash.
  • Use a USB Type-A to USB Type-C® cable to connect the J3 USB Type-C port for power.
  • Press the START pushbutton.

SAMA7D65 Curiosity kit (EV63J76A)

 

SAMA7G54 Evaluation Kit (EV2118A)

  • Connect an Ethernet cable to the Gigabit Ethernet RJ45 connector J5.
  • Plug the other end of the Ethernet cable into the PC.
  • Connect a serial-to-USB dongle (FTDI-like) to the UART DEBUG J20 header on one side and to the PC on the other.
  • Use a USB Type-A to Micro-USB cable to connect the J7 USB Micro-USB port for power.
  • Press the START pushbutton.

SAMA7G54 Evaluation kit

 


Set up the Serial Terminal

On your PC, open a serial terminal and configure it with the following settings:

  • Baud Rate: 115200
  • Data: 8-bit
  • Parity: None
  • Stop Bits: 1
  • Flow Control: None

To set up the serial terminal on a Windows PC with PuTTY:

  • Open Windows Device Manager to identify the correct COM port.
  • Connect and disconnect the serial-to-USB dongle, and note which COMxx port appears and disappears (for example, COM10 is used in this guide; please use the COM port that matches your setup).  
  • Open PuTTY and go to Category > Connection > Serial.
  • Configure the serial connection parameters as shown in the accompanying image, making sure to select the COM port that corresponds to your local setup.

PuTTY Configuration window

  • Go to Terminal and enable the Implicit CR in every LF option.

PuTTY Configuration window

  • Go to Category > Session and choose Serial for Connection type, then press Open.

PuTTY Configuration window

​​​​​​


Configure a static IP address for the Windows PC Ethernet interface connected to the U-PHY device.

Go to Windows Settings > Network & internet. Select the appropriate Ethernet interface, change the IP configuration to Manual, and configure the IP address and Subnet mask accordingly.

Edit IP Settings window

Success

Congratulations! Setup is completed.

Back to Top

Running the Pre-Built Demo Application

Information

Note: This section provides instructions on how to program and execute the pre-built U-PHY demo application.

Download the ZIP release package file from SW87R19A and extract its content.


Format the SD card to FAT32 by adhering to the guidelines provided in the dedicated "How to Format and Partition an SD Card Larger Than 32GB Using DiskPart in Windows® for MPU" page.


Program the binaries to the SD card.

Copy boot.bin from the board-specific folder located at uphy-stack-h3/bin/<devicename>/deps to the SD card.

Copy harmony.bin from the board-specific folder located at uphy-stack-h3/bin/<devicename> to the SD card.


Insert the SD card into the board.


Press the RESET button on the board to initiate a reset.


The sample application will display a startup message on the serial terminal, as illustrated in the accompanying image.

serial terminal

Success

Congratulations! The U-PHY demo application is now running successfully.

Back to Top

Selecting Desired Industrial Protocol for U-PHY

Information

Note: This section explains how to set the industrial protocol used by the U-PHY demo application.

Enter the protocol you want to use in the terminal and press enter:

  • uphy_set_pnet for Profinet Device
  • uphy_set_enip for EtherNET/IP Adapter
  • uphy_set_mbus for Modbus TCP Server

Enter "uphy_get" to know the currently activated protocol.

Restart the board by pressing RESET button. The output will look like the accompanying image. 

RESET output

Back to Top

Observing U-PHY PROFINET With PRONETA BASIC

Information

Note: This section explains how to view and configure the U-PHY PROFINET device demo application using PRONETA® diagnostic tool.

PRONETA is a Siemens® diagnostic tool designed for analyzing and configuring PROFINET networks.

Warning

Since PRONETA is compatible exclusively with Windows OS, this section can only be completed on a Windows-based PC.

Enter "uphy_set_pnet" in the terminal and reset the board to select PROFINET protocol.


Download PRONETA BASIC 3.8 (or higher) from Siemens by logging in with a free account.

Locate the ZIP file in the downloads section and extract its contents.


Run PRONETA.exe, if prompted, to install the Npcap driver. Click Yes to proceed.

Once the PRONETA window opens, navigate to the Settings menu.

PRONETA window


In the Network Adapter pane, select the network adapter that is connected to the PROFINET device.

PRONETA - Siemens window

 


Navigate to the Network Analysis menu and select the Online tab.

The PC running PRONETA and the device running the PROFINET demo application will be displayed.

PC running PRONETA and the device running the PROFINET demo application


 Right click on the device and select Start Flashing LED.

The LED on the development kit will blink three times at a frequency of 1 Hz and will continue blinking with a short pause between cycles until you right click on the device and select Stop Flashing LED.

Start Flashing LED option

Warning

The Set/Reset Network Parameters options are functional: they allow setting/resetting the IP address.

The Open Web Browser option is not supported by the demo application.

Success

Congratulations! You are now able to view and configure the U-PHY PROFINET device demo application using PRONETA diagnostic tool.

Back to Top

Setting a Static IP Address for the U-PHY Device

Information

Note: EtherNET/IP and MODBUS protocols require the device to have an IP address by default. The IP address can be statically assigned or assigned by a DHCP server. 

This section explains how to set a static IP address for the U-PHY Device.

Set a static IP address for the device. You can use your preferred IP address and netmask is set to 255.255.255.0.

uphy_set_ip 192.168.0.50

The required IP address will be set.

Set IP

Back to Top

Observing U-PHY EtherNET/IP With Hilsher EtherNET/IP Tool

Information

Note: This section explains how to view the U-PHY EtherNET/IP device demo application using Hilscher EtherNET/IP Tool.

Warning

Since Hilscher EtherNET/IP Tool is compatible exclusively with Windows OS, this section can only be completed on a Windows-based PC.

Enter "uphy_set_enip" in the terminal and reset the board to select EtherNET/IP protocol.


Download latest Hilscher EtherNET/IP Tool and extract its contents.


Run EtherNetIPTool.exe. Click Preferences and choose the IP address of your interface in the Local NIC drop-down menu.

preferences


Click on Send ListIdentity Request (UDP broadcast). Our device will be visible under List of identified devices. Click on it to view the device details.

EtherNET/IP Tool window

Success

Congratulations! You are now able to view the U-PHY EtherNET/IP device demo application using Hilscher EtherNET/IP Tool.

Back to Top

Establishing I/O Connection

Information

Note: This section outlines the procedure for establishing an I/O connection between a CODESYS SoftPLC and the U-PHY device demonstration application using different industrial protocols.

Warning

This section is performed on a Windows-based PC as a continuation of the previous section.


Download CODESYS Development System V3 and install it on the Windows machine.

Information

Note: This guide is based on CODESYS V3.5 SP22 Patch 2. Please note that menu names and layouts may vary if you are using a different version. We recommend using the latest version of all software components whenever possible.

Warning

If your Windows machine firewall is enabled, make sure to add CODESYS Control Win application (i.e., CODESYSControlService.exe) to the firewall allowed list so it can receive PROFINET packets.

 


In the Windows taskbar system tray, right click the CODESYS Control Win SysTray icon and select Start PLC.

CODESYS Control Win SysTray bar

Click OK if the following window appears.

CODESYS Control Win SysTray window


Launch CODESYS from the Start menu.

Navigate to Tools > CODESYS Installer, and install the CODESYS Control Win add-on.

CODESYS Installer window

 


Navigate to Tools > Device Repository.

PROFINET case:

Click Install and select the GSD file (GSDML-V2.44-RT-Labs-U-Phy-DIGIO-Sample-20260223.xml) located in uphy-stack-h3/share to install the PROFINET device.

Device Repository dialog

GSD

EtherNet/IP case:

Select U-Phy DIGIO Sample.eds located in uphy-stack-h3/share to install the EtherNet/IP adapter.

EDS

Information

MODBUS server does not have a description file to be installed.


Navigate to File > Open Project and select uphy-stack-h3/codesys/uphy_demo_controller_win.project to load the project.

If the following window appears, click Set All to Newest and then click OK.

Set All to Newest

The project is now loaded.

uphy_demo_controller_win.project window


Double click on Device (CODESYS Control Win…).

In the Communication Settings section, click Scan Network and select your PC from the list.

Communication settings

This will display the following result:

Scan results


Double click on Ethernet.

In the General tab, click Browse.

Ethernet tab

Warning

When performing this step for the first time, you may be prompted to create a username and password.

CODESYS dialog

Click Yes and record the username and password for future reference.

If you are asked to log in, enter the username and password you just created:

Device User Logon dialog

Select the network adapter connected to the U-PHY device.

The IP address will be updated accordingly.

 Network and Internet settings


Double click on PN_Controller.

In the General tab, click Adjust to set proper values for Default Slave IP Parameter.

PN_Controller tab

This configuration should result in the following:

Default slave IP parameter

Go to Ethernet > PN_Controller > U_Phy_DIGIO_Sample.

In the General tab, set an IP address for the PROFINET device. In this guide, we use 192.168.0.50.

pnet ip


Go to Ethernet > EtherNet_IP_Scanner > U_Phy_DIGIO_Sample_1.

In the General tab, set the IP address to the same value that was set on the device using the command uphy_set_ip.

eip ip


Go to Ethernet > Modbus_TCP_Client > Modbus_TCP_Server.

In the General tab, set the IP address to the same value that was set on the device using the command uphy_set_ip.

mbus ip


Go to the Online menu and select Login.

If prompted by a confirmation window, click Yes.

CODESYS dialog


Go to the Debug menu and select Start.

Debug menu

The PLC on the Windows PC will be in RUN mode, as indicated in the status bar at the bottom of the CODESYS window.

RUN mode


Follow these steps for the PROFINET use case.

Enter "uphy_set_pnet" in the terminal and reset the board to select PROFINET protocol.

Go to Ethernet > PN_Controller > U_Phy_DIGIO_Sample.

In the General tab, the Status will be OK if a PROFINET connection is established to the U-PHY device.

P_Net_multi_module_sample_app tab

Go to Step 16.

Warning

If the connection fails, verify the following points:

  • Ensure that Npcap is installed on the PC.
  • If your Windows machine firewall is enabled, make sure to add CODESYS Control Win application (i.e., CODESYSControlService.exe) to the firewall allowed list so it can receive Ethernet packets.

Follow these steps for the EtherNet/IP use case.

Enter "uphy_set_enip" in the terminal and reset the board to select EtherNET/IP protocol.

Go to Ethernet > EtherNet_IP_Scanner > U_Phy_DIGIO_Sample_1.

In the Status tab, the status will be Running if a connection is established to the U-PHY device.

eip Status tab

Go to Step 16.

Warning

If the connection fails, verify the following points:

  • Ensure that Npcap is installed on the PC.
  • If your Windows machine firewall is enabled, make sure to add CODESYS Control Win application (i.e., CODESYSControlService.exe) to the firewall allowed list so it can receive Ethernet packets.

Follow these steps for the MODBUS use case.

Enter "uphy_set_mbus" in the terminal and reset the board to select MODBUS protocol.

Go to Ethernet > Modbus_TCP_Client > Modbus_TCP_Server.

In the Status tab, click Acknowledge. Then the ModbusTCPServer status will be Running if a connection is established to the U-PHY device.

eip

Go to Step 16.

Warning

If the connection fails, verify the following points:

  • Ensure that Npcap is installed on the PC.
  • If your Windows machine firewall is enabled, make sure to add CODESYS Control Win application (i.e., CODESYSControlService.exe) to the firewall allowed list so it can receive Ethernet packets.

This step is common for all use cases.

Double click on PLC_PRG to look at the project code.

Information

Note: The out_led_xxxx variable is a PLC output that controls the LED on the U-PHY device, while in_pin_button_LED is a PLC input that provides the status of the USER button on the U-PHY device.

The flashing bit will toggle when the on-board USER push button is pressed.

If the flashing bit is set to TRUE, out_led_xxxx will toggle continuously, causing the LED on the U-PHY device to blink.

PLC_PRG tab

The User LED will now be toggling.

If the U-PHY device is reset, the User LED will be either toggling or OFF based on the state of the flashing bit.

Success

Congratulations! You have successfully established an I/O connection to the U-PHY device.

Back to Top

Building and Running the Demo Application

Information

Note: This section provides instructions on how to build the U-PHY demo application from source and run it.

Install the latest version of MPLAB X IDE.


Install the latest version of MPLAB XC32 Compiler.


Open MPLAB X IDE.

Go to File > Open Project.

Open the project located at uphy-stack-h3/apps/uphy_sampleapp/uphy-harmony-<devicename>.X.


Install the required dependencies by using the MPLAB Code Configurator (MCC) manifest file.

Open the Content Manager by clicking on the designated icon shown in the accompanying image.

Content Manager

Click on Select Versions From File.

Select Versions from File

Select the uphy-stack-h3/apps/uphy_sampleapp/uphy-harmony-<boardname>.X/mcc-manifest-generated-success.yml file. 

Click Apply to install the required packages.

Apply button


Go to the Projects view.

Projects view


Right click on the project and select Properties.

Properties

In Conf: [xxx], select the latest Device Family Pack (DFP) and the latest MPLAB XC32 Compiler.

Configuration


Information

Note: MPLAB X IDE does not generate a BIN file by default.

To create a BIN file, use post-build commands. Navigate to Project Properties and then select Building.

Enable the Execute this line after build option and enter the following command:

"${MP_CC_DIR}/xc32-objcopy -O binary ${DISTDIR}/${PROJECTNAME}.${IMAGE_TYPE}.elf ${DISTDIR}/harmony.bin"

Click Apply, then close the Property window:

Project Properties window


Right click on the project and select Clean and Build to build the project.

clean and build

At the end of the compilation process, you will see the BUILD SUCCESSFUL message.

BUILD SUCCESSFUL message

You can now run the built application from the SD card by copying the required binaries, including the generated harmony.bin:

  1. Copy boot.bin from the device-specific folder located at uphy-stack-h3/bin/<devicename>/deps to the SD card. 
  2. Copy harmony.bin from uphy-stack-h3/apps/uphy_sampleapp/uphy-harmony-<devicename>.X/dist/uphy_harmony_<devicename>/production to the SD card.
  3. Insert the SD card and press the RESET button.
Success

Congratulations! You have successfully built and run the U-PHY demo application.

Information

Note: The next two sections provide instructions on how to program with or without debugging the U-PHY demo application. Choose the option you want to follow.

Back to Top

Programming and Debugging the Demo Application

Warning

Please note that, depending on the debugger used, you may encounter booting issues if the SD card already contains a bootable image, so:

  • Delete the boot.bin file from the SD card to prevent it from being bootable.
  • Then, reinsert the SD card into the board, as the application uses it as a persistent storage medium.

Connect an in-circuit debugger/programmer(s) to the JTAG DEBUG connector on one side and to the PC on the other.


Press the RESET button on the board to initiate a reset.


Click on the Refresh Debug Tool Status button.

Refresh Debug Tool Status

If the debug probe has not been previously detected, you will be prompted to select it.

select debug probe


Click on the Debug Debug icon icon.

The project is programmed and running:

programmed and running message

Success

Congratulations! You have successfully programmed, and debugged the U-PHY demo application using the MPLAB development ecosystem.

Back to Top

Programming Without Debugging the Demo Application

Connect an in-circuit debugger/programmer(s) to the JTAG DEBUG connector on one side and to the PC on the other.


Press the RESET button on the board to initiate a reset.


Click on the Make and Program device Make and Program Device icon icon.

The project is programmed and running:

programmed and running message

Success

Congratulations! You have successfully programmed the U-PHY application.

 

Information

MCC:

If you need to modify any MPLAB Harmony module configuration parameters, close Content Manager and open the MPLAB Code Configurator by clicking on MCC.

Once you have made the required changes, generate the updated code by clicking Generate.

Project Graph

Back to Top

Next Steps

For detailed instructions, please refer to the U-PHY User Manual located in the uphy-stack-h3/ folder.

Back to Top

Troubleshooting

There is no communication when running my CODESYS project.

If the connection fails with CODESYS, verify the following points:

  • Ensure that Npcap is installed on the PC.
  • If your Windows machine firewall is enabled, make sure to add the CODESYS Control Win application (i.e., CODESYSControlService.exe) to the firewall allowed list so it can receive Ethernet packets.
  • Prefer a standard Ethernet connection over a USB-to-Ethernet adapter.

The terminal only displays RomBOOT message.

Ensure that the SD card contains the correct files and is inserted properly.

The image on the SD card is not booting.

Confirm that the jumpers for Quad Serial Peripheral Interface (QSPI) Flash and NAND Flash are open to prevent the system from booting a different image.

The image on the SD card is not booting.

Confirm that the jumpers for Quad Serial Peripheral Interface (QSPI) Flash and NAND Flash are open to prevent the system from booting a different image.

Back to Top