Whilst browsing some electronic sites looking at some of the development boards and kits that are available when I noticed the Chipkit UNO, this was advertised as being pin for pin compatible with arduino shields but used a Pic micro instead of an AVR chip which the ARduino uses. This intrigued me and I went and had a look at the specs.
The chipkit UNO is based on the PIC32MX320F128 microcontroller, looking at the specs it seems to be a fairly decent micro with plenty of features which we will look at, one thing I noticed that on the Chipkit Uno even though you can use Arduino shields, you also get access to all of the I/O lines of the PIC32MX320F128, 44 in total. Since I have a large quantity of arduino shields then this looked good
Here’s a summary of the micro at the heart of it, some of the key features are highlighted
Max Speed MHz | 80 |
Program Memory Size (KB) | 128 |
RAM (KB) | 16 |
Auxiliary Flash (KB) | 12 |
Temperature Range (C) | -40 to 105 |
Operating Voltage Range (V) | 2.3 to 3.6 |
SPITM | 2 |
I2CTM Compatible | 2 |
A/D channels | 16 |
Max A/D Resolution | 10 |
Max A/D Sample Rate (KSPS) | 1000 |
Input Capture | 5 |
Output Compare/Std. PWM | 5 |
16-bit Digital Timers | 5 |
Parallel Port | PMP |
Comparators | 2 |
Internal Oscillator | 8 MHz, 32 kHz |
I/O Pins | 53 |
Now for the software, you can use MPlab if you wish and you can even use a Pickit 3 to program it but the key feature is of course the Arduino compatibility and there is a download for the MPIde , Multi-Platform Integrated Development Environment. Once you follow the download steps and extract the contents of the zip file and start the program you will be greeted with basically the Arduino IDE. So a big thumbs up for making easy to get up and running. You can see the IDE below with the token hello world flashy LED example
Now for the code, here is the example to blink the ON board LED which is labelled LD5.
Code
[codesyntax lang=”cpp”]
void setup() { // initialize the digital pin as an output. pinMode(43, OUTPUT); } void loop() { digitalWrite(43, HIGH); // set the LED on delay(1000); // wait for a second digitalWrite(43, LOW); // set the LED off delay(1000); // wait for a second }
[/codesyntax]
If you like Arduino’s or would like to take advantage of PIC microcontrollers this has enough ‘extras’ to make it more powerful than the Arduino. Where I live in the UK you can pick up one of these for around £20.
Links