SchmalzHaus logoUBW32 (32 bit PIC32 based USB Bit Whacker)
An inexpensive, simple input/output device to connect your computer to the real world.
With many pins and more horsepower. (At least compared to the original 8-bit UBW.)
By: Brian Schmalz

UBW32 beta buildUBW32 production board

Description:
The UBW32 is a small board that you plug into your computer (running Windows, MacOS or Linux) via USB. The USB connection powers the board and allows you to send it commands from the computer. These commands allow you to interface your computer to the real world - like controlling things and getting input from things. The UBW32 can plug into a standard breadboard in several different ways, or you can wire directly to it. You can power it through the USB connection or from an external voltage source. It has 3 push buttons (Reset, and 2 user-defined buttons) and 5 LEDs (Power, USB, and 3 user defined LEDs). It breaks out all of the PIC32's I/O pins to pins around the outside of the board. The firmware that comes with the UBW32 understands very simple commands that you can type to it in a terminal emulator. These commands allow it to do some powerful things, and allow your computer to do even more (when you write an application on your computer to talk to the UBW32). The UBW32 has 32KBytes of RAM and 512KBytes of Flash. It has 78 usable I/O pins, many of which can be used as analog inputs. The CPU runs at 80MHz and has significant hardware peripherals. The UBW32 works with 3.3V I/O, but all digital I/O pins are 5V tolerant (as inputs) and each I/O pin has a pad for a 5V pull up resistor for 5V outputs. The UBW32 is based on the PIC32MX460F512L 32-bit CPU from Microchip.

And you can even buy them directly from SparkFun.com for $40!

UBW32 Hardware Features:
UBW32 Firmware Features (v1.3):
If you have used a UBW or Arduino before and are frustrated by the lack of CPU power, lack of memory, lack of I/O pins, or lack of sophisticated software, the UBW32 may be just what you are looking for. While costing only slightly more than an 8-bit UBW, (and less than some Arduinos) it has significantly more power, particularly in terms of CPU horsepower.

The UBW32 is also a stand-alone development platform for the USB PIC32 chip. It contains a simple to use USB bootloader so that you can write your own code and download it to the board without any additional tools or software.  You can write your own code to do whatever you want. (Just like an Arduino or any other development board.)

If you want to use a hardware debugger or programmer with the UBW32, you can easily connect to the UBW32 using the standard 5 ICSP pins. I use a PICKit2 almost exclusively for UBW32 development. You can also use PICKit3,  ICD2, ICD3 or RealIce to program/debug if you want. This is all optional and not necessary unless you need to do hardware debugging of your code.

The PIC32 chip is capable of doing USB OTG, USB Function and USB Host roles. There is a footprint on the bottom of the board for a USB connector that will allow you to plug any USB device into the UBW32. There is a jumper that allows you to power the VBUS 5V USB wire if you program your UBW32 to be a USB Host.

UBW32 News:

UBW32 Hardware Versions Matrix

Schematic
Board
Picture
Guide
Eagle Files and BOM (zip)
Release Notes
Prototype1
N.A.
N.A. N.A. N.A. N.A. N.A.
Prototype2
N.A. N.A. N.A. N.A. N.A. N.A.
v2.4 - first production version
Here
Here
Here
Here
Here
Here


Files:
    Firmware Versions (Source code and project files - browsable):
    Bootloader:
    Demo PC Applications:
    USB Framework Files:
Documentation:
Important Links:

Questions? E-mail me at my e-mail address

Creative Commons License
UBW32 USB Bit Whacker by Brian Schmalz is licensed under a Creative Commons Attribution 3.0 United States License.
Based on a work at www.schmalzhaus.com/UBW32.
Permissions beyond the scope of this license may be available at www.schmalzhaus.com/UBW32.