Model301 USB Data Acquisition System
Model 301
24-bit USB Data Acquisition System
     
click an image to zoom
select category
Developers

Model 301/302 Developer App Software
DLL, Driver, API, and FAQ info  below
links below for complete installation packages
(click thumbnail image to zoom full-size)
 Windows
NOTE: All Win2k/XP/Vista/7/8/10 applications shown below make use of the same DLL, but some make use of the newer:
  simplified function calls
as marked with *
Be aware that the zip files may not contain the recent DLL so please download it HERE

Visual Basic
New graphing app:
  2k/XP/Vista/7/8/10
app update: 5-17-18, 
DLL updated: 5-22-18
VB source code available

screenshots of the app below


graphics screen



text screen
- visual basic
Old panel-style app:
  2k/XP/Vista/7/8/10
  updated 6-18-12
  98/ME
  updated 10-3-2007
VB source code available

screenshots of the app below


front panel



graphing panel
- visual basic
Simplified style app:
  2k/XP/Vista/7/8/10
app update: 5-1-09

VB source code available

screenshots of the app below


GetOneVoltage app



Multi-channel-scan app





C++
console app
  Win2k/XP/Vista/7/8/10
  app updated 6-12-18

  many "mini" samples using various
  new function calls
HERE

old style for Win98/ME  HERE

  an updated multi-function DOS style
  console app example

main panel


scanning panel
- C++
*simplified console app
  Win2k/XP/Vista/7/8/10
  app updated 8-16-05
  more HERE

  a simplified DOS style console app example

scanning mode panel
- C++
  GUI app
  Win2k/XP/Vista/7/8/10
  Win98/ME/
  app updated 7-9-03
  a Windows style GUI app

application panel





.NET   special note
VB.NET

*simplified app
  2k/XP/Vista/7/8/10
  app updated 11-21-08

  a single example (more at link left of this)
  showing options to get one conversion, scan,
  send analog output, send/check digital I/O

multi-function app panel
- .NET
C#.NET

*simplified app
  2k/XP/Vista/7/8/10
  app updated 7-25-08

  a single example (more at link above this)
  showing options to get one conversion,
  scan, send/check digital I/O

multi-function app panel





  Labview
*simplified
  2k/XP/
  app updated 7-6-05

  a single example (more at link above this)
  showing options to get one conversion, scan,
  send analog output, send/check digital I/O

main panel

code diagram
- Labview
*simplified
  with Model 35B
  thermocouple amplifier
  Win2k/XP
  app updated 4-10-03

  example of using with the 35B thermocouple
  amplfier. Multi-function app with graphing

main panel

code diagram     





  Matlab
*simplified
  uses 64-bit DLL:  
  2k/XP/Vista/7/8/10
  app updated 3-30-15


  a single example (more at link above this)
  showing options to get one conversion, scan,
  send analog output, send/check digital I/O

multi-function app panel





  Python Windows
 Full-function demo app - tested in WinXP
 overview here

 code download here
 code/app updated 10-23-17
 documentation here
 doc update 10-23-17
 the screenshots show the main menu
 and also a view of the scan menu uses
 our USB Driver/DLL

main menu panel


scan menu
 Full-function demo app - tested in Win10
 overview here

 code download here
 code/app updated 7-26-23
  documentation links below
 
READ FIRST
 
then read this
 doc update 7-26-23
 the screenshots show the main menu
 and also a view of the scan menu uses
 our USB Driver/DLL

main menu panel


scan menu
- Python Windows
 simple single-chan app
 example - no user menu

 code download here
 app last updated 9-20-17
 documentation here
 doc update 9-20-17
 screenshot shows the output from our
 simple single-chan scan example app
 which uses our USB Driver/DLL

app screenshot
- Python Windows
 simple multi-chan app
 example - no user menu

 code download here
 app last tested 9-20-17
 documentation here
 doc update 9-20-17

 screenshot shows the output from our
 simple multi-chan scan example app
 which uses our USB Driver/DLL

