DCC1000 User Guide: Difference between revisions

From Phidgets Support
No edit summary
 
(32 intermediate revisions by 2 users not shown)
Line 1: Line 1:
__NOINDEX__
__NOTOC__
<metadesc>Control one high-current brushed DC motor with the DC Motor Phidget. The encoder input and analog input provides precise position control.</metadesc>
[[Category:UserGuide]]
[[Category:UserGuide]]


==Getting Started==
==Part 1: Setup==
{{UGIntro|DCC1000}}
{{PT1 Deck Sequence}}
* [{{SERVER}}/products.php?product_id=DCC1000 DCC1000 DC Motor Phidget]
* {{VINTHub}}
* [{{SERVER}}/?view=comparetable&rel=Phidget%20Cables Phidget cable]
* USB cable and computer
* Power supply (8-30V DC)
* DC motor


Next, you will need to connect the pieces:
== Part 2: Using Your Phidget ==
[[Image:DCC1000_Functional.jpeg|500px|right|link=]]
# Connect the DCC1000 to the VINT Hub using the Phidget cable.
# Connect the motor to the Phidget's output terminals.
# Connect the VINT Hub to your computer with a USB cable.
# (Optional) If your motor has an encoder, connect it to the encoder port on the DCC1000.
# Connect the power supply to the power terminals.


<br clear="all">
===About===
Now that you have everything together, let's start using the DCC1000!


==Using the DCC1000==
The DCC1000 allows you to control a DC motor or DC linear actuator.
With this Phidget, you can control your motor by:
* Setting the velocity and acceleration with the DC Motor Controller
* Setting a specific target position using the Motor Position Controller (requires an encoder)
You can use the DCC1000 to monitor current passing through the motor, connect and monitor the motor’s potentiometer, and monitor the temperature of the motor.


{{UGcontrolpanel|DCC1000}}
[[Image:DCC1000_About.jpg|link=|center]]


{{ugDCMotor2|DCC1000|DC Motor Phidget}}
===Explore Your Phidget Channels Using the Control Panel===
{{ugCurrentInput|DCC1000|Current Sensor}}
{{ugEncoder|DCC1000|Encoder Input}}
{{ugTemperatureSensor|DCC1000|Temperature Sensor}}
{{ugVoltageInputSensor|DCC1000|Voltage Ratio}}


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


TALK ABOUT CURRENT REGULATOR GAIN
'''1.''' Open your Control Panel, and you will find the following channels:


=== Further Reading ===
[[Image:DCC1000_Panel.jpg|link=|center]]


For more information, have a look at the [[DC Motor and Controller Primer]].
'''2.''' Double click on a channel to open an example program. Each channel belongs to one of these channel classes:
{{UGC-Start}}


{{UGnext|}}
{{UGC-Entry|DC Motor Controller: |Controls the velocity and current of the motor, and the on-board fan|
In your Control Panel, double click on "DC Motor Controller":
[[Image:DCC1000-DCMotor.jpg|center|link=|800px]]}}
 
{{UGC-Entry|Position Controller: |A built-in PID position controller|
In your Control Panel, double click on "Position Controller":
[[Image:DCC1000-MPC.jpg|center|link=]]}}
 
{{UGC-Entry|Encoder Input: |Reads encoder input so you can implement closed-loop control of the motor|
In your Control Panel, double click on "Encoder Input":
[[Image:DCC1000-Enc.jpg|center|link=|800px]]}}
 
{{UGC-Entry|Current Sensor: |Measures the amount of current flowing through the motor's coils|
In your Control Panel, double click on "Current Sensor":
[[Image:DCC1000-Cur.jpg|center|link=]]}}
 
{{UGC-Entry|Voltage Ratio: |Measures the "Analog In" port (Intended for feedback potentiometers that some motors have)|
In your Control Panel, double click on "Voltage Ratio":
[[Image:DCC1000-Voltageratio.jpg|center|link=]]}}
 
