Drive your learning and build robots with CHRP4!

CHRP4 is a beginner robot development board for anyone.

CHRP4 (Common Hardware Robot Project, version 4) is a versatile, all-in-one, beginner microcontroller development board that includes everything necessary to start building basic robots quickly and easily.

CHRP4 was created specifically to help high school students learn microcontroller programming and electronics while building simple line-following, object-sensing, remote-controlled, or Sumo robots. It’s the fourth major revision of a common design that has been proven and refined in classrooms for over fifteen years! Find out how CHRP4 can help you learn about or teach programming and robotics.

CHRP4 is designed for beginners

All of the commonly-used I/O devices for learning microcontroller programming and interfacing are already integrated into the CHRP4 circuit board. The built-in circuits and components enable beginners to focus on learning fundamental programming skills quickly, without having to assemble and debug breadboard circuits first.

After mastering the basics, continue learning by building the same circuit into a robot. CHRP4 includes all of the parts needed to build a simple robot, including a low-dropout voltage regulator, a dual DC motor driver chip, a removable ultrasonic distance sensor, and ingenious, break-away optical line sensor and floor sensor modules that allow learners to make a variety of simple robots with no additional electronic parts or circuits to add on or buy.

All learning materials are open and included. The step-by-step introductory programming activities on this website introduce all of the foundational concepts and skills needed to enable beginners to create their own programs.

CHRP4 in the full-assembled configuration.

A fully-assembled CHRP4 in the Sumo robot configuration, ready for optical floor sensor component installation after mounting on its robot chassis.

Great for schools and maker spaces

CHRP4 is designed using through-hole parts to make it easy for each learner to build and customize their own circuit. Its open hardware design allows CHRP4 circuit boards to be manufactured in bulk to reduce costs, or to be modified by end-users for specific applications.

Assemble CHRP4 quickly in a starter configuration, using a minimal subset of parts, and customize it later. All five introductory learning activities can be completed using just the CHRP4 educational starter configuration. Learners can master programming concepts before deciding on their robot’s design and determining its capabilities, while parts costs are reduced by omitting unnecessary components.

Combine CHRP4 and UBMP4 for more flexibility. CHRP4 and UBMP4 utilize identical circuits and curriculum activities, enabling students in the same class to create unique and differentiated projects which instructors can easily support with common lessons and a minimal component inventory.

CHRP4 circuit board assembled in the educational started configuration using minimal parts.

CHRP4s minimal educational starter configuration supports all five introductory programming activities and allows students to determine the capabilities, and components, of their robot design later.

Learn hardware programming

CHRP4’s on-board PIC16F1459 microcontroller is programmed in C. Use Microchip’s mature desktop MPLAB® X IDE for complex projects, or the simpler cloud-based MPLAB® Xpress IDE for flexibility – it can even run on school Chromebooks!

Nothing is hidden, and there are no ‘magic’ function libraries. All of the program and library code is plainly visible and customizable to help learners develop a more complete understanding of hardware and software interaction.

A pre-loaded bootloader makes programming easy. Plug a USB type-C cable into CHRP4 and it appears as a mass storage device on the computer – simply drag and drop compiled program files onto it. Or, connect Microchip’s PICkit™ 4 or 5 programmers to the ICSP header to exploit the full memory of the PIC.

Introductory programming activity 1 open in the MPLAB X IDE

The first introductory programming activity in the MPLAB X IDE.

CHRP4 Schematic

Open or download a larger CHRP4 (.pdf) schematic.

CHRP4 hardware features

  • Microchip PIC16F1459 USB-capable microcontroller with 8k words of program FLASH (6k words free when using the USB bootloader), 128B of user FLASH, 1kB of RAM, 10-bit ADC, and a built-in temperature sensor

  • 5 built-in pushbuttons

  • 5 visible light LEDs

  • piezo beeper output

  • low-dropout voltage regulator for 6-12V operation

  • quad half-bridge motor driver for controlling two DC motors in forward or reverse, or a single bipolar stepper motor

  • integrated, break-off line sensor with IR LED and two phototransistors

  • integrated, break-away left and right floor sensor modules, each with one IR LED and one phototransistor

  • optional 4-pin header pins/socket for adding an ultrasonic SONAR module, servos, NeoPixels, bumper switches, or other devices

  • optional IR demodulator for remote control decoding

  • USB 2.0 type-C port for power and programming

  • 6-pin ICSP (In-Circuit Serial Programming) header for PICkit 4 and 5

USB µC bootloader and CHRP4 programming

PIC16F1459 microcontrollers included with CHRP4 kits are pre-programmed with the compact, assembly code version of the open source USB µC bootloader. When connected to your computer through its USB-C connector, the USB µC bootloader allows the microcontroller in CHRP4 to appear in the computer’s file system as a mass storage device. Programming CHRP4 is as simple as dragging and dropping the compiled .hex file onto the PIC16F1459 drive representing the circuit on your computer. The program starts running as soon as the .hex file is transferred.

CHRP4 programs can be developed in C or assembly code using Microchip Technology's MPLAB X IDE or the MPLAB Xpress cloud-based IDE, or in any other programming language or IDE that creates a Microchip-compatible .hex output file. The on-board PIC16F1459 microcontroller can can also be fully programmed and reprogrammed by connecting a user-supplied PICkit 4 or PICkit 5 programmer to the optional ICSP (In-Circuit Serial Programming) header on CHRP4.

CHRP4 is open hardware and uses open source software

We would, of course, love it if you ordered CHRP4 boards from us, but in our mission to help more people learn electronics and programming we decided to make CHRP4 completely free and open. Releasing CHRP4 as open hardware allows schools or maker spaces to download the CHRP4 printed circuit board files and have circuits fabricated at lower cost through bulk orders or via sponsorships, as well as enables end users to customize the CHRP4 design to suit specific applications. We’d love to know what you’re doing with CHRP4!

The following permissions and conditions apply to any use of CHRP4:

  • CHRP4 KiCad files stored in GitHub are open hardware and are licensed under the terms of the MIT license (except the mirobo.tech logo), meaning the circuit can be modified for specific needs and the fabrication files are freely available

  • CHRP4 programs stored in GitHub are open source software licensed under the terms of the MIT license, so anyone is free to use and modify the programs and programming examples for their specific purposes

  • CHRP4 learning materials on the mirobo.tech website are licensed under the terms of the Creative Commons CC-BY 4.0 license and can be re-mixed as needed

  • the USB µC bootloader is open source and licensed under the terms of the GPL3.0 license by John Izzard

  • the mirobo.tech logo mark is a trademark of mirobo Technolgy and may not be used without prior permission

CHRP4 FAQ

Is CHRP4 an Arduino, or compatible with Arduino?

No, CHRP4 is not an Arduino, nor is it programmed using Arduino software or development tools. Arduino code is similar to the C language code used to program CHRP4, but Arduino programs will not run in CHRP4. Please see our ARPS circuit if you are interested in making Arduino-based robots.

Why would I use CHRP4 instead of an Arduino, Raspberry Pi Pico, ESP32, or [insert your favourite embedded device here]?

The CHRP4 circuit includes built-in input and output devices to enable users to learn introductory coding without needing to add any external breadboards, components, carriers, hats, or shields. The microcontroller in CHRP4 was chosen for its simplicity, versatility, low cost, and availability in a DIP package, which allows learners to economically assemble their own, integrated and fully-functional circuit board, both for learning and as a complete, stand-alone project – something that is a lot more difficult when working with breadboards or multiple, external circuits or modules.

Programming CHRP4 using industry-standard C code adds some programming hurdles for new users, but we think programming a microcontroller-based hardware circuit like CHRP4 using C in a fully-featured IDE (including GitHub integration) unlocks the full potential of the hardware and provides computer technology learners with fewer software limitations than using simpler block-based languages (which are great for introductory, or more general STEM/STEAM instruction), or higher-level languages like Python (better suited for higher-level software-based tasks as opposed to hardware control).

What kind of USB-C cable do I need to connect to CHRP4?

CHRP4 has a USB 2.0 type-C connector, so you can use a USB-A to USB-C cable (commonly available as a phone charge and sync cable), or a UCB-C to USB-C cable rated for USB 2.0 speeds, or higher.

PIC®, PICmicro®, and MPLAB® are registered trademarks of Microchip Technology Inc., in the U.S.A. and other countries. USB Type-C® and USB-C® are registered trademarks of the USB Implementers Forum. PICkit™ is a trademark of Microchip Technology Inc. Other products mentioned are trademarks of their respective owners.