app screenshot
 

Windows DLL/Driver, FAQ, & related
files and information
Differences between old and new DLLs
read about it
complete API Documentation
for new DLL
freq. asked
questions FAQ Here
Most recent Driver, DLL, .INI, .Inf, Docs, etc. linked to below
click this link
Although the new API  is recommended, the  old API  is still available for backward compatibility



 Linux
 All built and tested in Oracle VM
 VirtualBox, within Win7, running
 Linux Ubuntu 14.04 LTS
M30x USB library
 Library build
 code download here
 lib built/tested 7-11-17
 documentation here
 doc update 7-18-17
 image shows building of the Library and  relocating to usr/lib

lib build screenshot
- Linux
Linux sample apps coded in C
 big example app with user menu  
 lib built/tested 7-11-17
 
code download here
 app last built/tested 7-12-17
 documentation here  doc update 7-17-17

 screenshots show our most complete
 example application coded in C language
 for testing in Linux

polled mode screen

scan mode screen
 simple example app - no user menu
 
 lib built/tested 7-11-17
 code download here
 app last built/tested 6-29-17
 documentation here
 doc update 6-28-17

 screenshot shows the output from our simple
 example app coded in C language for testing
 our library in Linux

simple  C  app screenshot
- Linux
 sample app coded in python
 simple example app with no user menu  
 lib built/tested 7-11-17
 code download here
 app last built/tested 7-16-17
 documentation here
 doc update 7-17-17

 screenshot shows the output from our simple
 example application coded in python for
 testing our library in Linux

simple python app screenshot

































































































































































DLL Related information for
the software developer
This simplified interface of the new DLL contains function calls prefixed with "EX_" which are designed to be used together. The advantage of the new DLL is that it groups several function calls together within the DLL.

An example of the simplification can be noticed by the number of calls required in the original DLL for the initialization or scanning process. While the original DLL would require several calls into the DLL to start either of those processes, the new DLL requires only a single call for each,  EX_Connect()  and  EX_Run()  if the default configuration  ( single device connected, single channel scan, 100Hz )  will work for you. The use of these two calls will connect to the first M30x device that is found, and start a single channel scan at 100Hz.

An example of the versatility of the new DLL can be realized by the scanning related options. The scan can be configured to only log data to disk, log data to memory which can be read by the application, or do both. There are also options to run a scan that stops automatically and even beep the PC speaker when it stops. These options are explained within the  API documentation here  or by following the link provided further up this page.

The links for the new DLL take you to links to  mini applications  that show the use of various single and multiple calls into the DLL. For example one mini application might show how to connect and get a single conversion - not much more than a single page of code. Another might show how to connect and do a multi-channel, digital-input type scan with memory and data logging. Another shows how to use a configuration file to configure the device, saving function calls into the DLL that might otherwise be required.

The applications provided in the links above to the new DLL can often be made to work with Win98/ME simply by replacing the reference to "LL_USB2k.DLL" within the sample applications with reference to "LL_USB.DLL". The exception is the .NET sample applications which require the .NET environment available within WinXP and Vista.

Please note that although most of the sample applications contain a copy of the DLL, that DLL may not be the most current, but instead the one that was used at the time the application was created. You can get the  most recent DLL here,  or by following the link provided further up this page.

The new DLL still has all the API of the original old style DLL, so you can use the new DLL with your old applications - as long as the new device driver is used with it.
































































































































































Using old and new
DLL API together
The newest DLL is backward compatible. In other words, although new entry points are frequently added to make the interface simpler, all the original entry points are still available. The links that go to either the new DLL or old DLL, also contain the API for each one, although the DLL is the same for each. The differences between the links is the sample applications which contain source code for the software developer. The old DLL links will contain sample applications that make use of only the old entry points, while the new DLL links will make use of the entry points provided within a more recent DLL.

For example, although the API for the new DLL linked to further up this page makes no mention of SP_SystemCalibration, it can be found by following the link to the old DLL - within the API documentation provided there. If you'd like to do a system calibration, while using the new API, you can initialize using the new API call, EX_Connect to connect, and then use SP_SystemCalibration later to do a system calibration. It should be noted, in regard to this particular function, that a system calibration is performed by the DLL during the call to EX_Connect but you can still do it again anytime while not scanning. The best way to think about it all, is that the newest functions are "wrappers" around the older functions. The DLL itself often uses the older functions internally - combining many of them into a single function call preceded by EX_.

For your convenience, below are links to the API for both the old and new DLL.
    old API
    new API

Please note that an old copy of the DLL will most likely be included within the applications referenced by the "uses old DLL API" links. That DLL may not be compatible with the newest driver, so it's recommended that you get both the  latest driver and DLL.






































































































VisualBasic source code download options Win98/WinME
Source Code Download
includes device driver, DLL, and sample app

instructions for opening archive
(plain text style format)
Documentation
view online with web browser
Documentation
download archive


























































































































Download Graphing App with source code for Win2k/XP/Vista/7/8/10
archive

download archive, extract to a new folder, and
follow instructions within the archive



























































































































VC++ Console source code download options Win98/WinME
Source Code Download
includes device driver, DLL, and sample app

instructions for opening archive
(plain text style format)
Documentation
view online with web browser
Documentation
download archive


























































































































VC++ GUI source code download options Win98/WinME
Source Code Download
includes device driver, DLL, and sample app

instructions for opening archive
(plain text style format)
Documentation
view online with web browser
Documentation
download archive


























































































































VC++ GUI source code download options Win2k/XP/Vista/7/8/10
Source Code Download
includes device driver, DLL, and sample app

instructions for opening archive
(plain text style format)
Documentation
view online with web browser
Documentation
download archive


















































































LabView source code download options Win98/WinME
Source Code Download
includes device driver, DLL, and sample app

instructions for opening archive
(plain text style format)
Documentation
view online with web browser
Documentation
download archive


























































































































VisualBasic source code download options Win2k/XP/Vista/7/8/10
Source Code Download
includes device driver, DLL, and sample app

instructions for opening archive
(plain text style format)
Documentation
view online with web browser
Documentation
download archive


Model 302 interface for the Model 35B Thermocouple amplifier
note: this example for Model 302
A sample application written in Visual Basic
to interface the Model 302
USB Data Aquisition System to the
35B Thermocouple Amplifier
- source code is provided-
VB302 sample appApplication documentation


























































































































VC++ Console source code download options Win2k/XP/7/8/10
Source Code Download
includes sample code written in
VisualStudio 2015 and DLL

Documentation
for API used with this code


























































































































VC++ GUI source code download options Win2k/WinXP/7/8/10
Source Code Download
includes sample app, DLL, and docs
Documentation
view online with web browser
Documentation
download archive


























































































































LabView source code download options Win2k/XP
Source Code Download
includes device driver, DLL, and sample app

instructions for opening archive
(plain text style format)
Documentation
view online with web browser
Documentation
download archive

























































































































Visual Studio Configuration
for Win 64-bit
Although the system driver file that we distribute for 64-bit versions of Windows is 64-bit, the DLL is 32-bit. In most cases there is no problem interfacing that DLL with an old 32-bit application built for WinXP or even Win98 that has been taken into a Win64-bit environment such as Win7 or Win8 64-bit. But that's not the case when it's a .NET style application. To interface our DLL with an application making use of the 64-bit .NET environment the application must be built with the "Target" being set to "x86."

We provide various .NET sample application code at our website and those are typically built using Microsoft Visual Studio. To set the compilation to an x86 target follow the following menu links once Visual Studio is loaded:

Project->Application Properties->Compile

There will be an option there to set the Target CPU which you should set to x86 while leaving Platform set to Any CPU.



 this page last reviewed/modified: