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

#### sales inquiries

##### quotes, distributor information, purchase orders
sales@phidgets.com

#### technical inquiries

##### support, advice, warranty, returns, misshipment
support@phidgets.com

#### website inquiries

web@phidgets.com

##### Unit 1 - 6115 4 St SE Calgary AB  T2H 2H9 Canada
Projects Dealers Terms and Conditions Discontinued Products Phidget21 Documentation

#### PHIDGETS Inc.

Unit 1 - 6115 4 St SE
Calgary AB  T2H 2H9
+1 403 282-7335

ID: ENC1000_0
Recommended for new designs: This product (or a similar replacement with a compatible form, fit and function) is estimated to be available for ten years or more.

Interface a quadrature encoder at speeds of up to 100,000 quadrature cycles per second to a port on your VINT Hub.

## $15.00 Quantity Available: 611 Qty Price 5$14.25
10 $13.50 25$12.00
50 $10.50 100$9.75
250 $9.00 500$8.25
1000 $7.50 The Quadrature Encoder Phidget interfaces with any 5V quadrature encoder. A quadrature encoder is the most commonly used feedback device for a DC or stepper motor. With an encoder, you can keep track of how far your motor has turned, which then allows you to control the position and velocity in your code. This Phidget connects to your computer through a VINT Hub. #### Features: • Works with all 0-5V quadrature encoders - read incremental encoders with line driver, open collector, or push-pull output circuits • Read at speeds of up to 100,000 quadrature cycles per second • Power Saving Options - Turn off your encoder using your program when the device is not turning. When the encoder is not being powered, this board draws 20μA of current. #### VINT Hubs This Phidget is a smart device that must be controlled by a VINT Hub. For more information about VINT, have a look at the VINT Primer. You can use a Phidget Cable to simply and easily connect the two devices. Here's a list of all of the different VINT Hubs currently available: Product Board Part Number Price Number of VINT Ports Controlled By VINT Hub Phidget$30.00 6 USB (Mini-USB)
Wireless VINT Hub
$60.00 6 Local Network (Ethernet or Wi-Fi) PhidgetSBC4$120.00 6

#### Phidget Cables

Use a Phidget cable to connect this device to the hub. 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
Phidget Cable 60cm
$2.00 600 mm Phidget Cable 10cm$1.50 100 mm
Phidget Cable 350cm
$3.00 3.5 m Phidget Cable 120cm$2.25 1.2 m
Phidget Cable 180cm
$2.75 1.8 m Phidget Cable 30cm$1.75 300 mm
Phidget Cable 90cm
$2.00 900 mm Phidget Cable 150cm$2.50 1.5 m

#### Encoder Cables

For an easy way to connect an encoder to the 5-pin connector on the ENC1000, you can use these handy cables.

Product Physical Properties
Part Number Price Cable Length Cable Gauge
HighSpeed Encoder Cable 50cm
$5.00 500 mm 26 AWG #### Rotary Encoders The ENC1000 can be used with any incremental quadrature encoder. For more details on the different kinds of encoders, have a look at the Encoder Primer. All of the rotary encoders listed below are compatible with this Phidget: Product Encoder Properties Part Number Price Output Circuit Type Encoder Resolution Encoder Speed Max Optical Rotary Encoder 4mm Shaft$50.00 Push-Pull (Single-Ended) 360 CPR 3000 RPM
Optical Rotary Encoder HKT22
$25.00 Push-Pull (Single-Ended) 300 CPR 6000 RPM Hollow Shaft Optical Encoder IHC3808$50.00 Push-Pull (Single-Ended) 500 CPR 4500 RPM
$10.00 Push-Pull 40 CPR 6000 RPM #### Linear Encoders These linear encoders can all be used with the ENC1000: Product Physical Properties Part Number Price Travel Linear Encoder 900mm$110.00 900 mm
Linear Encoder 1100mm
$120.00 1.1 m Linear Encoder 1400mm$340.00 1.4 m
Linear Encoder 1700mm
$360.00 1.7 m Linear Encoder 2000mm$380.00 2 m

#### Draw Wire Encoders

Here are all of the draw-wire encoders that can be used with the ENC1000:

Product Encoder Properties Physical Properties
Part Number Price Output Circuit Type Length Resolution Wire Pull Length Weight
Draw Wire Encoder (1m)
$90.00 Push-Pull 1 m 305 g Draw Wire Encoder (0.6m)$80.00 Push-Pull 600 mm 255 g
Draw Wire Encoder (1.5m)
$100.00 Push-Pull 1.5 m 485 g Draw Wire Encoder (2.5m)$120.00 Push-Pull 2.5 m 580 g

## Part 1: Setup

### Select Device

Your Phidget must be connected to a device with a VINT port using a 3-wire Phidget cable.

## Step 1: Install Phidgets Library

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

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

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 Windows Computer

● Connect VINT Device(s)

## 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 help installing in Windows (e.g. manual install, using a VM, etc.), visit this page:

## Step 1: Install Phidgets Library

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

## Step 1: Install Phidgets Library

3a. Select Continue

## 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

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 Mac

● Connect VINT Device(s)

## 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.

## 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

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 Linux Computer

● Connect VINT Device(s)

## 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:

## 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.

## Step 1: Install Phidgets Library

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

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

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. Select Next to 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 Power Jack

● Connect VINT Device(s)

● Connect Ethernet to a Router or Switch (optional)

## Step 3: Verify Connection

Choose a setup method:

## Step 3: Connect Wireless

1. When you connect the power supply to the HUB5000, the red LED should turn on.

## Step 3: Connect Wireless

2. On your mobile device, go to the Wi-Fi settings and connect to the HUB5000:

## Step 3: Connect Wireless

4. Once your device is connected to the HUB5000’s WiFi signal:

Click on the WiFi network and find an option that says “Manage router” or “Visit homepage”.

Go to your internet browser and type 192.168.100.1 in the address bar.

## Step 3: Connect Wireless

5. Create a password for your HUB5000. You'll use it to access the Configure Page from now on.

## Step 3: Connect Wireless

6. Navigate to the network page. Change the Mode to Client.

## Step 3: Connect Wireless

7. Enter your Wifi Network details and click Save & Apply. It may take a few minutes for your Phidgets to appear in the Phidget Control Panel, which we’ll check in the next step.

## Step 4: Verify Connection

1. Open the Phidgets Control Panel:

## Step 4: 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:

## Step 3: Connect Wireless

1. When you connect the power supply to the HUB5000, the red LED should turn on.

## Step 3: Connect Wireless

3. Create a password for your HUB5000. You'll use this password to access the Configure Page from now on.

## Step 3: Connect Wireless

4. Navigate to the network page. Change the Mode to Client.

## Step 3: Connect Wireless

5. Enter your Wifi Network details to use your Hub wirelessly and click Save & Apply. You can then disconnect the ethernet cable.

It may take a few minutes for your Phidgets to appear in the Phidget Control Panel, which we’ll check in the next step.

## Step 4: Verify Connection

1. Open the Phidgets Control Panel:

## Step 4: 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:

## Step 1: Install Phidgets Library

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

## Step 1: Install Phidgets Library

3a. Select Continue

## Step 1: Install Phidgets Library

3c. Here, you have the option to select the installation location. Select 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. 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 Power Jack

● Connect VINT Device(s)

● Connect Ethernet to a Router or Switch (optional)

## Step 3: Verify Connection

Choose a setup method:

## Step 3: Connect Wireless

1. When you connect the power supply to the HUB5000, the red LED should turn on.

## Step 3: Connect Wireless

2. On your mobile device, go to the Wi-Fi settings and connect to the HUB5000:

## Step 3: Connect Wireless

4. Once your device is connected to the HUB5000’s WiFi signal:

