Close
0%
0%

UBMP4 USB PICmicro development board

A simple, versatile PICmicro development system designed for education.

Public Chat
Similar projects worth following
UBMP4 (USB-based Beginner Multipurpose Project - version 4) is a complete development board designed for teaching or learning microcontroller programming and interfacing.

UBMP4 includes built-in pushbuttons, LEDs, a piezo speaker, an IR demodulator, and a light sensor so learners can start developing programs without wiring up or breadboarding any external circuits first. An expansion header lets users easily connect external devices such as servos, Neopixels, and a SONAR module as their skills grow.

It's simple to program UMBP4 in C (or assembly code) using Microchip's MPLAB X desktop IDE or the MPLAB Xpress cloud-based IDE. The on-board PIC16F1459 microcontroller can be pre-programmed with the USB µC bootloader (https://hackaday.io/project/63204-usb-c-usb-pic-bootloader) making it appear as a flash drive on the computer – just drag and drop a compiled .hex object file onto the drive to program it!

Background

As a high school computer technology teacher I believe one of the best ways to motivate students to learn and build their understanding of electronics and programming is to give them ownership of their learning. UBMP4 was designed specifically to support this goal.

UBMP4 is a simple circuit that students build themselves, while learning about electronics parts, simple circuits, and soldering as they assemble it. UBMP4 can be assembled in a few different configurations, including a minimal components starter configuration. Once students have installed the basic components, they can start to use their own UBMP4 to learn microcontroller programming and interfacing techniques. At the end of the semester, students can add additional on-board or external components and demonstrate their learning by making their UBMP4 circuit into a final project of their choice.

Why not use [insert your favourite microcontroller board here]?

Why design a board when lots of other microcontroller boards exist? Some existing circuits are too simplistic, with limited I/O or block-based programming, while other, more versatile circuits are often too expensive for school take home projects. Most other microcontroller circuits also require students to interface parts onto them by building external circuits on a breadboard, leading to temporary or take-apart in-class projects rather than take -home projects that students can be proud of.

UBMP4 was designed to solve all of these problems since it includes a variety of built-in I/O devices on board, allowing new learners to make a variety of different projects without adding any external parts. And, UBMP4 is inexpensive enough that students can take their UBMP4 home at the end of the semester to continue learning their learning on their own. And UBMP4 is programmed using industry-standard C language and a powerful IDE.

I have designed a number of different circuits to address similar educational needs over the years, and UBMP4 is the smallest, least expensive, and most versatile circuit that I'm also the most proud of. It's easy for students to program using its built-in bootloader (I pre-program the microcontroller with the bootloader for the students, first), and it has enough I/O circuitry on-board for students to learn programming without adding additional components.

At the end of the semester, students can make a variety of projects using just the built-in I/O devices, including a reaction timer game, a room/locker alarm, a Simon-style memory game, a simpler music player, and a TV remote control. More advanced students, or students looking to develop a deeper understanding of interfacing or programming, can create their own software functions to control external devices, build animatronics or walking robots using servos and SONAR sensors, make NeoPixel lighting controllers for their rooms, create data logging devices, and much more!

UBMP4 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
  • 1 piezo beeper output
  • optional 8-pin header for PORTC I/O pin expansion (great for servos, a SONAR module, NeoPixels, an LCD display, etc.)
  • optional IR LED output for remote control transmitter applications (or a high-current transistor-driven output)
  • optional IR demodulator for remote control decoding
  • optional IR phototransistor or visible-light ambient light sensor for light sensing
  • USB 2.0 type-C port for power and programming
  • 6-pin ICSP (In-Circuit Serial Programming) header for PICkit-4

UBMP4 is the fourth version of this simple PICmicro development board. The differences from the previous version include a new USB-C port for power and programming, a transistor driver on the IR LED output for greater output power and range, and protection resistors for the I/O port headers making...

Read more »

UBMP430.pdf

UBMP4.3 schematic

Adobe Portable Document Format - 351.09 kB - 05/10/2023 at 01:42

Preview
Download

UBMP420.pdf

UBMP4.2 schematic

Adobe Portable Document Format - 208.98 kB - 05/14/2022 at 15:11

Preview
Download

UBMP4 Bottom Covers.zip

3D-printable bottom covers

Zip Archive - 376.42 kB - 05/14/2022 at 15:10

Download

UBMP420-Partslist.xlsx

UBMP4.2 parts list with DigiKey part numbers

sheet - 10.87 kB - 05/14/2022 at 15:07

Download

  • Latest UBMP4 revision matches CHRP4 features.

    John Rampelt05/10/2023 at 01:39 0 comments

    The latest UBMP4.3 revision is electrically identical to the UBMP4.2 circuit and adds 5.1kΩ pull-down resistors to the USB-C CC1 and CC2 lines to allow power delivery from USB-C host devices through a USB-C cable without requiring an USB-A to USB-C adapter. The silkscreen button labels have also been updated to match the labels on CHRP4, a robot-focused derivative of UBMP4, allowing both circuits to use the same introductory lessons and learning materials interchangeably in a classroom or maker space.

    UBMP4.3 and all of its resources are open hardware and open software as part of my commitment to help educators provide the best start for beginning computer technology learners while making the most of their limited classroom resources. Introductory programming activities and UBMP4.3 KiCad design files are available on the mirobo.tech website and the mirobotech GitHub page. A complete parts list is shared on Digi-Key. These resources allow any educator to implement either, or both, UBMP4 and CHRP4 in their classroom!

View project log

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates