CHRP 2.0

CHRP 2.0 circuit photo

CHRP 2.0 features

  • 28-pin PIC16F886 microcontroller
  • 8 buffered LED outputs*
  • 8 pushbutton inputs*
  • piezo beeper output
  • audio low-pass filter output
  • 2 IR LED outputs*
  • 2 line X 16 character LCD*
  • high-current motor driver output for 2 DC motors or 1 stepper motor*
  • 6 servo motor outputs*
  • 2 analogue phototransistor inputs
  • 1 analogue potentiometer input
  • 1 analogue temperature input
  • IR demodulator input
  • RS-232 serial I/O
  • built-in power supply with rectifier, voltage regulator, and power LED

*Specific combinations of inputs and outputs can be active simultaneously. Refer to the schematic for all possible I/O combinations.

CHRP resources

CHRP 2.0 activities page

CHRP 2.0 schematic diagram (152kB PDF).

CHRP 2.0 parts layout (172kB PDF).

CHRP 2.0 Gerber files (148kB ZIP).

CHRP 2.0 parts list (84kB XLS).

Common Hardware Robotics Project - CHRP 2

The CHRP 2.x family has been phased out and was replaced by the CHRP 3 during the 2012-2013 school year.

The major changes going from the CHRP 2 family to the CHRP 3 family include the addition of a mini-USB port (for for a bootloader connection to the PIC18F25K50), and the removal of the RS-232 level shifter circuit and serial port. The motor and servo outputs of the CHRP 3 are also moved to separate I/O ports (from shared I/O lines on the CHRP 2) to better accommodate robots using a combination of DC and servo motors.

The CHRP 2 design is still viable. Our focus, however, will shift to development using the CHRP 3. The CHRP 2 files will remain here for reference, and any software written for the PCI16F886 in the CHRP 3 should be readily adaptable to the CHRP 2 with minor changes in I/O pin assignments.

Like the CHRP 3, the CHRP 2 is a versatile platform that can serve to teach electronic circuits, assembly code and C programming and be used in a variety of robotics and embedded control applications. In addition, our students have used it as a development system to develop and debug code for other processors in the mid-range PICmicro familly.

CHRP 2.0 family photo

These three different variations of the CHRP board correspond to the hardware requirements and software sophistication of the programming activities on the CHRP page - level 1, level 2, level 3.

Build a CHRP

What you will need

A CHRP printed circuit board. You can buy one from the products page. If you need many CHRP boards, you can save money by buying directly from our pcb supplier. Or, download the CHRP Gerber files (above) and have your preferred pcb facility make them.

Parts. All of the electronic components can be ordered from Digi-Key ( using the part numbers in the CHRP parts spreadsheet (above).

Tools - soldering iron, electronic solder, solder flux remover, needle-nose pliers, screwdriver, and diagonal cutters.

CHRP construction activities PDF

  1. CHRP Schematic Scavenger Hunt
  2. CHRP Activity 1 - Resistors
  3. CHRP Activity 1.1 - Series Circuits
  4. CHRP Activity 1.2 - Parallel Circuits
  5. CHRP Activity 2 - Diodes
  6. CHRP Activity 2.1 - Diode Rectifiers
  7. CHRP Activity 2.2 - LEDs
  8. CHRP Activity 3 - Capacitors
  9. CHRP Activity 3.1 - Capacitor Filtering.
  10. CHRP Activity 4 - Voltage Regulator
  11. CHRP Activity 5 - Digital Inputs

Program CHRP

What you will need

Microchip's MPLAB or MPLAB X IDE (, or a third-party PIC assembler.

Microchip's PICkit-2 or PICkit-3 USB programmer/downloader, or a third-party programmer.

A CHRP (of course!)—any of the three levels will work for the level 1 activities.

Batteries, a wall adapter or a power supply to power the CHRP.

Getting started

Assembly code

MPLAB tutorial

CHRP programming activities

Level 1

  1. Output program
  2. Count program
  3. Chaser program
  4. Input program
  5. Analogue input program
  6. Math program
  7. Decision program
  8. Loops program
  9. Time delay loops program
  10. Included subroutine program
  11. CHRP robot program

Advanced programs

Sound, light and communication programs

Level 2

  1. Jump table program
  2. Sound program
  3. Pulse-width-modulation (PWM) program
  4. Multi-output PWM program
  5. Servo program
  6. Data conversion program
  7. Serial transmit program
  8. Serial receive program
  9. IR receive program
  10. IR transmit program

Level 3

  1. Interrupt programming
  2. LCD display program
  3. LCD custom character program
  4. User interface programming