Click on the WiFi network and find an option that says “Manage router” or “Visit homepage”.

Go to your internet browser and type 192.168.100.1 in the address bar.

## Step 3: Connect Wireless

5. Create a password for your HUB5000. You'll use this password to access the Configure Page from now on.

## Step 3: Connect Wireless

6. Navigate to the network page. Change the Mode to Client.

## Step 3: Connect Wireless

7. Enter your Wifi Network details and click Save & Apply. It may take a few minutes for your Phidgets to appear in the Phidget Control Panel, which we’ll check in the next step.

## Step 4: Verify Connection

1. Open the Phidget Control Panel:

## Step 4: 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.

## Step 3: Connect Wireless

1. When you connect the power supply to the HUB5000, the red LED should turn on.

## Step 3: Connect Wireless

3. Create a password for your HUB5000. You'll use this password to access the Configure Page from now on.

## Step 3: Connect Wireless

4. Navigate to the network page. Change the Mode to Client.

## Step 3: Connect Wireless

5. Enter your Wifi Network details to use your Hub wirelessly and click Save & Apply. You can then disconnect the ethernet cable.

It may take a few minutes for your Phidgets to appear in the Phidget Control Panel, which we’ll check in the next step.

## Step 4: Verify Connection

1. Open the Phidget Control Panel:

## Step 4: 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.

## 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

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 Power Jack

● Connect VINT Device(s)

● Connect Ethernet to a Router or Switch (optional)

## Step 3: Verify Connection

Choose a setup method:

## Step 3: Connect Wireless

1. When you connect the power supply to the HUB5000, the red LED should turn on.

## Step 3: Connect Wireless

2. On your mobile device, go to the Wi-Fi settings and connect to the HUB5000:

## Step 3: Connect Wireless

4. Once your device is connected to the HUB5000’s WiFi signal:

Click on the WiFi network and find an option that says “Manage router” or “Visit homepage”.

Go to your internet browser and type 192.168.100.1 in the address bar.

## Step 3: Connect Wireless

5. Create a password for your HUB5000. You'll use this password to access the Configure Page from now on.

## Step 3: Connect Wireless

6. Navigate to the network page. Change the Mode to Client.

## Step 3: Connect Wireless

7. Enter your Wifi Network details and click Save & Apply. It may take a few minutes for your Phidgets to appear in the Phidget Control Panel, which we’ll check in the next step.

## Step 4: 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:

## 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.

## Step 3: Connect Wireless

1. When you connect the power supply to the HUB5000, the red LED should turn on.

## Step 3: Connect Wireless

3. Create a password for your HUB5000. You'll use this password to access the Configure Page from now on.

## Step 3: Connect Wireless

4. Navigate to the network page. Change the Mode to Client.

## Step 3: Connect Wireless

5. Enter your Wifi Network details to use your Hub wirelessly and click Save & Apply. You can then disconnect the ethernet cable.

It may take a few minutes for your Phidgets to appear in the Phidget Control Panel, which we’ll check in the next step.

## Step 4: 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:

## 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.

## Step 1: Install Phidgets Library

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

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

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.

3d. Select Next.

## 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 Power Jack

● Connect VINT Device(s)

● Connect Ethernet to a Router or Switch in the same network as your Windows PC

## 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.

Now that the SBC's ethernet connection is verified, it can be connected to wifi.

If you don't have a USB wifi adapter or you're planning to stay on ethernet, you can scroll down to

## Step 4: Connect Wireless

2. Create a password for your SBC. You'll use this to access the configuration page from now on.

## Step 4: Connect Wireless

3. Navigate to Network -> Wireless. Select your Network, enter the wifi password and select Add This Network.

## Step 4: Connect Wireless

4. Scroll down to your saved networks, click on your network and select Join This Network.

## Step 4: Connect Wireless

5. It should now say connected in the status column.

You can now unplug the ethernet cable.

## 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:

## Step 1: Install Phidgets Library

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

## Step 1: Install Phidgets Library

3a. Select Continue

## Step 1: Install Phidgets Library

3c. Here, you have the option to select the installation location. Select 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. You may see a message that the extension has been blocked. Select Open Security Preferences.

3g. 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 Power Jack

● Connect VINT Device(s)

● Connect Ethernet to a Router or Switch in the same network as your Mac

## Step 3: Verify Connection

1. Open the Phidget Control Panel:

## Step 3: Verify Connection

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

Now that the SBC's ethernet connection is verified, it can be connected to wifi.

If you don't have a USB wifi adapter or you're planning to stay on ethernet, you can scroll down to

## Step 4: Connect Wireless

2. Create a password for your SBC. You will use this to access the configuration page from now on.

## Step 4: Connect Wireless

3. Navigate to Network -> Wireless. Select your Network, enter the wifi password and select Add This Network.

## Step 4: Connect Wireless

4. Scroll down to your saved networks, click on your network and select Join This Network.

## Step 4: Connect Wireless

5. It should now say connected in the status column.

You can now unplug the ethernet cable.

## 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.

## 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

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 Power Jack

● Connect VINT Device(s)

● Connect Ethernet to a Router or Switch in the same network as your Linux machine

## 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:

## 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

If everything is working, you 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.

Now that the SBC's ethernet connection is verified, it can be connected to wifi.

If you don't have a USB wifi adapter or you're planning to stay on ethernet, you can scroll down to

## Step 4: Connect Wireless

If you're using a terminal-only Linux machine, use the browser on your phone instead.

(If you use a phone, you need to enter the IP address your router assigned to the SBC instead of phidgetsbc.local)

## Step 4: Connect Wireless

2. Create a password for your SBC. You will use this to access the configuration page from now on.

## Step 4: Connect Wireless

3. Navigate to Network -> Wireless. Select your Network, enter the wifi password and select Add This Network.

## Step 4: Connect Wireless

4. Scroll down to your saved networks, click on your network and select Join This Network.

## Step 4: Connect Wireless

5. It should now say connected in the status column.

You can now unplug the ethernet cable.

## Step 4: Connect Wireless

6. Run the HelloWorld example again to confirm that your Phidgets are accessible over wifi.

## 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.

## Part 2: Using Your Phidget

Interface with any 5V quadrature encoder with the Quadrature Encoder Phidget. With an encoder, you can keep track of how far your motor has turned, which then allows you to control the position and velocity in your code.

### Explore Your Phidget Channels Using The Control Panel

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

2. Double click on the channel to open the example program. This channel belongs to the Encoder channel class:

Expand All

## 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:

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

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 icon next to the data type that you want to plot. This will open up a new window:

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.

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

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

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:

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.

• 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.
Setting IOMode

The ENC1000 can connect to any of the encoders we sell without any modification just by setting the IOMode property to Push-Pull . If you are trying to use your own encoder, you may need to change the IO mode to Open Collector or Line Driver mode. See the Encoder Primer for more details on what to use.

Connector

The encoder input on the ENC1000 uses a 5-pin, 0.100 inch pitch locking connector. The connectors are commonly available - refer to the Table below for manufacturer part numbers.

 Manufacturer Part Number Description Molex 50-57-9405 5 Position Cable Connector Molex 16-02-0102 Wire Crimp Insert for Cable Connector Molex 70543-0004 5 Position Vertical PCB Connector Molex 70553-0004 5 Position Right-Angle PCB Connector (Gold) Molex 70553-0039 5 Position Right-Angle PCB Connector (Tin) Molex 15-91-2055 5 Position Right-Angle PCB Connector - Surface Mount

Note: Most of the above components can be bought at Digikey.

Calculating Velocity

