As wikipedia says “Arduino is a popular open-source single-board microcontroller, descendant of the open-source Wiring platform, designed to make the process of using electronics in multidisciplinary projects more accessible.” I didn’t believe that and always thought it was just a platform designed to get people onto micro controller projects without really getting them to learn through all the basics. Even though Iv’e never used an Arduino, I’ve always recommended it to people who want a micro controller in their project asap without too much hard work. Never used one myself, never needed to. I read about a board from Hack A Day where they showed a Microchip PIC 32 powered variant of the Arduino. It did catch a lot of attention as I use PIC’s for almost all my projects, the benchmark results showed it to be the most powerful Arduino compatible board. This became my excuse to try the Arduino platform…..

Recently I was approached by Farnell now element14 to review any product I wanted. I was quick to pick the Digilent Inc’s ChipKit Uno32 board. It was an opportunity to try the Microchip PIC32 and Arduino platform in one go. Soon it arrived as a package:

The First impression was, it is a very well made board with all the quality components. The PIC32MX320F sits in the middle, some key features of the PIC chip are:

  • 80MHz, 1.56 DMIPS/MHz, 32-bit MIPS M4K Core
  • 5 Stage pipeline, Harvard architecture
  • Single cycle multiply and hardware divide unit
  • 32 x 32-bit Core Registers
  • 32 x 32-bit Shadow Registers
  • Fast context switch and interrupt response
  • 128K Flash (plus 12K boot Flash)
  • 16K RAM (can execute from RAM)
  • Flash prefetch module with 256 Byte cache
  • Lock instructions or data in cache for fast access
  • Fast and Accurate 16 channel 10-bit ADC,
  • Max 1 Mega sample per second at +/- 1LSB, conversion available during SLEEP & IDLE
  • Multiple switchable clock modes for each power mode, enables optimum power settings
  • 8 hardware breakpoints (6 Instruction and 2 Data)
  • 2 wire programming and debugging interface
  • JTAG interface supporting Programming, Debugging and Boundary scan
  • 2 Internal oscillators (8MHz & 31KHz)
  • Hardware RTCC (Real-Time Clock and Calendar with Alarms)
  • Watchdog Timer with separate RC oscillator

The next important component is an FTDI chip, a USB to UART chip. In my opinion FTDI by far makes the best USB interfacing chips. It is way ahead in terms of driver support and windows compatibility. Iv’e used cables and boards using chips from Prolific but have never been able to use them without issues. The only other USB to USART converter I have faith in is from a Chinese manufacturer called Nanjing QinHeng Electronics Co. On my last trip to Shenzhen, I picked up a USB to UART cable that uses CH340 chip made by this company. This is the second most flawless USB to UART converter iv’e come across.

Moving on from Components, my impression of the board is that it is a Serial Bootloader configuration which developers have been using for years. This has been designed into a development board with all the regular common components like voltage converter, led’s and a crystal oscillator. Some links and headers that provide access to ports are clearly marked. It looked like an ordinary development board till the time I downloaded the MPIDE development environment. To my amazement it looks just like Processing which I use regularly. This is when the fun starts…

First Good thing I noticed about the development environment: Free…

Second: Open Source..

Third: (Mac, Windows, Linux) all supported.

Fourth: Existing Arduino sketch compatible.

Fifth: Microchip in favor of ChipKIT 


It is pretty easy to get started.

Step 1
Connect the ChipKit to the PC using USB (no power required is it is drawn from USB)
Step 2
Step 3
Write code and Execute

No need for an additional programmer hardware or software. If you get bored you can always install a pin header on JP3 and use this as a regular PIC32 development board.

A Short Video:

Useful Links:
element14 ChipKIT Uno32
ChipKit Forum


 Last Updated 19-03-2012