Software Overview

From Phidgets Support

Phidgets’ philosophy is that you do not have to be an electrical engineer in order to do projects that use devices like sensors, motors, motor controllers, and interface boards. All you need to know is how to program.

We have developed a complete set of Application Programming Interfaces (API) that are supported for many different operating systems, and which can be used through many different programming languages.

We suggest starting with the Getting Started guide for your device, which can be found on its product page on our main website. This will help you run a basic example to check your hardware and drivers.

The next step would be to choose your operating system below, and from there choose a language, learn about how to write code for your Phidget using our General Phidget Programming Guide, and get API references for your programming language.

The APIs are covered in more detail for each specific language below, and the API that pertains to your specific Phidget can also be found on its product page on our main website.

Operating System Support

These operating system pages provide drivers for using Phidgets. They help you set up your system after following the Getting Started guide for your device. The operating systems links below are also on every Getting Started guide, so if you have not yet read the one for your device, head straight to the product page for your device on our main website where you can find it and follow it.

Phidgets can be run either directly through USB or remotely over a network via the Phidget WebService. Most operating systems below can run Phidgets directly, but a few can only control them over a network. Phidgets can also probably be run on other operating systems that have support for compiling C code, and either a standard network connection for running a Phidget over a network, or a USB host controller for direct control. We don't offer support directly for these additional operating systems, but you may find the installation and setup instructions for Linux useful because compiling and custom toolchains are discussed.

Phidgets can run either directly or over a network on these operating systems:

Operating System Supported Version Direct Control Remote Network Control
Desktop OSes
OS - WindowsWindows Windows 2000 or Newer Checkmark.png Checkmark.png
OS - OS XOS X OS X 10.4 or newer Checkmark.png Checkmark.png
OS - LinuxLinux Kernel 2.6 or newer Checkmark.png Checkmark.png
Mobile/Wireless OSes
OS - Phidget SBCPhidget SBC (Debian) All versions Checkmark.png Checkmark.png
OS - AndroidAndroid 3.1 and newer, with USB port Checkmark.png Checkmark.png
OS - AndroidAndroid 1.5 to 3.0 X Checkmark.png
OS - iOSiOS 3.0 or newer X Checkmark.png
OS - Windows CEWindows CE 5.0 or newer Checkmark.png Checkmark.png

Language Support

We provide a variety of supported languages for using Phidgets. Each language has its own libraries, which may be found on the language pages below, along with code examples and an in-depth API.

Many languages also depend on the core drivers being installed as well. These drivers can be found on the operating system pages above.

Phidgets supports the following languages. If you have some flexibility in what language to use, we recommend using a Core Language:

Language API Code Samples Events Logic Code Use via Direct USB* Phidget WebService Native Library** Phidget User Base
Core Languages
C Sharp C# All Devices All Devices Checkmark.png Checkmark.png Checkmark.png Checkmark.png Checkmark.png File:Level-10.png
C/C++ C/C++ All Devices All Devices Checkmark.png Checkmark.png Checkmark.png Checkmark.png Checkmark.png File:Level-10.png
Java Java All Devices All Devices Checkmark.png Checkmark.png Checkmark.png Checkmark.png Checkmark.png File:Level-10.png
Python Python All Devices All Devices Checkmark.png Checkmark.png Checkmark.png Checkmark.png Checkmark.png File:Level-10.png
File:Icon-Cocoa.png Cocoa All Devices All Devices Checkmark.png Checkmark.png Checkmark.png Checkmark.png Checkmark.png File:Level-10.png
File:Icon-Visual Basic.png Visual Basic 6.0 All Devices All Devices Checkmark.png Checkmark.png Checkmark.png Checkmark.png Checkmark.png File:Level-10.png
Visual Basic .NET Visual Basic .NET All Devices All Devices Checkmark.png Checkmark.png Checkmark.png Checkmark.png Checkmark.png File:Level-10.png
Mobile Languages
iOS iOS All Devices InterfaceKit Only Checkmark.png Checkmark.png X Checkmark.png Checkmark.png File:Level-06.png
Android Java Android Java All Devices InterfaceKit Only Checkmark.png X Some Devices Checkmark.png Checkmark.png File:Level-06.png
Scripting
File:Icon-Applescript.png Applescript All Devices All Devices Checkmark.png Checkmark.png Checkmark.png Checkmark.png Checkmark.png File:Level-06.png
File:Icon-Autoit.png AutoIt All Devices None Checkmark.png Checkmark.png Checkmark.png Checkmark.png Checkmark.png File:Level-01.png
File:Icon-Ruby.png Ruby All Devices All Devices Checkmark.png Checkmark.png Checkmark.png Checkmark.png Checkmark.png File:Level-01.png
Science and Math
LabVIEW LabVIEW All Devices All Devices Checkmark.png Checkmark.png Checkmark.png Checkmark.png Checkmark.png File:Level-06.png
File:Icon-Matlab.png MATLAB All Devices Some Devices X Checkmark.png Checkmark.png Checkmark.png X File:Level-06.png
File:Icon-Simulink.png Simulink All Devices InterfaceKit Only X Checkmark.png Checkmark.png Checkmark.png X File:Level-01.png
Multimedia
File:Icon-Adobe Director.png Adobe Director All Devices InterfaceKit Only Checkmark.png Checkmark.png Checkmark.png Checkmark.png Checkmark.png File:Level-01.png
File:Icon-Flash AS3.png Flash AS3 All Devices All Devices Checkmark.png Checkmark.png Checkmark.png Checkmark.png Checkmark.png File:Level-10.png
File:Icon-Flex AS3.png Flex AS3 All Devices All Devices Checkmark.png Checkmark.png Checkmark.png Checkmark.png Checkmark.png File:Level-06.png
File:Icon-LiveCode.png LiveCode InterfaceKit Only InterfaceKit Only Checkmark.png Checkmark.png Checkmark.png X Checkmark.png File:Level-01.png
Max/MSP Max/MSP All Devices All Devices Checkmark.png Checkmark.png Checkmark.png Checkmark.png Checkmark.png File:Level-06.png
Other Languages
C Sharp (.NET Compact Framework) C# (.NET Compact) All Devices Some Devices Checkmark.png Checkmark.png Checkmark.png Checkmark.png Checkmark.png File:Level-01.png
Visual Basic (.NET Compact Framework) Visual Basic (.NET Compact Framework) All Devices Some Devices Checkmark.png Checkmark.png Checkmark.png Checkmark.png Checkmark.png File:Level-01.png
File:Icon-REALBasic.png REALBasic All Devices None Checkmark.png Checkmark.png Checkmark.png Checkmark.png Checkmark.png File:Level-01.png
File:Icon-Visual Basic for Applications.png Visual Basic for Apps All Devices Some Devices Checkmark.png Checkmark.png Checkmark.png Checkmark.png Checkmark.png File:Level-01.png
File:Icon-Visual Basic Script.png Visual Basic Script All Devices Some Devices Checkmark.png Checkmark.png Checkmark.png Checkmark.png Checkmark.png File:Level-01.png
File:Icon-Delphi.png Delphi All Devices Some Devices Checkmark.png Checkmark.png Checkmark.png Checkmark.png Checkmark.png File:Level-01.png

* A direct USB connection would be plugging the Phidget into a USB port and using it locally. This is the typical way to use a Phidget. However, some platforms (such as the iPhone platform) do not have USB ports and hence can only use a Phidget over a network, via the Phidget WebService.

** Native library support means that the calls you make to a Phidget in this language are in the language as well. If the calls are non-native, the use of Phidgets is through an external library linker, such as callib() in MATLAB, for example. The core Phidget library is written in C, and most other languages use this library as their core, but a 'Native' interface cleanly hides this detail.

Most languages have code samples for all Phidgets, but some have only some devices (visit the language page to learn which ones), and some only have an Interface Kit example. The Phidget Interface Kit is a common Phidget with provides an interface with analog sensors, digital input, and digital output. So, when we choose which examples to write, the Interface Kit is often at the top of our customer's lists.

Icon-Android Honeycomb.pngAndroid Honeycomb Version 3.1 or Higher Only

Third Party Support

Warning.png These products must be purchased directly from these companies and all support calls must be directed to them

Some third party companies also offer and support software programs that work with Phidgets boards. Phidgets does not have a certification program and does not make any warranty about these products.

In alphabetical order:

Company Product Runs On Website Synopsis Product Information
24U 24U Phidgets Plug-in 1.0 Mac, Windows Website 24U Phidgets Plug-In lets you connect different kind of phidgets (www.phidgets.com) to your computer's USB port and interact with them directly from FileMaker Pro. Pdficon small.gif
DSPRobotics Flowstone Windows 2000/XP/Vista/7/Embedded Website Graphical Programming Language aimed at real-time Digital Signal Processing.(DSP), Robotics and Embedded applications. FlowStone is a drag and drop environment where you combine high-level and low-level modules to build real time applications. Pdficon small.gif
MANIPIL Visual Domotique Windows XP/Vista/7 Website Visual Domotique is a Graphical I/O programming for Windows XP/Vista/7. Various components allow you to draw electrical schema and control panel. No need to know how to program to use this software. Varied uses are possible: Home automation, security, hobby, Control process education... Available in French. Pdficon small.gif
PCRBOX PCR Automation Windows XP/Vista/7 (32 & 64bit) Website PCR Automation is an easy to use software that works immediately without the need for any programming. It interfaces with the 1018, 1070 and 1072. Several interfaces can be opened simultaneously, each in a different window. Each input / output can be customized (label, sensor, offset, units, sensitivity, recording ...). The log files can be automatically sent by E-mail. Users can add their own sensors to the library of thirty Phidgets sensors. Pdficon small.gif
PiXCL Automation Technologies PiXCL Advanced Imaging 10.2 Windows XP/Vista/7 Website PiXCL is a powerful and easy-to-learn event driven interpreted language for the fast creation of image acquisition, processing and advanced analysis applications. The suite includes a compiler and development studio with context sensitive help and plenty of sample code. V10.1 provides you with the tools to create applications that combine Phidget devices with digital cameras and scanners. Pdficon small.gif
SoapBox Automation SoapBox Snap Windows XP/Vista/7 Website SoapBox Snap is a free and open source PC-based automation platform. It includes a ladder logic editor and a “soft” runtime right out of the box. Pdficon small.gif
UACh - Universida Austral de Chile monoBOTICS-icarus Linux Website The monoBOTICS project aims to become an OpenSource Framework, to facilitate the tasks of design, simulation and implementation of solutions for areas of Robotics and Automation, both for people with basic knowledge of programming, as for more advanced developers. Pdficon small.gif

Template:CreativeCommons