Original Code
          Consulting Original Code Consulting

OCC Home Page  LabVIEW
              Programs for Download LabVIEW related
              publications  LabVIEW Presentations  BotLabs Web Page - home of the Saurobots!  Links

LabVIEW Applications and Systems Development

David Thomson, Ph.D.
Boulder, Colorado

          Alliance Logo

National Instruments Alliance Program Member


  Certified LabVIEW Architect    

Certified Instrument Driver Developer

Charter Member of the LabVIEW Champions
LabVIEW Champion Logo

    Original Code Consulting provides LabVIEW programming from instrument drivers to complete applications.  I have over 19 years of LabVIEW experience in laboratory data acquisition, experiment control, and data analysis and review tools, and over 14 years as a LabVIEW consultant in Colorado.  My previous projects have included serial, GPIB, DAQ, and custom interfaces to mass spectrometers, test and measurement equipment, high speed digitizers, analytical chemistry instruments, and laser and optical systems.  In addition to working with NI hardware, I have written drivers and programs for instruments and plug-in boards from numerous other manufacturers.  In addition to working with clients throughout Colorado, I have helped customers throughout the United States and in Europe,

    I provide cost-effective programming solutions designed with long-term maintainability in mind.  My emphasis is on well-documented, quality code with a highly-functional, easy-to-understand user interface.  End-user support is available to ensure successful implementation and full compliance with the customerís specifications.  A discounted rate is available for educational and government institutions.

Previous Experience
LabVIEW Programming Instruments
Instrument Drivers Digital Oscilloscopes RS232
Data Acquisition High Speed Digitizers RS485
Data Analysis and Display Lasers
SPI (Serial Peripheral Interface)
Instrument Control Laser Power Meters GPIB
Process Monitoring Power Supplies VISA
Integrated Data Systems
 Pulse Generators NI-DAQ, including CompactDaq

Systems Analytical Chemistry Instruments Motion Control
Lasers / Optical Systems Micro-Positioners Plug-In Cards
Mass Spectrometers Particle Counters Custom Interfaces
Optical Spectrometers
Multi-Channel Analyzers USB Instruments
Industrial Processes Aerosol Instrumentation Communication Interfaces via DLLs
Test and Measurement Custom Instrumentation, including FPGAs
Laboratory / Field / Aircraft / Balloon

    I have been a LabVIEW programmer since version 2.0 and have been a beta tester for LabVIEW versions 5.0, 5.1, 6.0, 6.1, 7.0, 7.1, 8.0, 8.20, and 2011 as well as for several add-on toolkits and National Instruments hardware products.  Several yeasr ago, I participated in the Mindstorms Developer Program, acting as a beta tester for the new Mindstorms NXT hardware and software (which is based on LabVIEW).  Besides extensive experience with LabVIEW itself, I am proficient in using LabVIEW RT (Real Time), and LabVIEW FPGA.  In addition, I have performed tests in cooperation with National Instruments for validating PXI, Compact FieldPoint, and CompactRIO hardware for operation at high altitudes/low pressure.

    My largest LabVIEW project has been the Particle Analysis by Laser Mass Spectrometry Instrument (PALMS), which I have helped build and operate at the NOAA Aeronomy Lab in Boulder, Colorado.  PALMS is a complex, state-of-the-art instrument that measures the chemical composition of individual atmospheric particles.  It operates completely autonomously on a high-altitude aircraft or under operator control in the laboratory or at ground-based field stations.  The software is composed of 6 independent, parallel tasks that control the instrument, maintain it in a safe operating state, and acquire the science data and monitoring data.  This program includes over two dozen custom drivers for commercial and custom hardware components.  More information on this instrument can be found on the PALMS website and on my publications page.

    As a contractor, I have done LabVIEW consulting on several other aerosol instruments, including particle sizers and counters, aerosol spectrometers, the Single Particle Soot Photometer made by Droplet Measurement Technologies, and the Continuous Flow Diffusion Chamber (CFDC) operated by Paul DeMott's group at Colorado State University.  The CFDC is an instrument for studying the ice nucleation properties of aerosol particles.  Several years ago, the CFDC and PALMS were brought together for field measurements at the Storm Peak Laboratory near Steamboat Springs, Colorado, to investigate the composition of ice-nucleating particles.
    From 2008 to 2013, I worked at Droplet Measurement Technologies, first as the head of the software department, and then as Director of Engineering.  During that time, I oversaw the reorganization and revitalization of nearlly all of DMT's instrumentation software.  The PADS (Particle Analysis and Display System), a program that interfaces to dozens of DMT and third party atmospheric instruments, was a program I first wrote for DMT as a consultant, and which I later refactored and improved.  I also created the software for the Single Particle Soot Photometer (SP2), the Ultra-High Senstitivity Aerosol Spectrometer, and the Spectrometer for Ice Nuclei (SPIN).
    Many examples of my previous work are described on this web site, including previous scientific and utiltity LabVIEW programs, drivers for various instruments available for free download, and several publications and presentations I have written, including two that were selected as finalists in the Research category for the NIWeek paper contest.
    The OCC Streaming Data System is a flexible suite of components that make it easy to read a wide variety of data streams into any LabVIEW program.  This tool has been integrated into numerous LabVIEW programs for atmospheric instrumentation, including those for the Single Particle Soot Photometer (SP2), the Spectrometer for Ice Nuclei (SPIN), the Particle Analysis and Display System (PADS), the Multi-Instrument Control and Acquisition System - eXtended (MICAS-X), and others.

    I have been involved with Colorado LabVIEW user groups for many years, and since mid-2004, I have been helping to organize a user group for advanced LabVIEW programmers throughout Colorado.  The group is known as ALARM (Advanced LabVIEW Architects of the Rocky Mountains) and meets bi-monthly, alternating between Golden and Boulder, Colorado.  Visit the ALARM website for information about future meetings.

   In September, 2006, Original Code Consulting fulfilled its commitment to becoming a Zero Net Carbon Emissions Company by getting all of our electricity from wind-power.  In 2011, we installed a solar photo-voltaic system, and now get 75% of our electricity from the sun!

