When I was first learning Harmony, I could not find a book that could quickly teach me how to program PIC32 devices using the Microchip toolset. Similar books are available for almost any programming environment, but not Harmony. Even though Microchip provides wikidot tutorials and thousands of pages of documentation, there is little or no guidance to explain the “how and why” when developing Harmony applications. My expectation is that a newbie, using this book, could become proficient enough in a week to develop his/her own applications.

I have decomposed some of the basic Harmony examples and reconstructed them in an integrated application using the Ethernet Starter Kit II hardware. In this book, there are complete projects that demonstrate the use of timers to control LEDs and switches; the use of the USB Communications Device Class (CDC) library to communicate with a PC; and the use of the TCP/IP stack to develop an http_net web server for an embedded system.

Over many decades, Bill Petrick, a licensed professional engineer (nuclear), has developed custom software on mainframes, minis, micros, PCs and embedded systems for commercial nuclear power plants. These projects used different development tools, operating systems, compilers, and hardware and were programmed in FORTRAN, C, C++, C#, HTML, and/or javascript. For most of these projects, the software life cycle and documentation followed the IEEE software standards to ensure high quality of the software product. This book uses that broad experience to demonstrate how to use and understand Harmony ™ and the Microchip development environment.


Download Source Code

The source code used in the book’s step-by-step procedures is contained in text files organized by the book chapters. Within each file, the figures and their contents are clearly identified.  Click on any of the links below and the text file will be downloaded into your browser’s window.  From there, the source code can be copied and pasted into the MPLAB X editor.  

Questions and comments

 I would like to hear from people who have read and used the book. If you have any questions or comments (good or bad), please send an email to BillP@capritechnologybooks.com