|
MPLAB X IDEMicrochip Technology
|
CHRP4 Beginner Robotics Developer Board
CHRP4 Overview
CHRP4 (Common Hardware Robotics Project - version 4) is beginner-friendly microcontroller development board created as a robotics-focused derivative of UBMP4 (USB-based Beginner Multipurpose Project – that's the reference to 'Common Hardware' in CHRP4's name). Both CHRP4 and UBMP4 are designed to help new learners quickly develop programming and interfacing skills without needing to assemble and debug circuits on breadboards first. This is made possible by incorporating a variety of common built-in hardware devices directly on-board. CHRP4 features five pushbuttons, five LEDs, IR floor and line sensing LEDs and phototransistors, a piezo speaker, an IR demodulator, a dual DC motor driver IC, and four headers to connect an ultrasonic distance sensing module, servos, or many other 3-pin peripheral devices. The floor and line sensor modules are pre-wired and can also be snapped off and re-connected with extension cables to provide flexibility for learners creating simple line-following, obstacle-sensing, remote-controlled, or Sumo robots.
CHRP4 is programmed in C using either Microchip's MPLAB X desktop IDE or MPLAB Xpress cloud-based IDE (MPLAB Xpress enables CHRP4 to be programmed using Chromebooks in schools). Pre-programming the on-board PIC16F1459 microcontroller with the open-source USB µC bootloader makes user programming as easy as plugging CHRP4 into a computer's USB port and dragging and dropping a compiled .hex file onto it. In a classroom or maker-space setting only one hardware programmer is required to pre-program the set of microcontrollers with the bootloader – all learners need is a USB type-C cable for programming. Pre-programmed microcontrollers and full documentation are available from the mirobo.tech website.
CHRP4 Hardware
The CHRP4 hardware is designed to be an inexpensive, versatile circuit that doubles as an introductory microcontroller training board as a well as a student’s end-of-term project. CHRP4 fulfills both roles using just the components installed on its simple through-hole circuit board, without learners needing to wire any additional circuits on breadboards.
Beginning computer technology learners first assemble CHRP4 while learning about electronic components, basic interface circuits, and soldering. After their CHRP4 circuit board is assembled, learners use it to develop their fundamental programming and interfacing skills. When learners are ready to progress further, they can choose to make CHRP4 into one of a number of different projects, including: line-following robots, obstacle sensing robots, IR remote controlled robot, and Sumo robots.
The CHRP4 hardware is designed to be built in stages, in three major configurations: first, as an educational starter circuit; next, as a line-following robot or simple robot project; and, finally, as a Sumo robot or more advanced robot project. Using some of the components on board as well as the four external headers, CHRP4 can be built into non-robotic projects as well.
Educational starter circuit configuration
The educational starter circuit configuration is the minimal set of components that enables learners to quickly transition into the introductory programming activities. Building this minimal configuration in classrooms or maker spaces enables both cost and time savings, and provides the flexibility for instructors to spread the project over multiple terms or courses, as well as the opportunity for students to customize their circuit for their final project later.
The education starter configuration is functionally similar to the UBMP4 board and can share its resources and curriculum, making it easy for instructors to support both circuits in the same course or program with CHRP4 optimized for robotics projects, and the smaller UBMP4 being a more flexible alternative for non-robotics projects.
Simple robot and Sumo robot configurations
After completing the introductory programming activities using the educational starter configuration, students can add the voltage regulator, motor driver, terminal block, DC motors, and the central floor LED and phototransistors to make their circuit into a simple line following robot.
Students ready for an even bigger challenge can populate the dual floor sensors instead (and break off the line following module if it’s in the way), add the expansion headers for servos or a header socket for an ultrasonic SONAR module, an IR demodulator, and gear motors allowing them to make their circuit into a more advanced obstacle sensing, remote-controlled, or Sumo robot.
While CHRP4 may not have the high-end features of the latest microcontroller boards, it was designed as a versatile starter board to do the basics well – helping beginner computer technology students learn the fundamentals of microcontroller programming and interfacing quickly and easily, while building a fun, inexpensive, and complete project of their own.
CHRP4 Courseware and Learning Activities
The mirobotech GitHub repository contains a set of five introductory learning activities, two advanced activities, and a simple line following robot starter project. The five introductory activities for the CHRP4 circuit match those for the related UBMP4 circuit, enabling instructors to easily support both circuit options in the one course using the same curriculum. Both circuits also use many of the same components, minimizing the component inventory required for a classroom while providing students with a wider choice of circuit projects.
The introductory lesson activities are designed to lead students through guided exploration of important programming concepts. Successive lesson activities scaffold new learning onto the concepts introduced in the prior activities, and open-ended programming challenges provide discovery opportunities while helping students solidify their knowledge and understanding of the hardware and coding. The introductory learning activities include:
Intro 1 - Input and output (including ‘if’ and simple logic)
Intro 2 - Variables and constants (including a simple game)
Intro 3 - Loops (including PWM)
Intro 4 - Functions
Intro 5 - Analogue input (including serial output)
The goal of the first few learning activities is to target hardware I/O, helping learners to quickly build their knowledge of the circuit hardware and basic programming concepts. This is accomplished by learners creating fun programs including flashing light patterns and beeping noises (Intro 1), making a simple rapid-clicker game (Intro 2), and implementing PWM for variable brightness LED output (Intro 3). By initially focusing on hardware programming, learners are provided with immediate, purposeful coding tasks which help to provide immediate feedback and channel their curiosity while exploring the basic software statements and structures that will help learners in making creative solutions for the later programming challenges.
Each of the learning activities incorporates guided questions and related code examples to step learners through the exploration of related concepts. All of these are found in the program source files, in the form of comments below the code, making it easy for students to copy and paste the example code into their programs and answer questions directly in the source file. Incorporating activities and questions into one source code file simplifies file management for learners, and streamlines the process of assessment for students and instructors when used in a course setting.
After completing the first four introductory activities students will have been exposed to all of the programming structures and concepts necessary for creating both simple line-following and Sumo robots. The fifth activity introduces advanced concepts including analog-to-digital conversion and serial output for debugging.
The follow-on advanced activities lead learners through the creation and debugging of a servo function and an ultrasonic SONAR function for use in obstacle avoidance or Sumo robot target acquisition.
An example starter program for line-following robots provides an organized program structure for new learners to build their first program without overwhelming them by using a blank-slate approach.
Open Hardware, Software, and Learning Materials
CHRP4 is open hardware and uses open source software. As a high school computer technology teacher I had great success integrating CHRP4 and UBMP4 (and their three prior versions) into my classes and I'm happy to have everyone, especially other teachers and students, to benefit from my work on them. All of the CHRP4 hardware, software, and learning materials are open, and the following permissions and conditions apply:
- the KiCad CHRP400 (CHRP4 rev 0) files stored in GitHub are open hardware licensed under the terms of the MIT license (except the mirobo.tech logo - see below). Anyone is free to use and modify the CHRP4 KiCad files to make and modify CHRP4 or derivative circuit boards.
- CHRP4 programs stored in GitHub are open source software licensed under the terms of the MIT license.
- CHRP4 learning materials on the mirobo.tech website are licensed under the terms of the Creative Commons CC-BY 4.0 license.
- the USB uC bootloader used by CHRP4 is open source and licensed under the terms of the GPL3.0 license by John Izzard.
- the mirobo.tech logo mark consisting of both the stylized ‘mi’ image and the lower-case mirobo text as it appears on the schematic and PCB design files is a trademark of mirobo Technolgy and may not be used without prior permission.
CHRP4 Beginner Robotics Developer Board
*PCBWay community is a sharing platform. We are not responsible for any design issues and parameter issues (board thickness, surface finish, etc.) you choose.
- Comments(0)
- Likes(0)
- 0 USER VOTES
- YOUR VOTE 0.00 0.00
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
More by John Rampelt
- BEAPER Pico 0.1: A (Prototype) Beginner Electronics and Programming Educational Robot for Raspberry Pi Pico BackgroundI have been teaching high school electronics and computer technology courses for over thir...
- CHRP4 Beginner Robotics Developer Board CHRP4 OverviewCHRP4 (Common Hardware Robotics Project - version 4) is beginner-friendly microcontrol...
- BEAPER Nano 1.0: the Beginner Electronics and Programming Educational Robot circuit for Arduino Nano ESP32 When the Arduino Nano ESP32 was released with a combination of a fast, powerful microcontroller, lot...
- BEAPER Nano (Beginner Electronics and Programming Educational Robot) for Arduino Nano ESP32 Note: This is the first prototype BEAPER Nano circuit. See the newest BEAPER Nano 1.0 circuit. BEAPE...
- BPStick (Breadboard Power Stick) - 5V through hole version When schools start teaching STEM programs, or hobbyists embark on learning electronics, one of their...
- UPS (USB Power Stick) breadboard power adapter When schools start teaching STEM programs, or hobbyists embark on learning electronics, one of their...
- ARPS – A Beginner Arduino®-compatible Robot Project Shield ARPS OverviewARPS (Arduino®-compatible Robot Project Shield) is beginner-friendly add-on shield for ...
- UBMP4 Beginner Microcontroller Development Board UBMP4 OverviewUBMP4 (USB-based Beginner Multipurpose Project - version 4) is beginner-friendly micro...
-
-
-
kmMiniSchield MIDI I/O - IN/OUT/THROUGH MIDI extension for kmMidiMini
113 0 0 -
DIY Laser Power Meter with Arduino
163 0 2 -
-
-
Box & Bolt, 3D Printed Cardboard Crafting Tools
156 0 2 -
-
A DIY Soldering Station Perfect for Learning (Floppy Soldering Station 3.0)
564 0 3