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 »