Products for USB Sensing and Control
Products for USB Sensing and Control

PhidgetInterfaceKit 8/8/8

ID: 1018_2B

The Phidgets workhorse. Connect sensors, control outputs, and read in digital inputs.

Replaced by 1018_3B
Warning
The 1018_2B has been replaced by the 1018_3B. Due to parts and components going obsolete and becoming unavailable, the 1018_3B has moved to a new processor that is not supported under Phidget21. If you're using our old libraries you must upgrade to Phidget22 before you can make use of this Phidget. We have set aside a small reserve stock of the 1018_2B to help OEM customers have time to transition to the newer Phidget22 libraries. Please contact sales@phidgets.com to order them, and for guidance on how to upgrade.

Analog Inputs

The analog inputs are used to measure continuous voltage outputs generated by various sensors such as temperature, humidity, position, or pressure. Phidgets offers a wide variety of sensors that can be plugged directly into the board using the cable included with the sensor.

Sampling rates can be set at 1ms, 2ms, 4ms, 8ms and multiple of 8ms up to 1000ms.

For more information about these inputs and their connectors, have a look at the Analog Input Primer.

Digital Inputs

The Digital Inputs have a Digital Input Hardware Filter to eliminate false triggering from electrical noise. They can be used to convey the state of devices such as push buttons, limit switches, relays, and logic levels.

Digital Outputs

The Digital Outputs can be used to drive LEDs, solid state relays (such as the 3052 SSR Relay Board), transistors; in fact, anything that will accept a CMOS signal.

Enclosures

The 1018_2B comes pre-assembled in a plastic shell enclosure, but if you want a different enclosure here's a list of 1018 enclosures:

error: syntax error at or near "order"

USB Cables

Use a USB cable to connect this Phidget to your computer. We have a number of different lengths available, although the maximum length of a USB cable is 5 meters due to limitations in the timing protocol. For longer distances, we recommend that you use a Single Board Computer to control the Phidget remotely.

Product Physical Properties
Part Number Price Connector A Connector B Cable Length
3017_1
Mini-USB Cable 28cm 24AWG
$3.00 USB Type A USB Mini-B 280 mm
3018_0
Mini-USB Cable 180cm 24AWG
$4.00 USB Type A USB Mini-B 1.8 m
3020_0
Mini-USB Cable 450cm 20AWG
$12.00 USB Type A USB Mini-B 4.5 m
3036_0
Mini-USB Cable 60cm 24AWG
$3.50 USB Type A USB Mini-B 600 mm
3037_0
Mini-USB Cable 120cm 24AWG
$4.00 USB Type A USB Mini-B 1.2 m
CBL4012_0
Mini-USB Cable 83cm Right Angle
$4.50 USB Type A USB Mini-B (90 degree) 830 mm

Phidget Cables

Each analog sensor will come with its own Phidget cable, but if you need extras we have a full list down below. You can solder multiple cables together in order to make even longer Phidget cables, but you should be aware of the effects of having long wires in your system.

Product Physical Properties
Part Number Price Cable Length
3002_0
Phidget Cable 60cm
$2.00 600 mm
3003_0
Phidget Cable 10cm
$1.50 100 mm
3004_0
Phidget Cable 350cm
$3.00 3.5 m
3038_0
Phidget Cable 120cm
$2.25 1.2 m
3039_0
Phidget Cable 180cm
$2.75 1.8 m
CBL4104_0
Phidget Cable 30cm
$1.75 300 mm
CBL4105_0
Phidget Cable 90cm
$2.00 900 mm
CBL4106_0
Phidget Cable 150cm
$2.50 1.5 m


Part 1: Setup

PhidgetInterfaceKit 8/8/8 - Select OS

PhidgetInterfaceKit 8/8/8

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

  • a 1018 Phidget InterfaceKit
  • a USB cable and computer
  • something to use with the 1018 (e.g. LEDs, switches, analog sensors, etc)

Select your Operating System:

«
»

PhidgetInterfaceKit 8/8/8 - Windows

Step 1: Install Phidgets Library

Step 2: Connect Devices

Step 3: Verify Connection

Step 1: Install Phidgets Library

Before you begin using your Phidgets, you will need to install the Phidget Library.

1. Download the installer for your system:

● 32-bit Installer Download

● 64-bit Installer Download

If you're unsure which one you should get, press ⊞ WIN + Pause/Break:

Before installing our libraries, be sure to read our Software License.

Step 1: Install Phidgets Library

2. Open the download. If it asks you for permission, select Run

Step 1: Install Phidgets Library

3a. Select Next

Step 1: Install Phidgets Library

3b. Read the Licence Agreement. Select Next.

Step 1: Install Phidgets Library

3c. Choose Installation Location. Select Next.

Step 1: Install Phidgets Library

3d. Confirm Install

Step 1: Install Phidgets Library

3e. Wait for Installation to complete. This should only take a few moments.

Step 1: Install Phidgets Library

3f. Installation Complete. Close installation Window.

Step 2: Connect Devices

● Connect USB Cable to your computer and PhidgetInterfaceKit

● Connect any sensors or LEDs you want to use

Step 3: Verify Connection

1. Open the Phidgets Control Panel:

If your Control Panel does not open, look in your taskbar. Double click the Phidget Icon.

Step 3: Verify Connection

2. If connected, your Phidgets will appear in the Phidget Control Panel.

Done!

If you're able to see and interact with your devices in the Phidget Control Panel, you're done with the Setup part of this guide.

Scroll down to Part 2: Using Your Phidget for the next step.


For more help installing in Windows (e.g. manual install, using a VM, etc.), visit this page:

Windows Advanced Information

«
»

PhidgetInterfaceKit 8/8/8 - MacOS

Step 1: Install Phidgets Library

Step 2: Connect Devices

Step 3: Verify Connection

Step 1: Install Phidgets Library

Before you begin using your Phidgets, you will need to install the Phidget Library.

1. Download the installer for your system:

● OS X 10.11+: Installer Download

● Mac OS X 10.7 - OS X 10.10: Installer Download

● Mac OS X 10.5 - OS X 10.6: Installer Download


Before installing our libraries, be sure to read our Software License.

Step 1: Install Phidgets Library

2. Open the download and double click on Phidgets.pkg

Step 1: Install Phidgets Library

3a. Select Continue

Step 1: Install Phidgets Library

3b. Read and continue. Read the License and click Agree.

Step 1: Install Phidgets Library

3c. Here, you have the option to select the installation location. Select Install to continue.

Step 1: Install Phidgets Library

3d. MacOS may ask for permission to install. Enter your username and password and Install Software.

Step 1: Install Phidgets Library

3e. Wait for Installation to complete. This should only take a few moments.

Step 1: Install Phidgets Library

3f. You may see a message that the extension has been blocked. Select Open Security Preferences.

Step 1: Install Phidgets Library

3g. Beside the message for Phidgets Inc, Click Allow.

Step 1: Install Phidgets Library

3h. Installation Complete, Click Close.

Step 1: Install Phidgets Library

3i. To delete the installer, click Move to Trash.

Step 2: Connect Devices

● Connect USB Cable to your computer and PhidgetInterfaceKit

● Connect any sensors or LEDs you want to use

Step 3: Verify Connection

1. Open the Phidgets Control Panel:

Step 3: Verify Connection

2. If connected, your Phidgets will appear in the Phidget Control Panel.

Done!

If you're able to see and interact with your devices in the Phidget Control Panel, you're done with the Setup part of this guide.

Scroll down to Part 2: Using Your Phidget for the next step.


For more info installing in MacOS (e.g. developer tools, driver extension, etc.), visit this page:

MacOS Advanced Information

«
»

Phidget InterfaceKit 8/8/8 - Linux

Step 1: Install Phidgets Library

Step 2: Connect Devices

Step 3: Verify Connection

Step 1: Install Phidgets Library

1. First, you need to install the libusb-1.0 development libraries. For example, in Debian based distributions:

apt-get install libusb-1.0-0-dev


You’ll also need a C compiler and builder, if you don’t already have one installed.

apt-get install gcc
apt-get install make

Step 1: Install Phidgets Library

2. Next, download and unpack the Phidgets library:

libphidget22

Step 1: Install Phidgets Library

3. Use the following commands in the location you unpacked to install the library:

./configure
make
sudo make install

Step 1: Install Phidgets Library

4. (Optional) You can also download and unpack the following optional packages:

phidget22networkserver - Phidget Network Server, which enables the use of Phidgets over your network

phidget22admin - Admin tool to track who is connected to your Phidgets when using the network server

libphidget22extra - Required for phidget22networkserver and phidget22admin

libphidget22java - The Java libraries for Phidget22


For installation instructions for these packages, see the README file included with each one.

Step 2: Connect Devices

● Connect USB Cable to your computer and PhidgetInterfaceKit

● Connect any sensors or LEDs you want to use

Step 3: Verify Connection

1. The easiest way to verify that your libraries are working properly is to compile and run an example program. Download and unpack this C example that will detect any Phidget:

HelloWorld C Example

Step 3: Verify Connection

2. Next, open the terminal in the location where you unpacked the example. Compile and run using:

gcc HelloWorld.c -o HelloWorld -lphidget22
sudo ./HelloWorld

ou should receive a “Hello” line for each Phidget channel that is discovered:

I don’t see any Phidgets show up in the HelloWorld example

You need to run it with sudo in order to be able to access USB devices. In order to use Phidgets without sudo, you need to set your udev rules. See the Advanced Information page on the final slide of this guide for details.

Done!

If you're able to see your devices in the Hello World example, you're done with the Setup part of this guide.

Scroll down to Part 2: Using Your Phidget for the next step.


For more info installing in Linux (e.g. Udev rules, old versions, etc.), visit this page:

Linux Advanced Information

«
»

Part 2: Using Your Phidget

About

The 1018 PhidgetInterfaceKit 8/8/8 has:

  • 8 Digital Inputs for reading switches or logic-level sensors
  • 8 Digital Outputs for LEDs or simple logic-level output
  • 8 Analog Inputs for reading 0-5V sensors

Each analog port can be opened as a VoltageInput or a VoltageRatioInput object, depending on what kind of sensor you're connecting to.

Explore Your Phidget Channels Using The Control Panel

You can use your Control Panel to explore your Phidget's channels.

1. Open your Control Panel, and you will find the following channels:

1018 Panel.jpg

2. Double click on a channel to open an example program. Each channel belongs to the Digital Input, Digital Output, Voltage Input or Voltage Ratio Input channel class:

Expand All
Digital Input: Read the state of a switch

In your Control Panel, double click on "Digital Input":

1018-DigitalInput.jpg
Digital Output: Control LEDs, relays, digital circuits, and other simple electronics

In your Control Panel, double click on "Digital Output":

1018-DigitalOutput.jpg
Voltage Input: Non-ratiometric Analog sensors and monitoring 5V digital circuits

In your Control Panel, double click on "Voltage Input":

1018-VoltageInput.jpg
Voltage Ratio Input: Analog ratiometric sensors

In your Control Panel, double click on "Voltage Ratio Input":

1018-VoltageRatioInput.jpg

Part 3: Create your Program

1. Setting up your Programming Environment

2. Phidget Programming Basics

Part 4: Advanced Topics and Troubleshooting

Expand All
How do I know what channel, serial number, or hub port to use in my program?

Before you open a Phidget channel in your program, you can set these properties to specify which channel to open. You can find this information through the Control Panel.

1. Open the Control Panel and double-click on the red map pin icon:

The locate Phidget button is found in the device information box

2. The Addressing Information window will open. Here you will find all the information you need to address your Phidget in your program.

All the information you need to address your Phidget


See the Phidget22 API for your language to determine exact syntax for each property.

How can I plot or record sensor data?

Note: Graphing and logging is currently only supported in the Windows version of the Phidget Control Panel.

In the Phidget Control Panel, open the channel for your device and click on the Plot.jpg icon next to the data type that you want to plot. This will open up a new window:

Plot2.jpg

If you need more complex functionality such as logging multiple sensors to the same sheet or performing calculations on the data, you'll need to write your own program. Generally this will involve addressing the correct channel, opening it, and then creating an Event Handler and adding graphing/logging code to it.

The quickest way to get started is to download some sample code for your desired programming language and then search google for logging or plotting in that language (e.g. "how to log to csv in python") and add the code to the existing change handler.

Filtering

You can perform filtering on the raw data in order to reduce noise in your graph. For more information, see the Control Panel Graphing page.

