If you think about it, it's all about your data: getting it from the PC to your device, or the other way around, and doing it quickly and easily. In fact, when you're starting a new project, that data that you need to send is usually the first thing that comes to mind, whether or not you know exactly how you are going to move that data to the other side.

Most other approaches to USB or embedded web device software make an overly complicated mess out of the process.  They focus on managing and transferring data buffers, and leave the hard parts up to you: getting the data into and out of those buffers, and forcing you to remember exactly what is IN those buffers at any given time. And of course, they force you to constantly figure out "Just where IS that particular piece of data right now?"   

All that packing and unpacking work that these other approaches force you to do is, shall we say, "a rich opportunity for making errors..."

Our products take a completely different approach, which our customers really, really love.  We focus on what you already have in mind: your data, as contained in VARIABLES.  Variables that YOU define, and which YOU give names that are meaningful to YOU.  You define these transfer variables in our HIDmaker or TCPmaker software, and when our tool generates CUSTOM source code for you, you will find that both the generated PC and microcontroller code both know about all the transfer variables that you defined.


These transfer variables, which you define in our tools, act like named shipping containers, so the generated code works in a way that's simple to understand and easy to maintain.  All you need to do is to put the data into each transfer variable at one end (.e.g. the microcontroller), and let our software framework pack the data and send it to the other side (e.g. the PC).  There, our software framework automatically unpacks the data for you, so all you need to do is to just USE the value that is in that transfer variable.

We cannot count how many times our customers have told us "Wow, it is so much easier this way!"  But here is a direct quote from one happy customer:


BigOpenQuote2I just wanted to let you know that I just started using my copy of HIDMakerFS.  I have read your entire manual and experimented with the sample code.  I cannot believe how easy and intuitive this product is. You have really boiled down the development process; I could not be more pleased or impressed. 

I find the Visual Data Designer tool to be EXCELLENT.  The most difficult challenge for me has been to retrain my thinking of RS232 communication methods to the easy process you have developed of passing direct variables from the desktop to the PIC.

Everything is so much easier now: I don't feel I really need to fully understand USB communications to develop hardware/software applications.

Kudos to you and your work for the development of such a powerful product, it's worth every penny and I could not be more pleased!BigCloseQuote2

Ryan Sheldon
National Control Devices



Our Principle of Direct Transfer of Variables is what makes our products unique on the planet.  It gives them the special combination of power + simplicity that you will find in no other tool or approach.

Both our HIDmaker FS tool for transfer over USB, and our TCPmaker tool for transfer over Ethernet, use Direct Transfer of Variables.  Here is a specific example of something you can easily do with either HIDmaker FS or TCPmaker .  Let's say that you have a potentiometer on your microcontroller board, and you want to have the micro read that pot and send the value to the PC to be displayed.  Here's what you do:

  • In our tool  (HIDmaker or TCPmaker ), define a variable with a name that is meaningful to you, like Pot1.
  • Define other transfer variables, for any other data you want to send.
  • Have our tool generate custom source code for your project.
  • In your generated microcontroller code, you will find that our tool has declared a variable for you called Pot1.  
  • Add a few lines of microcontroller code that reads the A/D converter channel that is connected to the pot on your board, and place the value in transfer variable Pot1.
    Let our software pack Pot1 together with any other transfer variables you defined, and transfer it to the PC.
  • On the PC side, there will also be something called Pot1, so you can simple USE Pot1 on the PC side.


It's that simple!


There are some differences between the WAY that HIDmaker FS and TCPmaker apply our principle of Direct Transfer of Variables.  For example, HIDmaker generates source code Windows software on the PC side, for you to customize yourself.  TCPmaker , on the other hand, uses the web browser that you already have on your PC, so there is no Windows programming work for you to do at all.

To learn how these two tools implement Direct Transfer of Variables, be sure to look at these pages:


How HIDmaker implements Direct Transfer of Variables


How TCPmaker implements Direct Transfer of Variables