MPLAB® Harmony 3 Net Support Package

May 5, 2026 · View on GitHub

Microchip logo Harmony logo small

MPLAB® Harmony 3 Net Support Package

MPLAB Harmony 3 is an extension of the MPLAB® ecosystem for creating embedded firmware solutions for Microchip 32-bit SAM and PIC microcontroller and microprocessor devices. Refer to the following links for more information.

This repository contains the MPLAB® Harmony 3 Network Package (Net). The Net repo provides a free fast to market TCP/IP stack for Microchip 32-bit SAM and PIC microprocessor devices. The repo contains multiple applications that demonstrate communication over TCP/IP using well known protocols like TCP, UDP, HTTP, SMTP, etc. Refer to the following links for release notes, training materials, and interface reference information.

Contents Summary

FolderDescription
appsExample applications for Net library components
docsNet library help documentation
driverDrivers used by the TCP/IP stack
tcpipThe TCP/IP stack
net presThe network presentation layer used by the TCP/IP stack

Documentation

Click here to view the Net library help documentation.

To view the documentation offline, follow these steps:

  • Download the publication as a zip file from here.
  • Extract the zip file into a folder.
  • Navigate to the folder and open index.html in a web browser of your choice.

MPLAB® Harmony 3 TCP/IP Stack Library:

CategoryItemDescriptionRelease Status
TCP/IP Stack PluginTCP/IP ConfiguratorThe TCP/IP Stack Configurator Plugin UIapp-beta
TCP/IP Library GeneralTCPIP COREThe core functions for the working of MPLAB® Harmony TCP/IP Stack is part of this Moduleapp-beta
VLAN SupportSupport for tagged and un-tagged frames in the stack.app-beta
NETCONFIGTCP/IP Stack Network Configurationapp-beta
TCPIP CMDTCP/IP Stack Commandsapp-beta
TCP/IP Library Application LayerANNOUNCETCP/IP Stack Library Announce Module for Microchip Devicesapp-beta
Berkeley APIThe Berkeley_Socket_Distribution (BSD) APIs provide a BSD wrapper to the native Microchip TCP/IP Stack APIs.app-beta
DDNSThe Dynamic DNS Client module provides a method for updating a dynamic IP address to a public DDNS service.app-beta
DHCP CLIENTThe DHCP client module will allow your application to dynamically obtain an IP address and a subnet mask from a DHCP server on the same network.app-beta
DHCP SERVERThe DHCP Server module is used to assign IP addresses to DHCP clients from the configured IP address database.app-beta
DHCP SERVER v2The DHCP Server module is used to assign IP addresses to DHCP clients from the configured IP address database.app-beta
DHCPV6 CLIENTThe DHCPv6 client module will allow your application to dynamically obtain an IPv6 address from a DHCPv6 server.app-beta
DNS CLIENTThe DNS(Domain Name Service) Client, also known as the DNS Resolverapp-beta
DNS SERVERThe DNS(Domain Name Service) Serverapp-beta
FTP CLIENTThe File Transfer Protocol (FTP) Client module will allow your application to upload the files to, and download the files from, any FTP server.app-beta
FTP SERVERFTP server capability facilitates the uploading of files to, and downloading of files from, an embedded device.app-beta
HTTPNET SERVERThe HyperText Transfer Protocol (HTTP) Net Server module allows a development board to act as a Web server.app-beta
HTTP SERVER v2The HyperText Transfer Protocol (HTTP) Server module allows a development board to act as a Web server, version 2.app-beta
IPERFIperf is a networking tool that helps to measure networking bandwidth and performance.app-beta
NBNSThe NetBIOS Name Service protocol associates host names with IP addresses, similarly to DNS, but on the same IP subnet.app-beta
SMTP CLIENTThe SMTPC module in the TCP/IP Stack lets applications send e-mails to any recipient worldwide.app-beta
SNMPSimple Network Management Protocolapp-beta
SNMPV3Simple Network Management Protocol V3app-beta
SNTPThe SNTP module implements the Simple Network Time Protocol.app-beta
TELNETTelnet, which runs over a TCP connection, provides bidirectional, interactive communication between two nodes on the Internet or on a Local Area Network.app-beta
TFTP CLIENTThe TCP/IP Stack Library Trivial File Transfer Protocol (TFTP) module is a simple protocol used to transfer files.app-beta
TFTP SERVERThe TCP/IP Stack Library Trivial File Transfer Protocol (TFTP) module is a simple protocol used to transfer files.app-beta
ZEROCONFZero configuration (Zeroconf), provides a mechanism to ease the configuration of a device on a network.app-beta
WebSocket ClientWebSocket client provides a full-duplex communication mechanism over a single TCP connectionapp-beta
TCP/IP Library Presentation LayerPresentation LayerThe MPLAB Harmony Networking Presentation Layer is an abstracted middleware layer that provides an encrypted channel.app-beta
TCP/IP Library Transport LayerTCPTransmission Control Protocolapp-beta
UDPUser Datagram Protocolapp-beta
TCP/IP Library Network LayerARPThe Address Resolution Protocol, or ARP, is a foundation layer of TCP/IPapp-beta
ICMPv4The Internet Control Message Protocol is used to send error and status messages and requestsapp-beta
IGMPThe IGMP module implements the IGMPv3 protocol. This protocol is used by hosts and routers to establish multicast group memberships.app-beta
IPv4IPv4 is the workhorse protocol of the TCP/IP protocol suiteapp-beta
IPv6IPv6 is the workhorse protocol of the TCP/IP protocol suiteapp-beta
ICMPv6ICMPv6 provides software abstraction of the IPv6 module existent in any TCP/IP Stack implementation. It provides error reporting and diagnostics to the TCP/IP stack.app-beta
NDPThe NDP (Neighbor Discovery Protocol) for IP version 6 is used by IPv6 nodes on the same link to discover each other's presence.app-beta
TCP/IP Library Datalink & Physical LayerGMACThe Ethernet Media Access Controller (GMAC) moduleapp-beta
ETHThe Ethernet Media Access Controller (ETH) moduleapp-beta
EMACThe Ethernet EMAC Driver moduleapp-beta
ETHMACThe PIC32 Ethernet Controller moduleapp-beta
PPPThe Point-to-Point Protocol (PPP) moduleapp-beta
MIIM DriverThe MIIM driver clients access PHY registers using the MIIM Driver APIapp-beta
TCP/IP Library Ethernet PHY DriverThis library provides a software abstraction for configuring external Ethernet PHY devices for use with the on-chip Ethernet Controller.
The supported Ethernet PHYs are: VSC8541, VSC8540, KSZ8041, KSZ8061, KSZ8081, KSZ8091, KSZ8863, KSZ9031, KSZ9131, LAN8700, LAN8720, LAN8740, LAN8742A, LAN9303, DP83640, DP83848, IP101GR, LAN9354, LAN8770, LAN8840 & Dummy PHY
app-beta
TCP/IP Library Ethernet ControllerENCX24J600The ENCx24J600 External MAC is an external module to the PIC32 that is connected through a SPI or PSP interface.app-beta
ENC28J60The ENC28J60 External MAC and PHY is an external module connected through a Serial Peripheral Interface (SPI) to host microcontroller.app-beta

License Latest release Latest release date Commit activity Contributors


Developer Help Developer Help Follow us on Youtube Follow us on LinkedIn Follow us on Facebook Follow us on Twitter