First Technology Transfer

Standard and Advanced Technical Training, Consultancy and Mentoring

Course M304 - A Comprehensive Introduction to Embedded TCP/IP and Ethernet Programming Using PIC32 Microcontrollers

Duration: 5 Days

Intended Audience

This course is for engineers who have a good knowledge of C programming and also a sound appreciation of TCP/IP networking. It is aimed specifically at developers who will be implementing socket based, embedded web server based and embedded SNMP based applications on embedded targets


'C' programming of TCP/IP applications requires a good understanding of the TCP/IP protocol and how to use the API functions supplied with Protocol Stack implementation. Where the Protocol Stack has been optimized for use in embedded systems configuration and building of the protocol stack to include just those features that need to be included in a given application need also to be taken into account. This course will lead to

  • An understandig of the Microchip TCP/IP Application Programming Interface functions and how to use them on PIC32 systems
  • with external Ethernet PHY/MAC devices and on-chip PHY/MAC devices, both 10 and 10/100 Mbps devices
  • An understanding of how to use the Microchip TCP/IP stack both stand-alone and together with the Free RTOS real time operating system
  • Being able to implement embedded web server oriented applications on PIC32 target platforms
  • Being able to design web pages that contain form based functionality as well as Java applets that can be used as a means by which the embedded web server can continually push information down onto the web page
  • An understanding of how URIs are interpreted and making use of Ajax techniques to implement responsive web based applications
  • A knowledge of how to implement code for generating web page content dynamically
  • Course Outline

    • Overview of MPLAB Harmony in connection with ethernet and TCP/IP Project Setup
    • Overview of TCP/IP
      • IP addressing and subnet masking - and how they are represented in the Protocol Stack
      • IP, TCP and UDP headers and their underlying data structures
      • The TCP and UDP protocols
    • TCP/IP - client-server implementation strategies
      • Principles of sockets API based programming
      • Implementing higher layer protocols in TCP/IP
      • Case studies exploring uses of:
        • DHCP
        • TFTP
        • FTP
        • HTTP
    • Using and configuring the Microchip TCP/IP Protocol stack on standalone (without an OS) systems using MPLAB Harmony
    • MAC and PHY functions and components
    • Understansing how the interface with the underlying hardware works
    • Integrating the Microchip TCP/IP stack into a FreeRTOS based application
    • Implementing simple data acquisition and control applications on top of UDP
    • Designing GUI-based control applications running on Windows or Linux workstations to control TCP/IP enabled embedded systems (the GUIs will be Qt based for portability). This part of the course can be tailored to use Microsoft Forms or Microsoft WPF and XAML if required.