Software and Firmware Development

"People who are really serious about software should make their own hardware." -Alan Kay

We know that integrating hardware with software should provide meaningful and accurate data that can be easily interpreted by either the user or the system that it is designed to control. We have extensive experience in software product development and integrating that software with your developed hardware.  We have experience in developing software and firmware packages for simple stand-alone systems to complex Windows® and Linux based user interfaced systems. From simple to complex, we can develop software for your product using Google's Android™, Oracle's Java™, OpenV, Python, and National Instruments' LabVIEW™ and IMAQ™ Vision. We specialize in the use of touch screen terminal technologies, motion control and robotic systems, monochrome or color image acquisition, and electronic data acquisition and image processing systems. We offer full desktop or laptop style systems to small or single motherboard computer systems for use in your products. We can provide real-time operating systems for time intensive systems and measurements.

Examples of software controlled systems that we have developed for customers include:

  • Real-time video monitoring systems for high temperature processes for the control of arc welding systems
  • Low-light level image acquisition systems that use lighting enhanced imaging
  • High-speed image capture systems for the study of very fast physical processes and phenomena
  • Time-lapse, delayed, and controlled image acquisition systems to observe time intensive procedures
  • Passive sensing detection systems for metallurgy analysis, concealed weapons and contraband detection, with positional and recognition algorithms
  • Robot and robotic systems that are enabled with machine vision and data acquisition for process control and real-time on-site inspection
  • Google Android™ applications that use computer vision and data acquisition circuitry to collect vision enhanced data 

Software and firmware languages that we use for programming and image processing:

  • Google's Android™ -Android gives you an open platform for developing any app you can imagine.
  • Oracle's Java™ -Java technology's versatility, efficiency, platform portability, and security make it the ideal technology for network computing.
  • Python -Python is a widely used general-purpose, high-level programming language. 
  • OpenCV – A library of programming functions for real time computer vision.
  • JavaCV -Wrappers to commonly used libraries in the field of computer vision: OpenCV, FFmpeg, libdc1394, PGR FlyCapture, OpenKinect, videoInput, and ARToolKitPlus.
  • FFmpeg -FFmpeg is a complete, cross-platform solution to record, convert and stream audio and video.
  • National Instruments' LabVIEW™ -A graphical programming environment used by millions of engineers and scientists to develop sophisticated measurement, test, and control systems.
  • National Instruments' IMAQ Vision™ -A comprehensive library with hundreds of scientific imaging and machine vision functions that you can program using NI LabVIEW software and several text-based languages.
  • Parallax's Spin for the Propeller µController, PBASIC for Stamp µController, Arduino and other Atmel microcontroller languages
  • Joomla 2.5, PHP.5, xml, CGI, MySQL, Perl, HTML, JavaScript, and other web application languages
  Software and Firmware Development