In order to understand the chipKIT platform, it is important to talk about Arduino first. Arduino is an easy-to-use and powerful open source environment for developing microcontroller based applications. It has gained huge amount of popularity in past few years, specially among hobbyists. Arduino has been a wonderful tool, introducing many people to the world of embedded electronics with little or no prior knowledge of electronics. The standard Arduino development boards are based on 8-bit Atmel AVR processors which are pre-programmed with a serial bootloader, and thus simplifies the uploading of user programs to the on-chip flash memory without the need of any external programmer. Because of its low cost, easy-to-use software development environment (open-source C/C++ like programming platform), rich set of libraries, and tons of resources available online, Arduino has become a common choice for electronics hobbyists these days. Hundreds of plug-in application boards, called Arduino shields, are also commercially available to extend the functional capabilities of the Arduino board. The simplicity and the open source nature of Arduino and its shields allow students, hobbyists, and even artists to do many creative things.
Inspired from the growing influence of Arduino, Microchip and Digilent, in 2011, introduced a new and much powerful form of Arduino platform, called chipKIT, which is based on 32-bit PIC processors. The chipKIT platform consists of two development boards (chipKIT UNO32 and chipKIT MAX32), and an open-source software development tool, which is basically a modified version of the Arduino IDE, and is called MPIDE (Multi-Platform Integrated Development Environment).
The chipKIT UNO32 board contains the PIC32MX320F128 microcontroller which features a 32-bit MIPS processor core running at 80 MHz, 128K of flash program memory, and 16K of SRAM. The board is the same form factor as the Arduino™ Uno board and is compatible with many Arduino™ shields. The board provides 42 I/O pins out of which 12 pins can also serve as analog input channels.
On the other hand, the chipKIT Max32 is based on the Microchip PIC32MX795F512L microcontroller and provides 512K of flash program memory, 128K of RAM and 83 I/O pins. The form factor is same as that of the Arduino Mega board and is compatible with many Arduino™ shields as well as larger shields for use with the Mega boards.
Both chipKIT Uno32 and Max32 boards are pre-loaded with a serial bootloader that allows you to directly download the applications using the MPIDE tool. While downloading the applications, the MPIDE tool communicates with the bootloader program through the onboard USB-UART interface. The MPIDE is backward compatible with the Arduino IDE and supports most of the Arduino boards too. We will explore the two chipKIT boards and the MPIDE tool in more detail in upcoming tutorials.
To sum up, chipKIT is a complete set of hardware and software tools for developing microcontroller-based applications using PIC32 processors. Since the chipKIT programming environment (MPIDE) is based on the Arduino platform, users can easily write applications without strong knowledge of the microcontroller’s internal architecture. The beauty of the chipKIT platform is that you don’t need any external compiler and programmer to develop and download applications into Arduino or chipKIT boards; everything is integrated into the MPIDE tool.