|
MPLAB X IDEMicrochip Technology
|
|
|
KiCADKicad
|
UBMP4 Beginner Microcontroller Development Board
UBMP4 Overview
UBMP4 (USB-based Beginner Multipurpose Project - version 4) is beginner-friendly microcontroller development board created for teaching or learning microcontroller programming and interfacing. UBMP4 also has a robotics-focused derivative called CHRP4 (Common Hardware Robotics Project) that shares most of its components, curriculum, and introductory programs. Both UBMP4 and CHRP4 designs incorporate a variety of common hardware devices on-board, enabling new learners to focus on developing programming and interfacing skills without needing to assemble and debug circuits on breadboards first.
UBMP4 features five pushbuttons, five LEDs, a piezo speaker, a phototransistor or ambient light sensor, a high-power IR LED, an IR demodulator, and eight expansion headers for external circuits or modules. Using just the on-board components, learners can create a variety of projects with UBMP4 including: a Simon-style memory game, an infrared remote control transmitter, an optical room/locker/desk alarm, an animatronic/servo controller, a NeoPixel driver, and more.
UBMP4 is programmed in C using either Microchip's MPLAB X desktop IDE or MPLAB Xpress cloud-based IDE (MPLAB Xpress enables UBMP4 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 UBMP4 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.
UBMP4 Hardware
The UBMP4 hardware is designed to be an inexpensive, versatile circuit that doubles as both an introductory microcontroller training board as a well as a student’s end-of-term project. UBMP4 can fulfill 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 UBMP4 while learning about electronic components, basic interface circuits, and soldering. After their UBMP4 circuit board is assembled, learners use UBMP4 to develop foundational programming and interfacing skills. When learners are ready to progress further, they can choose to make UBMP4 into one or more different projects including a simple music player, a TV remote control, a memory game, a room/locker alarm, a NeoPixel driver, and more, using the components on-board.
The UBMP4 hardware is designed to be built in stages, in three major configurations: first, as an educational starter circuit; next, as an advanced educational circuit project; or, as a full build with all of the parts on board.
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, provides the flexibility for instructors to spread the project over multiple terms or courses, and gives students the opportunity to customize their circuit for their final project later.
The UBMP4 education starter configuration is functionally similar to the CHRP4 robot circuit education starter configuration, which allows both circuits to share the same resources and curriculum and makes it easy for instructors to support both circuits in the same course or program.
Advanced educational circuit and full build configurations
After completing the introductory programming activities using the UBMP4 in its educational starter configuration, students can add the IR LED to explore IR transmission concepts, add the ambient light sensor or IR phototransistor to experiment with analog-to-digital conversion, or add external devices such as servos, a SONAR module, or a NeoPixel strip to the expansion headers to develop higher level programming skills.
Students ready for an even bigger challenge can populate the IR demodulator and make their UBMP4 into a remote-controlled lighting controller, animatronic sculpture, or simple controllable robot using servo motors or external motor driver circuits.
In all configurations, UBMP4 design philosophy was as a versatile starter board that accomplishes 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.
UBMP4 Courseware and Learning Activities
The mirobotech GitHub repository contains a set of five introductory learning activities, three advanced activities, and three starter projects. The introductory activities for the UBMP4 circuit match those for the related CHRP4 circuit, enabling instructors to easily support both circuit options in the same course while utilizing 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 feedback and are engaged in purposeful coding tasks which help to channel their curiosity and explore the basic software statements and structures that will help them to create appropriate 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, which makes 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 more functional and complex programs. 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, and a NeoPixel function function for driving programmable LED strips.
Example starter programs for a Simon-style memory game, a TV remote control, and for creating music notes help learners build their first program without overwhelming them by using a blank-slate approach.
Open Hardware, Software, and Learning Materials
UBMP4 is open hardware and uses open source software. As a high school computer technology teacher I had great success integrating UBMP4 and CHRP4 (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 UBMP4 hardware, software, and learning materials are open, and the following permissions and conditions apply:
- the UBMP430 KiCAD files stored on 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 UBMP4 KiCad files to make and modify UBMP4 or derivative circuit boards.
- UBMP4 programs stored in GitHub are open source software licensed under the terms of the MIT license.
- UBMP4 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 UBMP4 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.
UBMP4 Beginner Microcontroller Development 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(3)
- Likes(0)
- 3 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
-
9design
-
9usability
-
8creativity
-
9content
-
9design
-
8usability
-
6creativity
-
7content
-
10design
-
10usability
-
10creativity
-
10content
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
114 0 0 -
DIY Laser Power Meter with Arduino
164 0 2 -
-
-
Box & Bolt, 3D Printed Cardboard Crafting Tools
156 0 2 -
-
A DIY Soldering Station Perfect for Learning (Floppy Soldering Station 3.0)
568 0 3