The Chipkit Pi, an Arduino compatible dev-board designed specifically to be programmed from, and or controlled by your Raspberry Pi.
At the heart of the Chipkit Pi lays the 32-bit PIC32MX250F128B in an easily replaceable 28 pin PDIP package. The PIC, which sports 128Kb of flash and 32Kb of ram runs at 40 MHz but is capable of being clocked at 50MHz. BTW, PIC32's are capable of 1.56 DMIPS/MHz (Dhrystone 2.1). The Chipkit pi operates at 3.3 vdc making it immediately compatible with the raspberry pi, also a 3.3vdc device. You will not have to kluge together a voltage level converter or purchase an "Embedded Pi" Arduino Shield Interface Board. This is worth checking into the option.
The R-Pi gains a number of features with the addition of the Chipkit Pi.
A real time clock, (the R-Pi does not have one)
2 – PWM outputs
2 – SPI channels
2 – I2C channels
2 - UART's
2 – 10 bit AtoD converters (1100KBPS)
3 – Comparator inputs
A 32.768 KHz crystal for precisely generating a 1 Hz period (What is 2 to the 15th power, go do the math right now? It divides perfectly…)
The Chipkit Pi can be powered a number of ways (check the getting started PDF) but will usually get power through the female header, labelled "Rpi-Connect" when connected to the R-Pi.
Rpi-Connect mates directly with the male GPIO header on the Raspberry Pi. Don't worry, the Chipkit Pi isn't supported solely by the header. An adhesive rubber foot has been stuck to the bottom of the Chipkit board to balance the Chipkit on the RJ45 jack of the raspberry Pi board.
If you start powering a more devices from the Chipkit, then you may want to use the barrel plug for power. There is only so much the Raspberry Pi can handle.
Getting a new Chipkit Pi to do something right out of the box is extremely easy.
First, download the Pi NOOBS image with the MPIDE already installed on it.
Burn the Raspian with Chipkit MPIDE to an SD card.
I used the Win32DiskImager. http://sourceforge.net/projects/win32diskimager/
Slot the card into your Pi and power it up.
Once Raspian has loaded and displays the desktop. Click on the Chipkit MPIDE icon located in the lower left hand corner.
After a bit of a wait, you will see the MPIDE window.
Now, hold the bootloader button while pressing the reset button to put the Chipkit into bootloader mode. The Tx1 LED will light up and the Rx1 LED will flash to indicate that the board is indeed, in bootloader mode.
We want to upload the Arduino sketch named blink. To do this, go to File>Examples>Basics>Blink.
Click on the upload button.
The Tx1 and Rx1 LED will turn off after the Arduino sketch has been uploaded. About 64 seconds later the status bar at the bottom of the window will read "done uploading.” If you did everything right, LED1 will be blinking on and off at 0.5Hz.
I have a few criticisms though, which are not for the actual product but the infrastructure surrounding it. Starting with the three and a half hour image download time. (To be fair, that was before the recent update.)
Support from Chipkit themselves is a bit lacking. Luckily, element14 is taking over in that area.
Third crit. The dearth of information about the Chipkit. The Chipkit Pi page itself fails to mention a lot of technical details about the product. For instance, the number and type of I/O on the board is not at all obvious and you, the potential customer will have to do a bit of research to make an educated purchase.
The webinar at http://chipkit.net/?s=chipkit+pi&searchsubmit= does have a lot of good information. About that webinar, I liked it and I am glad it was made. However, a sell sheet bullet pointing all the features gone over in the webinar would have been nice. Reading a pdf would have been a lot faster and easier than waiting for the 40 minute and 29 second video to dole out the goods. In the very least, the webinar should be made available for download.
The Chipkit Pi is a very cool and handy little device for a number of reasons.
The peripheral pin select feature. This feature allows you to rerout PWM, UART and SPI signals to different header positions as needed.
The Chipkit Pi adds a layer of protection between your projects and the R-Pi. Although considering the costs, a $28 Chipkit Pi versus a $35 Raspberry Pi Model B, I'm not sure I'd feel any better burning the one up over the other.
The Chipkit Pi is a completely usable dev-board all on its own. If you wanted to, you could make use of the Chipkit Pi sans Raspberry Pi. You can plug a Pickit 3 into it if you solder pins onto the board. Then you can use Microchips's MPLAB to program the board in C. Alternatively, if you are looking for an exercise in self-endurance, MIPS assembly.
I intend to use the Chipkit Pi as a submind in some future projects. Loosely speaking, submind is a term for delegated processing that I am borrowing from Neal Asher's Polity series of SciFi novels. (Awesome reads, I highly recommend them)
Consider the following scenario. You've got a totally sweet, python built GUI running on the R-Pi. The GUI could send simple commands via UART0 to the Chipkit. For instance, 0010 could mean, go to position 2.
Meanwhile the Chipkit submind waits until it receives an instruction. The instruction gets received, and the Chipkit goes to work.
A trio of stepper motors start spinning. Algorithms for motor acceleration and deceleration get computed. All this happens while keeping an eye out for the transfer of any limit switches.
Offloading all of these menial tasks to the Chipkit, frees up the R-pi. You also made life a lot simpler for yourself because, an Arduino sketch is a lot simpler than a python program.
On the other hand, consider a second, simpler scenario. The Chipkit Pi could run as a datalogger, which will periodically report values to the R-Pi. Conversely, maybe the Chipkit Pi just runs merrily along in the background until queried for data by the R-pi.
What makes the Chipkit Pi so cool and useful is its Arduino compatibility. MPIDE comes loaded with a lot of simple sketches that will go a long way toward assisting the beginner or the forgetful. The wealth of Arduino projects, shields and sample code means that R-Pi users are only a few lines of code in away from taking advantage of a powerful little 32 bit ally.
See more news at: