The chipKIT Development History
On May 23, 2011, Microchip Technology and Digilent Inc. announced the release of two new development boards, the chipKIT UNO32™ and the chipKIT MAX32™. Both of these boards featured Microchip Technology’s PIC32 Microcontrollers that utilize the MIPS® M4K 32-bit Core.
These two platforms were developed specifically to introduce 32-bit functionality to the Arduino™ community that up until that time was limited to 8-bit. Special attention was made during the development to ensure users could move into the 32-bit space while still enjoying the code references, application examples and other resources that exist on the main Arduino™ site with little to no modification.
Here is a dangerousprototypes.com interview on the history and start of chipKIT with some core team members.
Over the past 5 years, several independent consultants, developers and companies have joined the team. As of January 2016, approximately 25 chipKIT-compatible boards have been released. 17 of those are base boards or industrial controllers, and 8 are expansion boards or “shields.” A large number of classic Arduino shields are also compatible with chipKIT base boards.
Arduino Hardware Compatibility
The chipKIT boards were designed to be form-factor compatible with existing Arduino™ boards. This includes outer dimensions, mounting hole placement, and so on. The pin-out has been designed to match the modeled board as closely as possible. The PIC32 MCUs populating the chipKIT boards are 3.3V devices, meaning that as long as the shield can operate at this voltage level, chances are you can run it on the chipKIT board. Keep in mind that all pins on the chipKIT boards are 5V tolerant. For additional tips and information concerning using 3.3V devices in a 5V world, please see the Microchip 3V Tips ‘n Tricks Document. Users should always check a board and/or shield manufacturer’s documentation and specifications to determine compatibility before purchasing the product. If you have any questions or doubts, contact the manufacturer for the particular chipKIT board you are using.
Arduino Software Compatibility
Great efforts have been taken to port Arduino™ core functions and libraries to work on the chipKIT Platform. This means many sketches and application examples making use of these core functions and libraries should be interchangeable between Arduino™ and chipKIT boards.
The chipKIT Team was founded by Gene Apperson of Digilent, Rick Anderson and Mark Sproul of FUBAR Labs, and Marc McComb of Microchip. It is a consensus-driven organization that is committed to the principles of open-source development.
Contributing members include the Founders just mentioned, along with Sharon Baker, Steve Bible, Jacob Christ, Jeremy Cobb, Jose Diaz, Marius Geanta, Chuck Hellebuyck, Matt Jenkins, Jason Kajita, Josh Ian Lindsay, Sergey Pavlov, Brian Schmalz, Priya Selvaganesan, Michael Skoczen, Tony Stram, Larissa Swanland, Rich Testarde, Keith Vogel, Jay Weeks, and Adam Wolf.
Supporting members include Derek Carlson, Clint Cole, Denise Eribes, Joe Harris, Barbara Kearney, Cheri Keller, Guy McCarthy, Dave Paloian, and Vince Sheard.
Creating the MPIDE and Software Libraries
In order to maintain compatibility with the existing code and resources in the Arduino™ community, it was important to create a seamless transition for the user from their existing Arduino™ boards to the chipKIT platform. Experienced Arduino™ IDE developers Mark Sproul and Rick Anderson from the Fair Use Building and Research Labs in Central New Jersey provided the necessary skills and experience.
In the later half of 2010, Mark Sproul began the arduous task of porting software source files and modifying the existing bootloader from a fork of the existing Arduino™ 0022 IDE while Rick Anderson made changes and improvements to the IDE itself. Rick’s efforts resulted in the creation of a modified version of the Arduino™ 0022 IDE that was renamed Multi-Platform or MPIDE as it could be used with both the chipKIT boards and existing Arduino™ boards, further abstracting the Microcontroller architecture from the user.
For many years MPIDE was the official chipKIT development environment. Along the way several other embedded IDEs have added support for chipKIT boards, including UECIDE, Xcode (via EmbedXcode), LabView LINX, and Visual Studio (via Visual Micro). In 2015, the team revised the MPIDE distribution to create the chipKIT core, which is a plug-in for the official Arduino IDE v1.6.7 and later versions. As of January 2016, MPIDE will remain available in archive form but will no longer be actively developed.
Populated with Microchip Technology’s PIC32 32-bit microcontrollers, the chipKIT embedded platform brought unprecedented performance, memory expansion and peripheral features to the Arduino™ community for the first time.
Processor speed on chipKIT boards varies from 48 MHz to 200 MHz, with Flash memory sizes ranging from 128KB to 2048KB. RAM memory varies from 16KB–on the now discontinued chipKIT Uno32 (replaced by chipKIT uC32)–to 512KB on the chipKIT Wi-FIRE.
The PIC32 microcontroller family offers many advantaged features for chipKIT developers such as Ethernet/USB/CAN connectivity, 50 MHz Serial Peripheral Interface (SPI), Floating Point Unit (FPU) for fast single- and double-precision math, and 12-bit, 18 MSPS Analog-to-Digital conversion with up to 48 channels.