Bill Grace

"Turning Practical Science into Commercially Viable Products"

   
Home  
Skills  
Case Studies  
Gallery  
Education  
Bio  
Contact  
 

New design hardware needs appropriate software to achieve desired product behavior. Bill Grace's Software Engineering skills include:

Microcontroller firmware

User software

Data communications


Microcontroller firmware

Many new designs contain microcontrollers and programmable logic devices. These components provide huge cost savings in moderately complex designs by combining the low cost of standard parts with the functional strength of being tailored to each specific design. "Firmware" is a general term describing the special kinds of programming used to transform these kinds of components from blank, generic components to specialized, design specific assets.

Bill Grace has developed firmware for many kinds of programmable part applications including:


[Return to top of page]

User software

Personal computers are often used as central resources for new product designs. The product is designed to be used with a computer because the computer already has many resources that can be made part of the beneficial function of the new product. This method works much the same as a boat trailer which is not in itslef a complete vehicle with a motor but is expected to be connected through a standard trailer hitch to a standard vehicle. Sometimes the standard software on the standard computer is enough to operate the new product but sometimes there is a need for computer programs specific to the new product.

Bill Grace has written numerous programs to run on standard computers and enhance the value of new products. The platforms and languages in which Bill is proficient include:


[Return to top of page]

Data communications

When new products are designed to be connected to personal computers a data communications method must be employed to make the connection. Sometimes there won't be a personal computer involved but there will be multiple electronic portions of the product and they must have some way to communicate among themselves.

There are numerous connection methods and "languages" of data communications. The best choices for a given design situation depend upon many factors including physical conditions, distances, data speeds, cost factors, etc. Bill Grace has extensive experience in the selection and use of data communications methods including:


[Return to top of page]