Artisan supports a large number of Phidgets that gather temperature and other data. It also supports Phidgets that can generate external output triggered by Artisan actions.
All Phidgets can be connected either directly via USB or remotely via network connection by using a Phidgets SBC as gateway or a wireless VINT HUB like the HUB5000. Most Phidgets don’t need any additional power supply.
Watch out!
Setting up Artisan for wireless access to Phidgets see below under 5. Remote Access.
There are Phidgets that feature a direct USB connection as well as the more recent VINT Phidgets* that are connected via a VINT USB hub to the USB port. Some are electrically isolated and thus more resistant against electrical noise.
Any number of Phidgets, of one type or mixed types, can be used in combination with any of the other supported devices.
Watch out! The use of all Phidgets require the installation of the full Phidgets v22 driver package. On Linux you might want to setup also the udev rules to allow driver access for non-root users.
For more information read the posts Roasting with Phidgets and More Phidgets! on the Artisan blog.
Watch out!
Artisan v2.1 and newer features one-click configurations for the following popular Phidget sets
- VINT TMP1101 2x TC Set
- VINT TMP1200 2x RTDs Set (low Idle Noise)
- VINT Ambient Modules Extension
- USB 1048 Databridge
For all these Phidget sets (but the last one), ready-to-use hardware packages are available from the > artisan.plus shop.
1. Temperature Input
1.1 Thermocouples (TCs)
All of these devices support J, K, E and T type thermocouples. The type of thermocouples used has to be configured in the Phidgets tab on the Artisan side (menu Config >> Device, Phidgets tab
).
1-Channel
- Phidget 1051 (USB)
- Phidget TMP1100 (VINT, isolated)
4-Channel
- Phidget 1048 (USB)
- Phidget TMP1101 (VINT)
1.2 Resistive Thermal Devices (RTDs)
1-Channel
- Phidget TMP1200 (VINT)
Watch out! The TMP1200 supports 2-, 3- and 4-wire PT100 and PT1000 RTDs to be connected directly. The type of RTD used has to be configured on the Artisan side (menu Config >> Device, Phidgets tab
)
2-Channel
- Phidget DAQ1500 (VINT)
Watch out! The Phidget DAQ1500 requires either a Voltage Divider or a Wheatstone Bridge to connect a RTD. The applied wiring has to be configured within Artisan (menu Config >> Device, Phidgets tab
)
4-Channel
- Phidget 1046 (USB)
Watch out! The Phidget 1046 requires either a Voltage Divider or a Wheatstone Bridge to connect a RTD. The applied wiring has to be configured within Artisan (menu Config >> Device, Phidgets tab
)
1.3 Infrared
Single channel IR with integrated sensor
- Phidget IR 1045 (USB)
2. Ambient Sensors
Artisan v1.4 adds support for the following ambient sensors that allow to automatically fill the room temperature, relative humidity and barometric pressure data of roast profiles.
- Phidget HUM1000 / HUM1001 (VINT): Measure relative humidity from 0 to 100% and ambient temperature from -40°C to +85°C
- Phidget PRE1000 (VINT): Measure the absolute air pressures between 50 and 110 kPa
- Phidget TMP1000 (VINT): Measure ambient temperature from -40°C to 85°C
3. Analog/Digital Input
Artisan can attach to all Phidgets IO ports. The input ports are configured as (extra) devices and are handled as temperature curves.
-
Phidget HUB0000 (VINT HUB): 6x analog/digital in
Phidget HUB IO 0
: analog input (0-5V); attaches only port 0Phidget HUB IO 01
: analog input (0-5V), ports 0 and 1Phidget HUB IO 23
: analog input (0-5V), ports 2 and 3-
Phidget HUB IO 45
: analog input (0-5V), ports 4 and 5 Phidget HUB IO Digital 0
: digital input (0 or 1); attaches only port 0Phidget HUB IO Digital 01
: digital input (0 or 1), port 0 and 1Phidget HUB IO Digital 23
: digital input (0 or 1), port 2 and 3Phidget HUB IO Digital 45
: digital input (0 or 1), port 4 and 5
-
Phidget DAQ1400 (VINT): 1x versatile input (current, digital , frequency, voltage)
Phidget DAQ1400 Current
: current input (A, 20mA max)Phidget DAQ1400 Digital
: digital input (0 or 1, 24V max)Phidget DAQ1400 Frequency
: frequency input (hz, 2Mhz max)Phidget DAQ1400 Voltage
: voltage (0-5V)
4. Analog/Digital Output
Artisan can attach to all Phidgets IO ports. Phidgets output can be activated via IO Command
, PWM Command
or VOUT Command
button or slider actions configured in the Events tab (menu Config >> Events
). Note that buttons and sliders themself can be triggered autoamatically via alarm actions.
- Phidget HUB0000 (VINT HUB): 6x digital PWM out
- Phidget OUT1000 (VINT): 1x 12bit voltage out
- Phidget OUT1001 (VINT): 1x 12bit isolated voltage out
- Phidget OUT1002 (VINT): 1x 16bit isolated voltage out
- Phidget OUT1100 (VINT): 4x digital PWM out
- REL1000 (VINT): 4x digital out relays
- REL1100 (VINT): 4x digital out 8A SSRs
- REL1101 (VINT): 16x PWM-enabled SSRs
- Phidget 1002 (USB): 4x 12bit analog out
- Phidget 1011 (USB): 2x analog/digital in, 2x digital out
- Phidget 1014 (USB): 4x digital out
- Phidget 1017 (USB): 8x digital out
- Phidget 1010 (USB), Phidget 1013 (USB), Phidget 1018 (USB), Phidget 1019 (USB), Phidget 1073 (USB): 8x analog/digital in, 8x digital out
Each output action supports a number of different commands specified in the Documentation
field. See the post More Phidgets! for details.
4.1 Voltage Output
Phidget Voltage Output modules can be controlled via VOUT Command
actions triggered by buttons or sliders configured in the Events tab (menu Config >> Events
). The following commands are supported:
out(ch,v[,sn])
: sets output voltagerange(ch,r[,sn])
: sets voltage voltage range (not available on OUT1000)sleep(s)
: delay processing
with
ch
: the channel to be addressed (integer)v
: voltage in V (float), eg. 5.5 for 5.5Vs
: sleep time in seconds (float)r
: voltage range withr=5
to[0-5V]
andr=10
to[-10,10V]
sn
: optional hub serial number or hub serial number and hub port specifier separated by a colon like inout(0,5.5,560282)
orout(0,5.5,560282:2)
. Using a command actions, like inout(0,5.5)
, without specifying a hub serial number, will attach to the first yet unattached module connected to the hub with the lowest serial number instead. If just a port number is given as inout(0,5.5,:2)
, the yet unattached module connected to the given port (here 2) of the first hub with the lowest serial number is addressed.
The default voltage range for the OUT1001 and OUT1002 is [-10,10V]
(r=10
). The following table summarizes the interplay of r
and v
.
r | v | 5V Output | +-10V Output |
---|---|---|---|
5 | -10 | – | – |
5 | -5 | – | – |
5 | 0 | 0V | -10V |
5 | 2.5 | 2.5V | 0V |
5 | 5 | 5V | 10V |
10 | -10 | 0V | -10V |
10 | -5 | 1.25V | -5V |
10 | 0 | 2.5V | 0V |
10 | 5 | 3.75V | 5V |
10 | 10 | 5V | 10V |
4.2 Digital Output
- 1014 (4x USB)
- OUT1100, REL1000, REL1100, REL1101 (4x VINT)
- 1017 (8x USB)
- 1010, 1013, 1018, 1019 (8x USB)
Phidget Digital Output modules can be controlled via IO Command
actions triggered by buttons or sliders configured in the Events tab (menu Config >> Events
). The following commands are supported:
set(ch,b[,sn])
: switches state on/offtoggle(ch[,sn])
: toggles statepulse(ch,t[,sn])
: sets the output of channel c to on for time t in millisecondssleep(s)
: delay processing
with
ch
: the channel to be addressed (integer)b
: bool with off (b=0) and on (b=1)t
: time in milliseconds (integer)s
: sleep time in seconds (float)sn
: optional hub serial number or hub serial number and hub port specifier separated by a colon like inset(0,1,560282)
orset(0,1,560282:2)
. Using a command actions, like inset(0,1)
, without specifying a hub serial number, will attach to the first yet unattached module connected to the hub with the lowest serial number instead. If just a port number is given as inset(0,1,:2)
, the yet unattached module connected to the given port (here 2) of the first hub with the lowest serial number is addressed.
4.3 HUB PWM Output
- HUB0000 (6x VINT HUB)
Phidget HUB PWM modules can be controlled via PWM Command
actions triggered by buttons or sliders configured in the Events tab (menu Config >> Events
). The following commands are supported:
outhub(p,v[,<sn>])
: sets PWM in percent [0-100]togglehub(p[,<sn>])
: toggles between last value not 0 and 0pulsehub(p,t[,<sn>])
: turn on for the given timet
with
p
: the HUB port to be addressed (integer)v
: value (integer)t
: time in milliseconds (integer)sn
: optional hub serial number like inouthub(0,8,560282)
. Using a command actions, like inouthub(0,8)
, without specifying a hub serial number will attach to the first unattached hub with the lowest serial number instead.
4.4 PWM Output
Phidget PWM modules can be controlled via PWM Command
actions triggered by buttons or sliders configured in the Events tab (menu Config >> Events
). The following commands are supported:
out(ch,v[,<sn>])
: sets PWM in percent [0-100]frequency(ch,f[,<sn>])
: sets PWM frequency in Hz (PWM frequency is always the same for all channels!)toggle(ch[,<sn>])
: toggles between last value not 0 and 0pulse(ch,t[,<sn>])
: turn on for the given timet
with
ch
: the channel to be addressed (integer)v
: value (integer)f
: frequency (real)t
: time in milliseconds (integer)sn
: optional hub serial number or hub serial number and hub port specifier separated by a colon like inout(0,8,560282)
orout(0,8,560282:2)
. Using a command actions, like inout(0,8)
, without specifying a hub serial number, will attach to the first yet unattached module connected to the hub with the lowest serial number instead. If just a port number is given as inout(0,8,:2)
, the yet unattached module connected to the given port (here 2) of the first hub with the lowest serial number is addressed.
4.5 DC Motor Control
Artisan v2.4 adds support for DC motor control.
Phidget DC Motor Control modules can be controlled via IO Command
actions triggered by buttons or sliders configured in the Events tab (menu Config >> Events
). The following commands are supported:
accel(ch,a[,sn])
sets acceleration (duty cycle / second)vel(ch,v[,sn])
sets target velocity (duty cycle)limit(ch,v[,sn])
sets current limitsleep(s)
: delay processing
with
ch
: the channel to be addressed (integer)a
: acceleration (float)v
: velocity (float)s
: sleep time in seconds (float)sn
: optional hub serial number or hub serial number and hub port specifier separated by a colon like inaccel(0,0.5,560282)
oraccel(0,0.5,560282:2)
. Using a command actions, like inaccel(0,0.5)
, without specifying a hub serial number, will attach to the first yet unattached module connected to the hub with the lowest serial number instead. If just a port number is given as inaccel(0,0.5,:2)
, the yet unattached module connected to the given port (here 2) of the first hub with the lowest serial number is addressed.
4.6 RC Servo Control
Artisan v1.6 adds support for RC servo control.
- Phidget RCC 1000 (16x VINT, ext. powered)
- Phidget 1061 (8x USB, ext. powered)
- Phidget 1066 (1x USB powered)
Phidget RC Servo modules can be controlled via RC Command
actions triggered by buttons or sliders configured in the Events tab (menu Config >> Events
). The following commands are supported:
pulse(ch,min,max[,sn])
: sets the min/max pulse width in microsecondspos(ch,min,max[,sn])
: sets the min/max positionengaged(ch,b[,sn])
: engage (b=1) or disengage (b = 0)ramp(ch,b[,sn])
: activates or deactivates the speed ramping statevolt(ch,v[,sn])
: set the voltage to one of 5, 6 or 7.4 in Voltaccel(ch,a[,sn])
: set the accelerationveloc(ch,l[,sn])
: set the velocityset(ch,pos[,sn])
: set the target position
with
ch
: the channel to be addressed (integer)min, max, l, pos
: values (integer)b
: bool value given as 0 (false) or 1 (true)sn
: optional hub serial number or hub serial number and hub port specifier separated by a colon like involt(0,6,560282)
orvolt(0,6,560282:2)
. Using a command actions, like involt(0,6)
, without specifying a hub serial number, will attach to the first yet unattached module connected to the hub with the lowest serial number instead. If just a port number is given as involt(0,6,:2)
, the yet unattached module connected to the given port (here 2) of the first hub with the lowest serial number is addressed.
See Artisan v1.6.1 under “RC Servos” for details.
5. Remote Access
All Phidgets can be accessed either directly via USB or remotely via network connection. The device making its connected Phidgets accessible via remote access can be either a wireless VINT hub like the Phidget HUB5000, a Phidget SBC or another computer running the Phidget driver. In the last case, one needs to activate the Network Server in the Phidget Control Panel running on the computer with the Phidgets physically connected to make those available for remote access.

The first tab of the Phidget Control Panel lists all Phidgets accessible by the computer running it. It shows local Phidgets directly connected via USB/VINT as well as Phidgets accessible via the network indicating also the serving entity. Note that only enabled and published network servers without password protection are listed.

By default Artisan is only accessing local Phidgets. Ticking the flag in the Network section of the Phidget tab (menu Config >> Device
, 4th tab) makes networked Phidgets accessible to Artisan as well. In most cases there is no need to enter the name of the server under Host as the mDNS/ZeroConf protocol will find Phidget servers automatically. In rare cases (e.g. if you set a password on your Phidget Network Servder) one needs to enter the remote server name like hub5000.local
or its IP address in the Host
field and its password (if set) into the Password
field. If the Remote Only
flag is ticked too, local Phidgets are ignored.