Graph Type

You can perform a transform on the incoming data to get different graph types that may provide insights into your sensor data. For more information on how to use these graph types, see the Control Panel Graphing page.

Setting the Change Trigger and Data Interval

The Change Trigger is the minimum change in the sensor data needed to trigger a new data event. The Data Interval is the time (in ms) between data events sent out from your Phidget. You can modify one or both of these values to achieve different data outputs. You can learn more about these two properties here.

Upgrading or Downgrading Device Firmware

Firmware Upgrade

MacOS users can upgrade device firmware by double-clicking the device row in the Phidget Control Panel.

Linux users can upgrade via the phidget22admin tool (see included readme for instructions).

Windows users can upgrade the firmware for this device using the Phidget Control Panel as shown below.

ControlpanelFWup.jpg

Firmware Downgrade

Firmware upgrades include important bug fixes and performance improvements, but there are some situations where you may want to revert to an old version of the firmware (for instance, when an application you're using is compiled using an older version of phidget22 that doesn't recognize the new firmware).

MacOS and Linux users can downgrade using the phidget22admin tool in the terminal (see included readme for instructions).

Windows users can downgrade directly from the Phidget Control Panel if they have driver version 1.9.20220112 or newer:

ControlpanelFWdown.jpg

Firmware Version Numbering Schema

Phidgets device firmware is represented by a 3-digit number. For firmware patch notes, see the device history section on the Specifications tab on your device's product page.

FWversion.jpg

  • If the digit in the 'ones' spot changes, it means there have been bug fixes or optimizations. Sometimes these changes can drastically improve the performance of the device, so you should still upgrade whenever possible. These upgrades are backwards compatible, meaning you can still use this Phidget on a computer that has Phidget22 drivers from before this firmware upgrade was released.
  • If the digit in the 'tens' spot changes, it means some features were added (e.g. new API commands or events). These upgrades are also backwards compatible, in the sense that computers running old Phidget22 drivers will still be able to use the device, but they will not be able to use any of the new features this version added.
  • If the digit in the 'hundreds' spot changes, it means a major change has occurred (e.g. a complete rewrite of the firmware or moving to a new architecture). These changes are not backwards compatible, so if you try to use the upgraded board on a computer with old Phidget22 drivers, it will show up as unsupported in the Control Panel and any applications build using the old libraries won't recognize it either. Sometimes, when a Phidget has a new hardware revision (e.g. 1018_2 -> 1018_3), the firmware version's hundreds digit will change because entirely new firmware was needed (usually because a change in the processor). In this case, older hardware revisions won't be able to be upgraded to the higher version number and instead continue to get bug fixes within the same major revision.
Analog Inputs

If you want to know more about the capabilities of the analog inputs on this device, check the Analog Input Primer.

Digital Inputs

If you want to know more about the capabilities of the digital inputs on this device, check the Digital Input Primer.

Digital Outputs

If you want to know more about the capabilities of the digital outputs on this device, check the InterfaceKit Digital Outputs.

Product Specifications

Board
Controlled By USB (Mini-USB)
API Object Name DigitalInput, DigitalOutput, VoltageInput, VoltageRatioInput
USB Voltage Min 4.6 V DC
USB Voltage Max 5.5 V DC
Current Consumption Min 13 mA
Current Consumption Max 500 mA
Available External Current 487 mA
Recommended Wire Size 16 - 26 AWG
USB Speed Full Speed
Operating Temperature Min 0 °C
Operating Temperature Max 70 °C
Voltage Inputs
Number of Voltage Inputs 8
Voltage Input Resolution 10 bit
Input Impedance 900 kΩ
Input Voltage Min 0 V DC
Input Voltage Max 5 V DC
5V Reference Error Max 0.5 %
Voltage Input Update Rate Min 1 samples/s
Voltage Input Update Rate Max (4 Channels) 1000 samples/s
Voltage Input Update Rate Max (8 Channels) 500 samples/s
Voltage Input Update Rate Max (WebService) 62.5 samples/s
Digital Inputs
Number of Digital Inputs 8
Pull-up Resistance 15 kΩ
Low Voltage Max (True) 900 mV DC
High Voltage Min (False) 4.2 V DC
Low Voltage Trigger Length Min 4 ms
High Voltage Trigger Length Min 15 ms
Digital Input Voltage Max ± 15 V DC
Digital Input Update Rate 125 samples/s
Digital Outputs
Number of Digital Outputs 8
Series Resistance 300 Ω
Digital Output Current Max 16 mA
Digital Output Voltage Min 0 V DC
Digital Output Voltage Max 5 V DC
Customs Information
Canadian HS Export Code 8471.80.00
American HTS Import Code 8471.80.40.00
Country of Origin CN (China)

