Project Home‎ > ‎Documentation‎ > ‎Interfaces‎ > ‎


Weeder Technologies I/O board provides serial RS232 to 14 I/O lines all individually controlled as in or out. All inputs incorporate a pull-up resistor to 5-volts, simplifying hookup to switch contacts. Weeder boards are DIP switch addressable so you can stack up to 32 modules on the same port for 448 I/O points.

These boards are great for interfacing to door contacts and standard motion detectors.

Pytomation currently supports the following model:

    14 Channel RS232 digital I/O board - WTDIO

You must set the I/O channels on the WTDIO board according to the command set:

S = Switch

L = Output default low

Inputs are set according to the wtdio manual by sending the board data in the following sequence. BOARD TYPE CHANNEL

Example: Board 'A', Type SWITCH, Channel D - 'ASD'

Currently only SWITCH inputs are handled. Inputs can be inverted when configured so if you have a contact that is normally closed but want that to be the "OFF" state you can invert it.

Outputs are set as follows: BOARD LEVEL CHANNEL

Example: Board 'A', Level LOW, Channel 'M', - 'ALM'

An output can be configured to be high by default although it's probably better to do this in your Pytomation instance file.


Use "setChannel()" to set the channel to input or output.

Use "dio_invert()" to invert the input.

Using in an Instance

# Set up the interface
wtdio = Wtdio(Serial('/dev/ttyACM0', 9600))

# Set the I/O on the Wtdio board
# Set channels A, and B as input and channel H as output
# A motion detector connected to channel B on board A
m_stairs = Motion(address='AB', devices=wtdio, name='Stair Motion')