What's New from OCC

    August, 2014:
  myRIO is a fairly new, low-cost embedded platform from NI that is aimed at the educational market.  This device allows students to create applications with an embedded processor and an FPGA using NI's LabVIEW development environment.  OCC has developed a demonstration application for myRIO, the Audio Analyzer for myRIO.  This application can be downloaded from NI's LabVIEW Tool Network (OCC Audio Analyzer) or directly from OCC.

    July, 2014:  Improvements and additions to MICAS-X continue to be released.  Recent modules include an Alicat Driver for Flow and Pressure Controllers, a Ramp Instrument, for creating high-precision linear and exponential ramps over time, and and SMPS Instrument for making measurements from a scanned Differential Mobility Analyzer.  In addition, a new command was added to the MICAS-X command language which allows MICAS-X to launch a LabVIEW VI or an executable program, a new program variable was added that measures disk space available, a Calculation was added that tracks the previous value of a channel, and the main acquisition logic was improved to better handle data coming from devices for which the device determines when the data is available.
    May, 2014:  New additions to the MICAS-X system include the Email module, which can send e-mails or text messages in response to commands or alarms, the Command module, which allows MICAS-X to be controlled by another software program, and the Airmar Driver, which interfaces to the Airmar weather station.
    November, 2013: 
Original Code Consulting announces the release of MICAS-X, the Multi-Instrument Control and Acquisition System - eXtended.  MICAS-X is a framework of software infrastructure on which complex custom instrumentation programs can be built.  It includes many features and utilities that are used in a wide variety of scientific instruments, and hence can dramatically reduce development time for new instrument programs.  Most importantly, it is designed to be extensible, allowing scientists and engineers to leverage all the utility already in MICAS-X while also adding custom code to address the specifics of their instrumentation.  For more information, visit the MICAS-X webpage or contact Original Code Consulting.

   February, 2014:   OCC Program Prep, a utility for initializing autonomous data acquisition programs, is now available.  When a LabVIEW (or other) data acquisition program must run automatically at boot-up on an autonomous system, it is often necessary to execute a number of steps to ensure that the system is ready.  For example, it is a common problem that simply having the data acquisition program start at boot-up can cause the program to take control of the DAQ hardware before the operating system has fully initialized it.  OCC Program Prep solves this problem by querying NI Daq Devices to make sure they are ready before launching the data acquisition program.  OCC Program Prep can also synchronize the computer clock to an NTP server or a GPS, as well as start any number of other programs or batch file.

Contact Information:

Phone and Fax:  303-499-1973

Resume and references available on request.

Top  LabVIEW Programs
            for Download LabVIEW related publications  LabVIEW Presentations  BotLabs Web Page - home of the Saurobots!  Links

Please report any bad links, other problems, or comments to: 

Site Map and Downloads