Products for USB Sensing and Control

Products for USB Sensing and Control

PhidgetInterfaceKit 0/16/16

ID: 1012_0
Use it to check the state of switches, push buttons, relays and/or to switch relays, solenoids, motors and even high power LEDs.

Replaced by 1012_2

Replaced by the 1012 - PhidgetInterfaceKit 0/16/16.

The PhidgetInterfaceKit 0/16/16 provides:

  • 16 Digital Inputs sensing up to 30VDC
  • 16 Digital Outputs controlling up to 30VDC
  • LED indicators on all I/O channels

The Digital Outputs can be used to directly control substantial devices, switching up to 30VDC at up to 2 Amps. The Output acts as a switch to ground, and is protected from transient voltages typical when switching inductive devices - relays, solenoids, motors. The Outputs can be used to directly control devices requiring substantial power such as incandescent lights, high power LEDs, relays, solenoids, motors.

The Digital Inputs are activated by an external voltage source, triggering on a wide voltage range - 4 to 30VDC. They can be used to convey the state of on/off devices, such as push buttons, limit switches, relays.

Comes packaged with a 180cm USB Cable, a Getting Started Manual, a mounting hardware kit, and a sheet of labels.


Product Manual

Software Objects

Device Object Name Channel
Digital Inputs DigitalInput 0 - 15
Digital Outputs DigitalOutput 0 - 15

Product History

Date Board Revision Device Version Comment
January 2003 0600Product Release
January 2004 0601Added State Echoing
June 2006 0602Fixed flipped protocol bits
May 2007 0603
July 2007 0604
January 2008 0605Added Digital Input Filtering
September 20081605Added Digital Input Filtering
September 20102605Smaller Terminal blocks, Mini-USB connector, red Digital Outputs and green Digital Inputs LEDs, added two +5V terminal blocks

Getting Started

Welcome to the 1012 user guide! In order to get started, make sure you have the following hardware on hand:

Next, you will need to connect the pieces:

1012 2 Connecting The Hardware.jpg
  1. Digital Inputs: By connecting a power supply and a switch (or the 5V pin of the 1012 and a switch) you can test the digital inputs of the 1012.
  2. Open Collector Digital Outputs: Connect a load (like a light bulb or LED) in series with a power supply and connect one end of the series to a digital output and the other to ground, as pictured.
  3. Connect the Phidget to your computer using the USB cable

Now that you have everything together, let's start using the 1012!

Using the 1012

Phidget Control Panel

In order to demonstrate the functionality of the 1012, the Phidget Control Panel running on a Windows machine will be used.

The Phidget Control Panel is available for use on both macOS and Windows machines. If you would like to follow along, first take a look at the getting started guide for your operating system:

Linux users can follow the getting started with Linux guide and continue reading here for more information about the 1012.

First Look

After plugging the 1012 into your computer and opening the Phidget Control Panel, you will see something like this:

1012 Panel.jpg

The Phidget Control Panel will list all connected Phidgets and associated objects, as well as the following information:

  • Serial number: allows you to differentiate between similar Phidgets.
  • Channel: allows you to differentiate between similar objects on a Phidget.
  • Version number: corresponds to the firmware version your Phidget is running. If your Phidget is listed in red, your firmware is out of date. Update the firmware by double-clicking the entry.

The Phidget Control Panel can also be used to test your device. Double-clicking on an object will open an example.

Digital Input

Double-click on a Digital Input object in order to run the example:

1012 DigitalInputAL Example.jpg

General information about the selected object will be displayed at the top of the window. You can also experiment with the following functionality:

  • This is an active-high device, therefore, it will be true when connected to a high input and false when connected to ground.

Digital Output

Double-click on a Digital Output object in order to run the example:

1012 DigitalOutput Example.jpg

General information about the selected object will be displayed at the top of the window. You can also experiment with the following functionality:

  • Toggle the state of the digital output by pressing the button. Remember, the 1012 simply acts as a switch to ground.

Technical Details


All of the digital inputs have built-in filtering. This helps to eliminate false triggering from electrical noise. The input is first RC filtered by a 10k/100nF node, which will reject noise of higher frequency than 1kHz. This filter generally eliminates the need to shield the digital input from inductive and capacitive coupling that is likely to occur in the wiring harnesses.

Monitoring a Switch

A simplified schematic of a digital input on the 1012 - Phidget InterfaceKit 0/16/16.
Full-Sized Image

To test your digital input, wire it up to a switch as shown in the diagram. The power supply VS1 needs to be within 4.2-30V DC in order to guarantee a response from the digital input when the switch is closed.

Monitoring the Position of a Relay

Monitoring the position of a double-pole relay.
Full-Sized Image

If you have a double-pole relay (that is, a relay that is designed to close two switches at once with the same control input), you can switch a load with one pole, and monitor the state of the relay with the other pole. This can come in handy as a safety feature- if the relay were to fail, your software would normally not have any way of knowing.

Functional Block Diagram

Full-Sized Image

Unlike typical Phidget digital inputs, these are capable of receiving up to 30VDC. These inputs are active high: A voltage of 4VDC to 30VDC will be read as True or logical 1; below 1VDC will be read as a False or logical 0. The input is high impedance, which means current flowing into the Phidget device will be limited. Ground terminals are provided in multiple locations along the input terminal strip; it is recommended that the ground terminal located nearest the input terminal be used.

What to do Next

  • Software Overview - Find your preferred programming language here to learn how to write your own code with Phidgets!
  • General Phidget Programming - Read this general guide to the various aspects of programming with Phidgets. Learn how to log data into a spreadsheet, use Phidgets over the network, and much more.
  • Phidget22 API - The API is a universal library of all functions and definitions for programming with Phidgets. Just select your language and device and it'll give you a complete list of all properties, methods, events, and enumerations that are at your disposal.

Software Objects

Channel NameAPIChannel
Digital Input DigitalInput 0 - 15
Digital Output DigitalOutput 0 - 15


Back Forward
Print this API