MPLAB® Harmony 3 Net Support Package
May 5, 2026 · View on GitHub

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.
- Microchip 32-bit MCUs
- Microchip 32-bit MPUs
- Microchip MPLAB X IDE
- Microchip MPLAB Harmony
- Microchip MPLAB Harmony Pages
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.
- Release Notes
- Microchip Software License Agreement
- MPLAB Harmony 3 Net Wiki
- MPLAB Harmony 3 Net API Help
Contents Summary
| Folder | Description |
|---|---|
| apps | Example applications for Net library components |
| docs | Net library help documentation |
| driver | Drivers used by the TCP/IP stack |
| tcpip | The TCP/IP stack |
| net pres | The 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:
| Category | Item | Description | Release Status |
|---|---|---|---|
| TCP/IP Stack Plugin | TCP/IP Configurator | The TCP/IP Stack Configurator Plugin UI | |
| TCP/IP Library General | TCPIP CORE | The core functions for the working of MPLAB® Harmony TCP/IP Stack is part of this Module | |
| VLAN Support | Support for tagged and un-tagged frames in the stack. | ||
| NETCONFIG | TCP/IP Stack Network Configuration | ||
| TCPIP CMD | TCP/IP Stack Commands | ||
| TCP/IP Library Application Layer | ANNOUNCE | TCP/IP Stack Library Announce Module for Microchip Devices | |
| Berkeley API | The Berkeley_Socket_Distribution (BSD) APIs provide a BSD wrapper to the native Microchip TCP/IP Stack APIs. | ||
| DDNS | The Dynamic DNS Client module provides a method for updating a dynamic IP address to a public DDNS service. | ||
| DHCP CLIENT | The 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. | ||
| DHCP SERVER | The DHCP Server module is used to assign IP addresses to DHCP clients from the configured IP address database. | ||
| DHCP SERVER v2 | The DHCP Server module is used to assign IP addresses to DHCP clients from the configured IP address database. | ||
| DHCPV6 CLIENT | The DHCPv6 client module will allow your application to dynamically obtain an IPv6 address from a DHCPv6 server. | ||
| DNS CLIENT | The DNS(Domain Name Service) Client, also known as the DNS Resolver | ||
| DNS SERVER | The DNS(Domain Name Service) Server | ||
| FTP CLIENT | The File Transfer Protocol (FTP) Client module will allow your application to upload the files to, and download the files from, any FTP server. | ||
| FTP SERVER | FTP server capability facilitates the uploading of files to, and downloading of files from, an embedded device. | ||
| HTTPNET SERVER | The HyperText Transfer Protocol (HTTP) Net Server module allows a development board to act as a Web server. | ||
| HTTP SERVER v2 | The HyperText Transfer Protocol (HTTP) Server module allows a development board to act as a Web server, version 2. | ||
| IPERF | Iperf is a networking tool that helps to measure networking bandwidth and performance. | ||
| NBNS | The NetBIOS Name Service protocol associates host names with IP addresses, similarly to DNS, but on the same IP subnet. | ||
| SMTP CLIENT | The SMTPC module in the TCP/IP Stack lets applications send e-mails to any recipient worldwide. | ||
| SNMP | Simple Network Management Protocol | ||
| SNMPV3 | Simple Network Management Protocol V3 | ||
| SNTP | The SNTP module implements the Simple Network Time Protocol. | ||
| TELNET | Telnet, which runs over a TCP connection, provides bidirectional, interactive communication between two nodes on the Internet or on a Local Area Network. | ||
| TFTP CLIENT | The TCP/IP Stack Library Trivial File Transfer Protocol (TFTP) module is a simple protocol used to transfer files. | ||
| TFTP SERVER | The TCP/IP Stack Library Trivial File Transfer Protocol (TFTP) module is a simple protocol used to transfer files. | ||
| ZEROCONF | Zero configuration (Zeroconf), provides a mechanism to ease the configuration of a device on a network. | ||
| WebSocket Client | WebSocket client provides a full-duplex communication mechanism over a single TCP connection | ||
| TCP/IP Library Presentation Layer | Presentation Layer | The MPLAB Harmony Networking Presentation Layer is an abstracted middleware layer that provides an encrypted channel. | |
| TCP/IP Library Transport Layer | TCP | Transmission Control Protocol | |
| UDP | User Datagram Protocol | ||
| TCP/IP Library Network Layer | ARP | The Address Resolution Protocol, or ARP, is a foundation layer of TCP/IP | |
| ICMPv4 | The Internet Control Message Protocol is used to send error and status messages and requests | ||
| IGMP | The IGMP module implements the IGMPv3 protocol. This protocol is used by hosts and routers to establish multicast group memberships. | ||
| IPv4 | IPv4 is the workhorse protocol of the TCP/IP protocol suite | ||
| IPv6 | IPv6 is the workhorse protocol of the TCP/IP protocol suite | ||
| ICMPv6 | ICMPv6 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. | ||
| NDP | The NDP (Neighbor Discovery Protocol) for IP version 6 is used by IPv6 nodes on the same link to discover each other's presence. | ||
| TCP/IP Library Datalink & Physical Layer | GMAC | The Ethernet Media Access Controller (GMAC) module | |
| ETH | The Ethernet Media Access Controller (ETH) module | ||
| EMAC | The Ethernet EMAC Driver module | ||
| ETHMAC | The PIC32 Ethernet Controller module | ||
| PPP | The Point-to-Point Protocol (PPP) module | ||
| MIIM Driver | The MIIM driver clients access PHY registers using the MIIM Driver API | ||
| TCP/IP Library Ethernet PHY Driver | This 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 | ||
| TCP/IP Library Ethernet Controller | ENCX24J600 | The ENCx24J600 External MAC is an external module to the PIC32 that is connected through a SPI or PSP interface. | |
| ENC28J60 | The ENC28J60 External MAC and PHY is an external module connected through a Serial Peripheral Interface (SPI) to host microcontroller. |