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.

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 Phidgets v22 driver.

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

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

4-Channel

1.2 Resistive Thermal Devices (RTDs)

1-Channel

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)

4-Channel

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

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 0
    • Phidget HUB IO 01 : analog input (0-5V), ports 0 and 1
    • Phidget 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 0
    • Phidget HUB IO Digital 01 : digital input (0 or 1), port 0 and 1
    • Phidget HUB IO Digital 23 : digital input (0 or 1), port 2 and 3
    • Phidget 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.

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 voltage
  • range(ch,r[,sn]) : sets voltage voltage range (available for Artisan v2.4.2 and later)
  • sleep(s) : delay processing

with

  • ch : the channel to be addressed (integer)
  • v : voltage in V (float), eg. 5.5 for 5.5V
  • s : sleep time in seconds (float)
  • r : voltage range with r=5 to [0-5V] and r=10 to [-10,10V]
  • sn : optional hub serial number or hub serial number and hub port specifier separated by a colon like in out(0,5.5,560282) or out(0,5.5,560282:2). Using a command actions, like in out(0,5.5), without specifying a hub serial number will attach to the first unattached module with the lowest serial number instead.

The default voltage range 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

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/off
  • toggle(ch[,sn]) : toggles state
  • pulse(ch,t[,sn]) : sets the output of channel c to on for time t in milliseconds
  • sleep(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 in set(0,1,560282) or set(0,1,560282:2). Using a command actions, like in set(0,1), without specifying a hub serial number will attach to the first unattached module with the lowest serial number instead.

4.3 HUB PWM Output

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 0
  • pulsehub(p,t[,<sn>]) : turn on for the given time t

with

  • p : the HUB port to be addressed (integer)
  • v : value (integer)
  • t : time in milliseconds (integer)
  • sn : optional hub serial number or hub serial number and hub port specifier separated by a colon like in outhub(0,8,560282) or outhub(0,8,560282:2). Using a command actions, like in outhub(0,8), without specifying a hub serial number will attach to the first unattached module 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 0
  • pulse(ch,t[,<sn>]) : turn on for the given time t

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 in out(0,8,560282) or out(0,8,560282:2). Using a command actions, like in out(0,8), without specifying a hub serial number will attach to the first unattached module with the lowest serial number instead.

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)
  • sleep(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 in accel(0,0.5,560282) or accel(0,0.5,560282:2). Using a command actions, like in accel(0,0.5), without specifying a hub serial number will attach to the first unattached module with the lowest serial number instead.

4.6 RC Servo Control

Artisan v1.6 adds support for RC servo control.

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 microseconds
  • pos(ch,min,max[,sn]) : sets the min/max position
  • engaged(ch,b[,sn]) : engage (b=1) or disengage (b = 0)
  • ramp(ch,b[,sn]) : activates or deactivates the speed ramping state
  • volt(ch,v[,sn]) : set the voltage to one of 5, 6 or 7.4 in Volt
  • accel(ch,a[,sn]) : set the acceleration
  • veloc(ch,l[,sn]) : set the velocity
  • set(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 in volt(0,6,560282) or volt(0,6,560282:2). Using a command actions, like in volt(0,6), without specifying a hub serial number will attach to the first unattached module with the lowest serial number instead.

See Artisan v1.6.1 under “RC Servos” for details.