Open-source and so much moreBy The Chipaxe Team
The CHIPINO is an open sourced Microchip PIC based module based on the Arduino connection scheme. The CHIPINO, developed by The Chipaxe Team, matches the board outline, mounting holes, connector spacing and most of the microcontroller I/O functions found on the popular Arduino module. It offers a Microchip PIC user the opportunity to use their existing compiler and programming tools with all the great shields available to the open source world of Arduino.
The CHIPINO name comes from an Italian fishing town in San Francisco where fisherman were asked to "chip-in" at the end of the day from their daily catch. The result was a community soup (chipino soup) everyone could share. CHIPINO, the module, does the same for the Microchip PIC community by offering an open source platform to build upon and chip-in their own application ideas. Users can submit their own application code and shield designs for the CHIPINO community to share. The advantage CHIPINO offers is it's programmed directly with a very low cost PICkit 2 or PICkit 2 clone programmer (included with the CHIPINO Starter Kit) that is also open sourced so you can build your own. This programming method allows a user to plug any blank PIC16F or PIC18F 28 pin 0.300" pitch microcontroller into the CHIPINO (rather than using a pre-programmed bootloader chip) and program it in Assembly, BASIC, C, Pascal, Flowcode, or any other compiler that supports the Microchip PIC.
The CHIPINO comes with a PIC16F886 along with the Microchip MPLAB IDE and the HI-TECH C compiler. You also get the Simple C library from Chuck Hellebuyck's future book "Beginner's Guide to Embedded C Programming Volume 3" that makes writing C programs as easy as BASIC or Arduino. The CHIPINO is offered as a bare board, a kit of parts or as a fully assembled module. Pricing is $24.95 for a fully assembled module. Starter kits that include a PICkit 2 clone programmer are also available for $39.95. The CHIPINO also has its own proto-shield that has a breadboard for building custom circuitry to interface to the CHIPINO. You can get all these products from chipaxe.com. The fun part though for most hobbyists is building something, so CHIPINO also comes in a kit form so you can build it yourself and save a few dollars. The lowest price option is to just buy the bare CHIPINO circuit board and get your parts from Jameco.
Building a CHIPINOThe CHIPINO bare board comes with a list of parts that are available from Jameco. The board is designed for leaded parts so it's very easy for the home hobbyist to assemble. The kit is shown in Figure 2.
|Part Description||Manufacturer Part Number|
|PCB, Chipino Board, 2.7" x 2.1"||2150264|
|Socket, IC, 28-pin, 0.3", Dual, LP||6000-28NDW|
|IC, PIC16F886-I/SP, SPDIP-28, 14K Flash, 8b||PIC16F886-I/SP|
|IC, Voltage Regulator, +3.3V, LDO, TO-92/3||LP2950ACZ-3.3/NOPB|
|IC, Voltage Regulator, +5V, TO-220||7805T|
|Header, RA, 1-row, 6-pin, 0.1"||RMH6|
|Header, 1-row, 3-pin, 0.1"||7000-1X3SG-R|
|Header Shorting Block, 2-pin||2012J-CR|
|Header, Pass-through, Stackable, 1x6 Position||RS1-06-G-.561-A11596|
|Header, Pass-through, Stackable, 1x8 Position||RS1-08-G-.561-A11596|
|Resistor, 1/4W, 1KΩ||CF1/4W102JRC|
|Resistor, 1/4W, 10KΩ||CF1/4W103JRC|
|LED, Green, 565nm, T1-3/4, 1.7V||LG12340|
|Capacitor, Ceramic, Radial, 0.1µF, 50V||SR205E104MAA-VP|
|Capacitor, Radial, 100µF, 16V||RA100/16-R|
|Capacitor, Monolithic, 22pF, 100V||COG22/100-R|
|Jack, DC Power, Male, 2.1mm||GCD014|
|Switch, Pushbutton, SPST, OFF-(ON)||EVQ-11A04M|
|Switch, Mini, Slide, SPDT, ON-ON||3450XBB-4|
|Crystal, 16MHz, 50ppm, HC49/S||CY16LP|
Assembly Instructions1. Insert 28 pin socket in U1 location and solder. Make sure the "U" shape in the top of the socket lines up with the tiny "U" in the circuit board outline, see also step 17.
2. Insert R1 (1k) and R2 (10k) in place and solder. They can insert in either direction. Clip off the excess leads.
3. Insert C1 (0.1µF) , C4 and C5 (22pF) in place and solder. They are not polarized, so they can go in either direction. Clip off the excess leads.
4. Insert LED into D1 position and solder. Make sure the flat mark on the LED lines up with the silkscreen on the board. Clip off the excess leads.
5. Insert Slide Switch in Ext. Pwr location and solder in place. It can insert in either direction.
6. Insert momentary switch in S1 location and solder in place. It can insert in either direction. Clip off the excess leads.
7. Insert crystal in X1 location and solder. It can insert in either direction. Clip off the excess leads.
8. Insert the 100µF in C2 and C3 location with the positive leads in line with the "+" marking on the circuit board as shown in the picture below. Solder in place. Clip off the excess leads.
9. Bend the leads of the 7805 5V Regulator at 90° angle so it will insert flat on the circuit board at location U3 as shown to the right. Solder in place. Clip off the excess leads.
10. Insert 6pin 90° Header in ICSP Programmer location and solder leads in place. Clip off the excess leads.
11. Insert 2.1mm Power Port in place and solder. You will have to hold it to the board while you solder.
12. Insert MCP1700 in place at the U2 location. Make sure the flat side of the part lines up with the flat marking on the circuit board. Solder the part in place. Clip off the excess leads.
13. Insert three 3-pin header in the 3V/5V holes next to U2. Solder them in place.
14. Install jumper at the 5V position of 3-pin header you just installed.
15. Insert the 6 pin headers at the power rail and the Analog rail. Solder in place. Make sure they align straight. Clip off the excess leads.
16. Insert the 8 pin headers at the Digital rails. Solder in place. Make sure they align straight. Clip off the excess leads.
17. Insert the microcontroller into the 28 pin socket. Make sure the "U" shape in the top of the socket lines up with the tiny "U" in the circuit board outline per the drawing above to the right.
Once you have the CHIPINO built, you can use it with many of the Arduino shields, but it also has its own proto-shield for building custom circuitry. The proto-shield has a small protoboard area and extended lead connectors that plug right into the CHIPINO module. This allows you to build a circuit to work with the CHIPINO and then unplug it for later use. The proto-shield is shown in Figure 3. You can get this shield in kit form as well.
Now let's see how easy it is to program a simple project into the CHIPINO using SimpleC for the HI-TECH C compiler.
Simple ProjectThe picture in Figure 4 shows the connections on a proto-shield to drive an LED with the CHIPINO. Getting an LED to flash is always a great starting point. The software will drive the LED directly from a CHIPINO digital I/O pin and flash it at a 1 second rate.
Flash an LED example using simpleC
This code will drive an LED on pin 8(RB0)
and flash it on and off at a 1 second rate.
PIN 8(RB0) to LED Anode
LED Cathode to 1kΩ
1kΩ to Ground
init_micro(); // Initialize I/O
pause (1000); // Delay for 1 second (1.000 sec)
pause (1000); // Delay for 1 second
The project software shown has the #include line to include the SimpleC header file. This can be bypassed and the project programmed directly in HI-TECH C if that is what you prefer to use or any compiler that supports the Microchip PIC16F886.
ConclusionThe CHIPINO makes development easy, but because it uses all the same tools as a professional Microchip PIC developer, learning with the CHIPINO is a first step to a professional career in embedded programming.
You can even modify the design if you build it from the kit or bare board with components from the Jameco Catalog. The CHIPINO recommends a 16MHz crystal, but the board will accept a resonator or different speed crystal, so you could build it with a 20MHz to go faster or a 4MHz to run slower. You could also use a PIC16F876A part rather than the PIC16F886 if that is what you are more familiar with. You can get the PIC16F876A from Jameco as well.
The whole idea behind CHIPINO is to allow Microchip PIC users the opportunity to share in the great development community surrounding the Arduino environment. CHIPINO can work with many of the Arduino shields. Users can submit their own application code and shield designs for the CHIPINO community to share.