{{UGC-Entry|Temperature Sensor: |Measures the board temperature so you can tell if the DCC1000 is overheating|
In your Control Panel, double click on "Temperature Sensor":
[[Image:DCC1000-Temp.jpg|center|link=]]}}
 
{{UGC-End}}
 
{{UG-Part3}}
 
== Part 4: Advanced Topics and Troubleshooting ==
 
{{UGC-Start}}
{{UGC-Firmware}}
{{UGC-Entry|PositionController Settings||
There are a number of settings that can be adjusted to customize the position controller. You can save these variables into the program so you don't have to re-enter them manually (NOTE: This does not store the settings on the DCC1000, it simply saves them inside the control panel program, so you'll have to re-enter them if it's used on another computer).
 
===Kp, Ki, and Kd===
You can set the control parameters Kp, Ki, and Kd in order to change the behavior of the control loop. For more information on how each of these three tuning parameters affect the control loop, see “Control Loop Parameters ”.
 
===Velocity and Acceleration===
Velocity is how fast the motor will move to the target position, and acceleration controls how quickly the motor will reach its velocity and how quickly it will slow down. These values are measured in position per second and position per second squared, and position by default is measured in encoder pulses.
 
===Rescale Factor===
If you want position to be measured in another unit (degrees, for example), you can set the rescale factor. For more information on choosing the correct rescale factor, see “Setting the Rescale Factor”.
 
===Deadband===
Sometimes the motor will oscillate back and forth across the target position when holding position. Adding a deadband will widen the target position so the motor will stop when it gets within the target position plus or minus the deadband.
 
===Current Limit===
Setting the current limit gives you control over how much power is being supplied to the motor. Generally, we advise that you set the current limit to your motor’s specified coil current.
 
===Fan Mode===
This turns the cooling fan on and off. Setting it to auto will result in the fan turning on only when the temperature sensor detects rising board temperatures.
 
===Encoder IO Mode===
Changes between different encoder modes based on your encoder’s circuitry. For more information see the [[Encoder_Guide#Output_Circuit|Encoder Guide]].
 
===Current Regulator Gain===
Depending on power supply voltage and motor coil inductance, the current through the motor can change relatively slowly or extremely rapidly. A physically larger DC Motor will typically have a lower inductance, requiring a higher current regulator gain. A higher power supply voltage will result in motor current changing more rapidly, requiring a higher current regulator gain. If the current regulator gain is too small, spikes in current will occur, causing large variations in torque, and possibly damaging the motor controller. If the current regulator gain is too high, the current will jitter, causing the motor to sound 'rough', especially when changing directions.
}}
 
{{UGC-Entry|Control Loop Parameters||
In order to get the desired behavior from your controller, you will have to tune your control parameters. This video explains the tuning procedure and gives information on how the controller works.
{{#ev:youtube|0cQlxNd7dk4|||||rel=0}}
}}
 
{{UGC-Entry|Interfacing Encoders||
The DCC1000 can connect to any of the encoders we sell without any modification just by setting the ''EncoderIOMode'' property to ''Push-Pull'' . If you're trying to use your own encoder, you may need to change the IO mode to ''Open Collector'' or ''Line Driver'' mode. Have a look at the [[Encoder_Guide#Output_Circuit|Encoder Guide]] for more details on what to use.
}}
 
{{UGC-Entry|Setting the Rescale Factor||
There are three pieces of information to consider when setting a rescale factor to change your units into degrees or rotations:
 
* Your encoder's CPR (counts per rotation)
* Your encoder interface's resolution
* Your motor's gear ratio
 
First, check your encoder's datasheet for the CPR. It's usually 360 or 300. This is the number of quadrature cycles the encoder will send out for one full rotation.
 
Next, you need your encoder interface's resolution. The encoder port on the DCC1000 has a x4 resolution, meaning it reads in 4 pulses per quadrature cycle (see the [[Encoder_Guide#Quadrature_Encoding|Encoder Guide]] for a more in-depth explanation).
 
Next, you need to find out the gear ratio in your motor's datasheet.
'''Note:''' If you plan on having your motor run for many rotations in a row, try to find the exact gear ratio, expressed as a fraction. Using the rounded value will result in accumulating errors the more you rotate.
 
Once you have these numbers, you can calculate the rescale factor:
 
[[Image:DCC1000-equations.jpg|link=]]
For example, if you wanted to have your motor's position measured in degrees and your encoder had 300 CPR and your motor had a 50 801⁄895 : 1 gearbox, you would set your rescale factor to 360 / 300*4*(50+(801/895)), or  0.005894.
 
}}
 
{{UGC-DataInterval}}
{{UGC-Graphing}}
 
{{UGC-Entry|My motor moves away from the target position in Position Controller mode!||
Reverse your motor’s wires. The control loop has to make an assumption about what direction your motor moves with a positive voltage, and in this case, the assumption was incorrect. Don’t worry, DC motors are fine being wired up backward since they’re essentially just a long loop of wire on the inside.
}}
 
{{UGC-End}}

Latest revision as of 17:14, 3 July 2024



Part 1: Setup

Select Device

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

Which device are you connecting to?

«
»

USB VINT Hub - Select OS

Select your Operating System:

«
»

HUB5000 - Select OS

Select your Operating System:

«
»

SBC3003 - Select OS

Select your Operating System:

«
»

USB VINT Hub - 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 Windows Computer

● Connect VINT Device(s)

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

«
»

USB VINT Hub - 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 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.


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

MacOS Advanced Information

«
»

USB VINT Hub - 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 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:

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

«
»

HUB5000 - Windows

Step 1: Install Phidgets Library

Step 2: Connect Devices

Step 3: Connect Wireless

Step 4: Verify Connection

Step 5: Update

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

«
»

Connection (Mobile)

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

3. When asked for a password, enter the password printed on the HUB5000’s label.

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:

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

Step 4: Verify Connection

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

Step 5: Update

Now that you've confirmed that you have access to your Phidgets, you should ensure the HUB5000 is fully updated. You can update the firmware of the VINT Hub by going back to the Phidget Control Panel. If there's a blue arrow beside the version number, it means an update is available:

Right-click anywhere on that row and select Upgrade Firmware. When it's done, the number in the Version column will change.

Step 5: Update

Next, to update the OS firmware, go to the Network Phidgets tab in the control panel, find your HUB5000 and double-click on it. If the OS firmware is out of date, you'll see the following window pop up with steps to follow:

1. Download the firmware (you can get it here if the button does not work)

2. Open the web interface by clicking the button or entering the HUB5000's IP address in your web browser.

3. Go to the System tab and scroll down to the Upgrade Firmware section. Select the file you just downloaded and click Upgrade and Restart. You'll be instructed to wait a few minutes before logging back into the web interface.

Step 5: Update

When you log back in, you can confirm that the new version has successfully installed by checking to see if the firmware version listed in the Status section matches the first three numbers in the firmware file name that you downloaded. You can also check the version in the Network Phidgets tab on the Phidget Control Panel.

Done!

Now that you're able to see and interact with your devices in the Phidget Control Panel and they're fully updated, 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

«
»

Connection (Ethernet)

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. In your Web Browser, enter hub5000.local

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:

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

Step 4: Verify Connection

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

Step 5: Update

Now that you've confirmed that you have access to your Phidgets, you should ensure the HUB5000 is fully updated. You can update the firmware of the VINT Hub by going back to the Phidget Control Panel. If there's a blue arrow beside the version number, it means an update is available:

Right-click anywhere on that row and select Upgrade Firmware. When it's done, the number in the Version column will change.

Step 5: Update

Next, to update the OS firmware, go to the Network Phidgets tab in the control panel, find your HUB5000 and double-click on it. If the OS firmware is out of date, you'll see the following window pop up with steps to follow:

1. Download the firmware (you can get it here if the button does not work)

2. Open the web interface by clicking the button or entering the HUB5000's IP address in your web browser.

3. Go to the System tab and scroll down to the Upgrade Firmware section. Select the file you just downloaded and click Upgrade and Restart. You'll be instructed to wait a few minutes before logging back into the web interface.

Step 5: Update

When you log back in, you can confirm that the new version has successfully installed by checking to see if the firmware version listed in the Status section matches the first three numbers in the firmware file name that you downloaded. You can also check the version in the Network Phidgets tab on the Phidget Control Panel.

Done!

Now that you're able to see and interact with your devices in the Phidget Control Panel and they're fully updated, 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

«
»

HUB5000 - MacOS

Step 1: Install Phidgets Library

Step 2: Connect Devices

Step 3: Connect Wireless

Step 4: Verify Connection

Step 5: Update

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.

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

● Connect VINT Device(s)

● Connect Ethernet to a Router or Switch (optional)

Step 3: Verify Connection

Choose a setup method:

«
»

Connection (Mobile)

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

3. When asked for a password, enter the password printed on the HUB5000’s label.

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.

Step 5: Update

Now that you've confirmed that you have access to your Phidgets, you should ensure the HUB5000 is fully updated. You can update the firmware of the VINT Hub by going back to the Phidget Control Panel. If the name of the device is red, it means an update is available:

Double click on the device in the control panel to update the VINT Hub firmware. When it's finished, the text will turn from red to black and the number in the Version column will change.

Step 5: Update

To upgrade the firmware of the operating system on the HUB5000, download the most recent file here.

Next, go back to the web configuration page and click on the System tab. Scroll down to Upgrade Firmware and select the file you download and hit Upgrade & Restart. You'll be instructed to wait a few minutes before logging back into the web interface.

When you log back in, you can confirm that the new version has successfully installed by checking to see if the firmware version listed in the Status section matches the first three numbers in the firmware file name that you downloaded.

Done!

Now that 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

«
»

Connection (Ethernet)

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. In your Web Browser, enter hub5000.local

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.

Step 5: Update

Now that you've confirmed that you have access to your Phidgets, you should ensure the HUB5000 is fully updated. You can update the firmware of the VINT Hub by going back to the Phidget Control Panel. If the name of the device is red, it means an update is available:

Double click on the device in the control panel to update the VINT Hub firmware. When it's finished, the text will turn from red to black and the number in the Version column will change.

Step 5: Update

To upgrade the firmware of the operating system on the HUB5000, download the most recent file here.

Next, go back to the web configuration page and click on the System tab. Scroll down to Upgrade Firmware and select the file you download and hit Upgrade & Restart. You'll be instructed to wait a few minutes before logging back into the web interface.

When you log back in, you can confirm that the new version has successfully installed by checking to see if the firmware version listed in the Status section matches the first three numbers in the firmware file name that you downloaded.

Done!

Now that 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

«
»

HUB5000 - Linux

Step 1: Install Phidgets Library

Step 2: Connect Devices

Step 3: Connect Wireless

Step 4: Verify Connection

Step 5: Update

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

● Connect VINT Device(s)

● Connect Ethernet to a Router or Switch (optional)

Step 3: Verify Connection

Choose a setup method:

«
»

Connection (Mobile)

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

3. When asked for a password, enter the password printed on the HUB5000’s label.

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:

HelloWorld C Example

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

Step 5: Update

Now that you've confirmed that you have access to your Phidgets, you should ensure the HUB5000 is fully updated. You can update the firmware of the VINT Hub using the phidget22admin tool (see included readme for further instructions).

To upgrade the firmware of the operating system on the HUB5000, download the most recent file here.

Next, go back to the web configuration page and click on the System tab. Scroll down to Upgrade Firmware and select the file you download and hit Upgrade & Restart. You'll be instructed to wait a few minutes before logging back into the web interface.

When you log back in, you can confirm that the new version has successfully installed by checking to see if the firmware version listed in the Status section matches the first three numbers in the firmware file name that you downloaded.

Done!

Now that you're able to see your devices in the Hello World example and the device is fully updated, 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

«
»

Connection (Ethernet)

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. In your Web Browser, enter hub5000.local

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:

HelloWorld C Example

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

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.

Step 5: Update

Now that you've confirmed that you have access to your Phidgets, you should ensure the HUB5000 is fully updated. You can update the firmware of the VINT Hub using the phidget22admin tool (see included readme for further instructions).

To upgrade the firmware of the operating system on the HUB5000, download the most recent file here.

Next, go back to the web configuration page and click on the System tab. Scroll down to Upgrade Firmware and select the file you download and hit Upgrade & Restart. You'll be instructed to wait a few minutes before logging back into the web interface.

When you log back in, you can confirm that the new version has successfully installed by checking to see if the firmware version listed in the Status section matches the first three numbers in the firmware file name that you downloaded.

Done!

Now that you're able to see your devices in the Hello World example and the device is fully updated, 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

«
»

SBC3003 - Windows

Step 1: Install Phidgets Library

Step 2: Connect Devices

Step 3: Verify Connection

Step 4: Connect Wireless

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

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.

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

Part 2: Using Your Phidget

Step 4: Connect Wireless

1. In your web browser, enter phidgetsbc.local

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.

Step 4: Connect Wireless

6. Return to the Phidget Control Panel to access your Phidgets.

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

«
»

SBC3003 - MacOS

Step 1: Install Phidgets Library

Step 2: Connect Devices

Step 3: Verify Connection

Step 4: Connect Wireless

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.

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

Part 2: Using Your Phidget

Step 4: Connect Wireless

1. In your web browser, enter 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. Return to the Phidget Control Panel to access your Phidgets.

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

«
»

SBC3003 - Linux

Step 1: Install Phidgets Library

Step 2: Connect Devices

Step 3: Verify Connection

Step 4: Connect Wireless

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

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

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

Part 2: Using Your Phidget

Step 4: Connect Wireless

1. In your web browser, enter phidgetsbc.local

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.


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 DCC1000 allows you to control a DC motor or DC linear actuator. With this Phidget, you can control your motor by:

  • Setting the velocity and acceleration with the DC Motor Controller
  • Setting a specific target position using the Motor Position Controller (requires an encoder)

You can use the DCC1000 to monitor current passing through the motor, connect and monitor the motor’s potentiometer, and monitor the temperature of the motor.

DCC1000 About.jpg

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:

DCC1000 Panel.jpg

2. Double click on a channel to open an example program. Each channel belongs to one of these channel classes:

Expand All
DC Motor Controller: Controls the velocity and current of the motor, and the on-board fan

In your Control Panel, double click on "DC Motor Controller":

DCC1000-DCMotor.jpg
Position Controller: A built-in PID position controller

In your Control Panel, double click on "Position Controller":

DCC1000-MPC.jpg
Encoder Input: Reads encoder input so you can implement closed-loop control of the motor

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

DCC1000-Enc.jpg
Current Sensor: Measures the amount of current flowing through the motor's coils

In your Control Panel, double click on "Current Sensor":

DCC1000-Cur.jpg
Voltage Ratio: Measures the "Analog In" port (Intended for feedback potentiometers that some motors have)

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

DCC1000-Voltageratio.jpg
Temperature Sensor: Measures the board temperature so you can tell if the DCC1000 is overheating

In your Control Panel, double click on "Temperature Sensor":

DCC1000-Temp.jpg

Part 3: Create your Program

Part 4: Advanced Topics and Troubleshooting

Expand All
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.
PositionController Settings

There are a number of settings that can be adjusted to customize the position controller. You can save these variables into the program so you don't have to re-enter them manually (NOTE: This does not store the settings on the DCC1000, it simply saves them inside the control panel program, so you'll have to re-enter them if it's used on another computer).

Kp, Ki, and Kd

You can set the control parameters Kp, Ki, and Kd in order to change the behavior of the control loop. For more information on how each of these three tuning parameters affect the control loop, see “Control Loop Parameters ”.

Velocity and Acceleration

Velocity is how fast the motor will move to the target position, and acceleration controls how quickly the motor will reach its velocity and how quickly it will slow down. These values are measured in position per second and position per second squared, and position by default is measured in encoder pulses.

Rescale Factor

If you want position to be measured in another unit (degrees, for example), you can set the rescale factor. For more information on choosing the correct rescale factor, see “Setting the Rescale Factor”.

Deadband

Sometimes the motor will oscillate back and forth across the target position when holding position. Adding a deadband will widen the target position so the motor will stop when it gets within the target position plus or minus the deadband.

Current Limit

Setting the current limit gives you control over how much power is being supplied to the motor. Generally, we advise that you set the current limit to your motor’s specified coil current.

Fan Mode

This turns the cooling fan on and off. Setting it to auto will result in the fan turning on only when the temperature sensor detects rising board temperatures.

Encoder IO Mode

Changes between different encoder modes based on your encoder’s circuitry. For more information see the Encoder Guide.

Current Regulator Gain

Depending on power supply voltage and motor coil inductance, the current through the motor can change relatively slowly or extremely rapidly. A physically larger DC Motor will typically have a lower inductance, requiring a higher current regulator gain. A higher power supply voltage will result in motor current changing more rapidly, requiring a higher current regulator gain. If the current regulator gain is too small, spikes in current will occur, causing large variations in torque, and possibly damaging the motor controller. If the current regulator gain is too high, the current will jitter, causing the motor to sound 'rough', especially when changing directions.

Control Loop Parameters

In order to get the desired behavior from your controller, you will have to tune your control parameters. This video explains the tuning procedure and gives information on how the controller works.

Interfacing Encoders

The DCC1000 can connect to any of the encoders we sell without any modification just by setting the EncoderIOMode property to Push-Pull . If you're trying to use your own encoder, you may need to change the IO mode to Open Collector or Line Driver mode. Have a look at the Encoder Guide for more details on what to use.

Setting the Rescale Factor

There are three pieces of information to consider when setting a rescale factor to change your units into degrees or rotations:

  • Your encoder's CPR (counts per rotation)
  • Your encoder interface's resolution
  • Your motor's gear ratio

First, check your encoder's datasheet for the CPR. It's usually 360 or 300. This is the number of quadrature cycles the encoder will send out for one full rotation.

Next, you need your encoder interface's resolution. The encoder port on the DCC1000 has a x4 resolution, meaning it reads in 4 pulses per quadrature cycle (see the Encoder Guide for a more in-depth explanation).

Next, you need to find out the gear ratio in your motor's datasheet. Note: If you plan on having your motor run for many rotations in a row, try to find the exact gear ratio, expressed as a fraction. Using the rounded value will result in accumulating errors the more you rotate.

Once you have these numbers, you can calculate the rescale factor:

DCC1000-equations.jpg

For example, if you wanted to have your motor's position measured in degrees and your encoder had 300 CPR and your motor had a 50 801⁄895 : 1 gearbox, you would set your rescale factor to 360 / 300*4*(50+(801/895)), or 0.005894.


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.

The Data Rate is the reciprocal of Data Interval (measured in Hz), and setting it will set the reciprocal value for Data Interval and vice-versa.

You can modify one or both of these values to achieve different data outputs. You can learn more about these properties here.

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.

My motor moves away from the target position in Position Controller mode!

Reverse your motor’s wires. The control loop has to make an assumption about what direction your motor moves with a positive voltage, and in this case, the assumption was incorrect. Don’t worry, DC motors are fine being wired up backward since they’re essentially just a long loop of wire on the inside.