When your program captures an encoder change event, it will receive two variables: positionChange (measured in 'ticks', four of which equal one quadrature count for the ENC1000) and timeChange (measured in milliseconds). You can use these values to easily compute the instantaneous velocity of the encoder. For example, our C# encoder example implements this method of velocity calculation:

void enc_change(object sender, Phidget22.Events.EncoderEncoderChangeEventArgs e) {

...

// Convert time change from milliseconds to minutes
double timeChangeMinutes = e.TimeChange / 60000.0;
// Calculate RPM based on the positionChange, timeChange, and encoder CPR (specified by the user)
double rpm = (((double)e.PositionChange / CPR) / timeChangeMinutes);

...

}


This implementation may be useful if you are graphing the RPM on a line graph, but if it's being used to display the current RPM as a single number, it won't be very helpful because when the motor changes speed or direction frequently, it'll be hard to read the velocity as a meaningful value. This method can also be prone to variations in velocity if the encoder's CPR is low and the sampling rate is high. To solve these problems, you should decide on a time interval during which you'll gather data, and take a moving velocity calculation based on that data. You can use the Queue data type to make this easy:

Queue<double> positionChangeQueue = new Queue<double>();
Queue<double> timeChangeQueue = new Queue<double>();

void enc_change(object sender, Phidget22.Events.EncoderEncoderChangeEventArgs e) {

double totalPosition = 0;
double totalTime = 0;
int n = 500; // sampling window size, duration is 500*t where t is the data interval of the ENC1000

positionChangeQueue.Enqueue(e.PositionChange);
timeChangeQueue.Enqueue(e.TimeChange);

// If we've exceeded our desired window size, remove the oldest element from the queue
if ( positionChangeQueue.Count >= n ) {
positionChangeQueue.Dequeue();
timeChangeQueue.Dequeue();
}

// Calculate totals for position and time
foreach( double positionChange in positionChangeQueue ) {

totalPosition += positionChange;
}

foreach( double timeChange in timeChangeQueue ) {

totalTime += timeChange;
}

// Convert time change from milliseconds to minutes
double timeChangeMinutes = e.TimeChange / 60000.0;
// Calculate RPM based on the positionChange, timeChange, and encoder CPR (specified by the user)
double rpm = (((double)e.PositionChange / CPR) / timeChangeMinutes);

}


#### Product Specifications

Board Properties
Controlled By VINT
Encoder Interface
Number of Encoder Inputs 1
Count Rate Max 400000 pulses/s
Encoder Interface Resolution x4
Time Resolution 1 μs
Encoder Input Low Voltage Max 2.4 V DC
Encoder Input High Voltage Min 2.6 V DC
Sampling Interval Min 20 ms/sample
Sampling Interval Max 1 s/sample
Pull-up Resistance (Open Collector) 2.2 kΩ or 10 kΩ
Pull-down Resistance (Line Driver) 2.2 kΩ or 10 kΩ
Electrical Properties
Current Consumption Min (unconfigured) 24.6 μA
Current Consumption Max encoder current + 4.2 mA
Physical Properties
Operating Temperature Min -40 °C
Operating Temperature Max 85 °C
Customs Information
American HTS Import Code 8471.80.40.00
Country of Origin CN (China)

#### Product History

Date Board Revision Device Version Comment
June 20170101Product Release

#### Software Objects

Channel NameAPIChannel
Encoder Input Encoder 0

#### API

 Choose a Language C C# / VB.NET Java JavaScript Max/MSP Python Swift Phidget Manager Networking NetworkConnection USBConnection Logging Dictionary

Back Forward
Print this API

#### Code Samples

 Choose a Language Choose a Device Serial Number: ?

#### Example Options

				Make your selections to display sample code.


#### Code Samples

Language:

APIDetailLanguageOS
$75.00 4 1E+06 pulses/s PhidgetEncoder HighSpeed 4-Input$75.00 4 1E+06 pulses/s
$50.00 1 2E+06 pulses/s PhidgetEncoder HighSpeed$50.00 1 1E+06 pulses/s