SchmalzHaus logoDocumentation UBW32 Firmware
version 1.6.4 for UBW32 Boards
Back to main UBW32 page

The firmware (application) that comes with the UBW32 gives the user a basic set of input/output commands. For example, the user can set any I/O pin to be an input or output, read the inputs, write to the outputs, etc. Future versions of the firmware will allow more complicated commands (like analog input, timing related commands, PWM, SPI, USART, etc.)

Version Notes:
    Notes for ALL commands:

    The "C" Command:
    The "O" Command:
    The "I" Command
    The "V" Command
    The "R" Command
   The "PD" Command    The "PI" Command
   The "PO" Command     The "CU" Command
<Value> meaning
0 or 1
0 = Turn off "OK" packets
1 = Turn on "OK" packets (default)

    The "BL" Command : Enter Boot Loader mode     The "T1" Command  : Execute Test 1 The "T2" Command  : Execute Test 12 The "PM" Command  : Set hardware PWM output values command The "SP" Command  : Set software PWM output values command
The "PC" Command  : Configure software PWM parameters

The "CA" Command  : Configure Analog inputs

The "IA" Command 
: Read Analog inputs

Errors Messages:
There are two ways that one might communicate with a UBW32:
  1. By typing commands into a terminal emulator on a computer, to 'test out' commands and how the system is working.
  2. By writing a computer program that will automatically generate commands to send to a UBW32.
The long error messages are very useful for debugging the system, and especially when using the UBW32 by hand from a terminal emulator. The long messages are not as useful when running under scenario 2) above, as the PC application has a much harder time parsing the long error messages.

To help make the error messages useful in both scenarios, each error message starts out with an exclamation mark "!" and then is immediately followed by an integer error number, then a space, and then the long text of the error message with a <CR><LF> at the end. This means that if your PC application wants to parse the error message, it can look in the data coming back from the UBW32 for the exclamation mark "!" and then read in the error number and ignore everything else until the next <CR><LF>.

Error Message List:
Version 1.6.4 Files:
    ZIP file of all project and source files necessary to build 1.6.4 here.
    v1.6.4 HEX here (for programming a UBW32)
    HIDBootloader.exe (application needed for programming a new HEX file onto the UBW32)

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
Permissions beyond the scope of this license may be available at