The EspressI/O is built around a 16bit PIC Microchip (PIC24FJ256GA704). All coding was done in C language using MPLAB® IDE V3.50 and the MPLAB® Code Configurator plug-in. All code required for this controller is available on GitHub. The link is available in the Download section. I will not go into details of how to upload code to the PIC chip as there are plenty of other videos out there, but I will point out that you will need to buy a PICkit™ 3 device which will run you about $75CAD or $50USD. The MPLAB® software is available free to download from Microchip.
Code Contributors
While all of the EspressI/O specific code is written by me, including the ADS1220 library which is used for the RTD circuit, I couldn’t have done it without libraries from others that have shared their code. In particular I want to point out the following two:
- David Cannings’ ST7565 LCD Controller Library – A huge thanks to David for this code as it would have taken me a long time to write something similar. I just added a few very minor functions for my purpose such as clearing specific blocks of the screen and drawing a logo!
- Brett Beauregard’s PID Library for Arduino – Another big thanks to Brett for the PID code. I had to convert it to C language for use with the PIC and added a minor function related to avoiding Integral Windup in my controller.