Trace Systems Inc
Helping build better gadgets
Although, I normally
test USB hardware, I became fascinated by the claims Trace Systems was making
about its new HIDmaker FS software.
I am not a developer
of USB products per se. However, I have been involved with the design
process and I do a great deal of USB device troubleshooting. From
what I have learned over the years, most of the problems with USB devices that
marginally do work can be traced back to poorly designed third party
As I delved deeper
into the development side, I soon learned that troubleshooting and actually
developing are two totally different worlds. Knowing some what more that
the average bear about the task at hand, I was sure that any software program
that could setup communication between the device and the host had to be
miles ahead of starting from scratch.
I began by reading as
much about the development process in general and HIDMaker FS in particular.
The best USB-based
gadgets are great – fast, easy to use and install, they operate smoothly and
powerfully, and are often fun to use. Getting them to that state,
however, can be an agonizing task for a developer.
It seems that the
things that make USB devices easy for users to use are the very things that
make them hard for designers to design. With USB, developers have to deal
with more complexity than ever before. Even if the developer is expert at
designing USB peripherals, USB design makes for a great deal of additional
work. Although, the rewards of designing a device for USB are greater that
with other interfaces (serial, parallel PS/2), USB design requires far more
Developers who are not
already USB experts have a much tougher time. The complex rules of USB
design, and the ways they are implemented in specific microprocessors and in
the Windows operating system, are often poorly explained, if they are even
explained at all in the documentation. Designers often struggle for months
to get a new product to work, only to find that it only “sort of” works.
What and How
According to Dr. Bob,
(Trace Systems Owner), "HID Maker FS was created to ease developer agony,
helping bring better products to users faster and cheaper".
The manual includes an
“Developers Guide for USB HID Peripherals”, which shows you how to make
devices with difficult design constraints:
How to get
the most out of HIDmaker FS's MULTITASKING peripheral code
with critical time requirements
processing that would conflict with USB communications
logging devices that are only connected to USB rarely
HIDmaker FS provides the
user with an extensive library. Not just a function library or a set of
example programs that you have to figure out, HID Maker FS actually
generates complete source code for both the PIC peripheral device, and for a
matching program that runs on a PC host. All you have to do is describe the
data that you want to send between the peripheral device and the PC host,
using the graphical sketchpad called the Visual Data Designer. With that
information, HIDmaker FS generates matched source code for both the
peripheral and the PC at the same time. The best part is that the software
provides the code in your choice of programming languages. You compile that
source code using the compilers you already own, and in minutes, you have
the PC host and PIC peripheral talking to each other, exchanging the data
that you specified. HID Maker FS uses standard device drivers that are present
in all versions of Windows since Windows 98, so there are NO device drivers
to write or even install!
The programs that HID
Maker FS generates for you are complete and ready to compile and run, and
both of these programs understand your data. You can declare data items of
any size, from 1 bit to 32 bits or anywhere in between. You can declare
arrays of bytes, 16-bit words, 24-bit "short longs," or 32 bit double words.
The names you give these variables, when you create them in the Visual Data
Designer, become the names of convenient sized variables that HIDmaker FS
creates for you in the generated code.
This has the very
powerful effect of transferring variables directly from the device to the PC
and vice-versa. Both sides can keep in touch regularly and automatically.
You don't need to write code to load and unload packets of data (and figure
out where each variable is in the latest load), a time consuming part of
manually developing the code. The code that is generated is already
The PIC peripheral
code that HIDmaker FS generates doesn't do any hardware specific I/O other
than USB: it only sends test values. This gives the user the flexibility to
modify the generated code, to specify things like the pin assignments and
A/D converter channels that you need for your specific project. Normally
you will only need to add about a dozen lines of code to the PIC program
that HIDmaker FS generates.
HIDmaker FS cuts
through the complication of USB, and automatically generates source code for
both the peripheral side (firmware) and the PC-side (Windows program) for
you. In just a few minutes, you can generate two “known good” programs that
already know how to talk to each other over USB. This alone will allow you
to spend your time on what matters to you most, making your product do what
you want, without getting bogged down in the drudgery of USB. Believe me
when I say that this is a tremendous time saver!
HIDmaker will not make you an instant USB Developer. However, if you are a
developer with the appropriate background in this field, this program will
boil down the development time and definitely make your life a whole lot
I read a whole bunch
of opinions and experiences from others in the business in an effort to get
up to speed with this new software. You may find these comments and sources
of interest so I have included them for you.
- Rochester Institute of Technology
"I must say that my
experience with HID Maker so far has been incredible! I'm very happy that I
invested in it. I have my first couple projects up and running already! I
can't imagine the program being easier to use..."
- Circuit Cellar Magazine
package shortens the learning curve. HID Maker, along with its optional
tools Any HID and USB Watch, provides the support needed to make USB come
alive for the designer.”
article is here:
Jeffery Roberts - Sr.
Hardware Editor BS, MA, MS-MVP,
October 28, 2008