Documents

Product History

Date Board Revision Device Version Packaging Revision Comment
July 2007 0824Product Release
September 20070825SPI Overclocking issue fixed
May 2008 1826Added RC Filtering to Digital Inputs, PCB X Dimension increased to 3.27”
April 2010 2900Configurable data sampling speed. Replace USB connector with Mini-USB connector
April 2010 2901Fixed bugs relating to changing the ratiometric setting and overflow reporting
September 20102902Fixed certain output set commands from PC being ignored
November 2010 2903USB Product Name descriptor changed from "Phidget" to "PhidgetInterfaceKit"
May 2011 2904getLabelString fixed for labels longer than 7 characters
November 20172904BRemoved USB cable, added plastic shell enclosure

Software Objects

Channel NameAPIChannel
Voltage Input VoltageInput 0 - 7
Voltage Ratio Input VoltageRatioInput 0 - 7
Digital Input DigitalInput 0 - 7
Digital Output DigitalOutput 0 - 7

API


Back Forward
Print this API

Code Samples



Example Options


Downloads

				Make your selections to display sample code.
					

Code Samples

Language:

APIDetailLanguageOS
VoltageInput Visual Studio GUI C# Windows Download
VoltageInput Java Android Download
VoltageInput Multi-Channel Example JavaScript Browser Download
VoltageInput JavaScript Browser Download
VoltageInput Objective-C macOS Download
VoltageInput Swift macOS Download
VoltageInput Swift iOS Download
VoltageInput Visual Basic .NET Windows Download
VoltageInput Max/MSP Multiple Download
VoltageRatioInput Visual Studio GUI C# Windows Download
VoltageRatioInput Load Cell Calibrator C# Windows Download
VoltageRatioInput Java Android Download
VoltageRatioInput JavaScript Browser Download
VoltageRatioInput Objective-C macOS Download
VoltageRatioInput Swift macOS Download
VoltageRatioInput Swift iOS Download
VoltageRatioInput Visual Basic .NET Windows Download
VoltageRatioInput Max/MSP Multiple Download
DigitalInput Visual Studio GUI C# Windows Download
DigitalInput Java Android Download
DigitalInput JavaScript Browser Download
DigitalInput Multi-Channel Example JavaScript Browser Download
DigitalInput Objective-C macOS Download
DigitalInput Swift macOS Download
DigitalInput Swift iOS Download
DigitalInput Visual Basic .NET Windows Download
DigitalInput Max/MSP Multiple Download
DigitalOutput Visual Studio GUI C# Windows Download
DigitalOutput Java Android Download
DigitalOutput JavaScript Browser Download
DigitalOutput Multi-Channel Example JavaScript Browser Download
DigitalOutput Objective-C macOS Download
DigitalOutput Swift macOS Download
DigitalOutput Swift iOS Download
DigitalOutput Visual Basic .NET Windows Download
DigitalOutput Max/MSP Multiple Download

The following boards also have analog inputs, digital inputs, and digital outputs:

Product Voltage Inputs Digital Outputs Digital Inputs
Part Number Price Number of Voltage Inputs Number of Digital Outputs Number of Digital Inputs
1010_0
PhidgetInterfaceKit 8/8/8 Mini-Format
$80.00 8 8 8
1011_0
PhidgetInterfaceKit 2/2/2
$50.00 2 2 2
1018_3B
PhidgetInterfaceKit 8/8/8
$80.00 8 8 8
1019_1B
PhidgetInterfaceKit 8/8/8 w/6 Port Hub
$110.00 8 8 8
1203_2B
PhidgetTextLCD 20X2 : White : Integrated PhidgetInterfaceKit 8/8/8
$70.00 8 8 8