for Local Area Networks (LAN)
Copyright (C) 2001 - 2011
All rights reserved
In addition, versions beginning with 5.0 include optional remote monitoring capability over local area networks (LAN). Now one or more users can remotely monitor device, data acquisition, and/or equipment operation. Even receive text messages when trigger events occur. Also compatible with wireless networks for even greater flexibility.
Versions 5.1 and above also include virtual LED panels with configurable colors.
While Digio can perform simple "set" and "get" operations, its real strength lies is its ability to define notification event(s) when input signals, also referred to as "trigger signals" or "input triggers", change state. This is particularly useful in situations where you may want to monitor digital inputs or SPI slave devices autonomously. For instance, you can specify that an email message is sent to a designated recipient when bit #12, device #0 changes to a HIGH (1) state. Or specify a digital output to be set when a SPI temperature controller indicates a high threshold. You could also indicate that a pop-up message appear on the monitor and/or a sound (wav) file is played. Even activate a relay (U451) if desired. The possibilities are limit-less. You'll find Digio an important tool for use in a variety of applications including industrial process control, robotics, hardware design, and prototyping.
Digio uses a USB I/O interface module that connects to an available USB port on your computer. The module provides 16 I/O signals configurable in any combination of inputs and outputs. The system is easily expanded by simply using additional USB modules. (Note: Version 2 and below of the USB Digital I/O Commander use an ActiveWire USB I/O interface. Versions 3 and higher use a USBMicro device.)
Digio uses a USB I/O module card to interface digital signals. Using a compatible cable, plug the device into an available USB port on your computer or into external USB hub. The first time you perform this procedure, the Windows operating system will detect the new hardware and attempt to locate a driver. The required drivers should be already installed as part of your Windows operating system. If your PC has difficulty locating them, browse to your Windows system drivers folder and to find them.
If you are using more than one USB I/O module, plug the additional module(s) into available USB port(s) on your computer. If there are not enough ports, you may need to purchase an external USB hub. Available at computer stores, this device expands the number of available USB ports.
Important: You should plug in your device(s) before starting Digio. While the program is running, you should not attempt to add or unplug USB interface modules as this could hamper Digio's ability to properly index them for proper control and monitoring.
Start Menu -> Programs -> USB Digital I/O Commander for LAN
When the program begins, the main display dialog appears as shown below:
The toolbar at the upper right consists of 7 large buttons. These controls are convenient quick-select items for choosing some of the more commonly accessed functions. Most of these selections are also available from the menu. From left to right, they are: remote monitoring, global properties, SPI control, digital I/O control, attach events, copy attributes, and help. To show the function of a toolbar button, simply move the cursor over it and its description will appear.
The large white area shows the signal list. The signal
a summary of I/O properties associated with a selected device.
simply refers to a USB module. To select a device, choose it from
the "Select Device" combo-box near the top of the dialog. Note
the data in the list is not necessarily valid unless the selected
exists. The status line at the bottom of the dialog indicates the
number of USB modules detected. Devices are designated by virtual
port assignment DEV_nn, where nn indicates a two-digit device
If, for instance, the status line indicates 1 device was detected, it
be assigned to virtual port DEV_00. Additional devices will be
with successive port number ID (e.g., DEV_01, DEV_02, etc.)
Due to the nature of USB enumeration performed by Windows and the means
by which USB modules are identified, it is important that if multiple
are used, that they are all attached before starting the
and that they are not unplugged during program operation, as this could
adversely affect device identification.)
(Note: Remote (client) users of the multi-user edition need not register their software. Only the local (server) user must register.) When the "Register" dialog appears, fill in the requested information as shown in the example below. When complete, click "Send" to transmit the information to Kadtronix. (A valid e-mail account and internet connection are required to perform this operation.):
When you receive the license key from Kadtronix, select the
main menu item:
A dialog image will be shown on your display. Enter the encoded key string as shown in the example below. Click "OK" to accept the new key and enable the application.
File -> Save...
You may also delete the database if desired. To perform this operation, make the following menu selection:
File -> Delete...
(In some cases, you may need to delete the database before
new versions of Digio.)
Tools -> Properties
A properties dialog will appear containing global properties as shown below:
The properties page contains several groups of
program properties, email properties, and network properties as
Notification delay provides a means of limiting notifications on signals that are expected to be particularly active. Imagine a scenario in which a signal input being monitored is continually changing states. Without some type of filtering capability, the computer would be bombarded with notification events. The notification delay specifies a minimum time period between successive notifications on any given signal input. Therefore, when an input trigger occurs and generates a notification, this timer will temporarily disable further notification on the signal until the time period elapses. (Note that the delay is imposed only on the trigger signal. All other signal inputs may still be triggered.)
Versions 5.11d and above allow you to select the type of notification delay: "Universal" or "Individual". Select "Universal" when you wish to have all signal notifications use the same delay value. Choose "Individual" when you want to specify different delay values for each signal. Refer to the I/O Signals section for more information.
Also new in version 5.11d are "Auto-Reset" and "No Re-Trigger" check-boxes. Select "Auto-Reset" to clear the delay counter when a triggered signal returns to the normal, pre-trigger state. This feature is useful in situations where you desire to allow a new re-trigger as quickly as possible. Use "No Re-Trigger" when you want to prevent re-triggers on a signal that has not yet returned to its normal, pre-trigger state. This feature is useful in applications when you want to limit each signal change to cause only one trigger such as security alarm systems. Additional triggers will not be allowed until the signal returns to normal state.
The device poll rate defines the rate at which the
attached USB I/O
modules are polled. A faster poll rate yields better response,
also has the disadvantage of requiring more CPU resources. A
rate is recommended where possible.
The following parameters are required for email
Specify the following parameters only if SMTP
authentication is required:
Automatic event notification emails may fail on some platforms due to
Windows security measures. In particular, SMTP error code 49
could be an
indicator that the firewall has denied the email attempt. Your IT
representative or system administrator should be notified of this
condition as Windows firewall settings may require adjustment. A
possible alternate solution is to generate a manual email using the
Registration feature ("Help -> Registration"). This results in the
following Windows security message pop-up:
A program is attempting to
send the following email on your behalf.
Would you like to send the message?
Click "Yes" to allow the email to proceed. The Windows firewall may now permit subsequent automatic event notification emails.
Tools -> I/O Control...
To choose a device, use the "Device" combo-box near the top of the dialog box. Remember that although you can configure any device, only those device(s) that are actually plugged in and detected will respond to your configuration.
The check box determines whether internal pull-up resistors
used. Pull-up resistors are applicable only to signals which have
been configured as inputs and are useful for external devices including
switches and relay contact closures where a logic low (0) signal is the
active state. They ensure that the non-active input state will be
HIGH. Pull-up resistors also help ensure that unused signal
have a defined state and are not floating.
You should now configure the direction (input/output) and states (high/low). (Note: It is not necessary to configure the states of input signals since their states are read from the device.)
Next, assign an optional label for each signal. The
be a descriptive word or phrase to help you remember its purpose.
Note the following examples:
Notification delay is used to prevent an overload of notifications on very active inputs. There are two columns of numbers under the heading labelled "Notification Delay". They are titled: "Value Now" and "Default". "Value Now" provides an indication of when the next allowable notification can occur. Notification on any given signal is temporarily disabled until this countdown timer reaches "0". The "Default" column defines the beginning countdown value when a trigger event occurs. You may define individual default values if the "Individuall" setting has been chosen in the Global Properties page. Otherwise, all counters will be assigned an identical, universal value.
To see the current value of the timers and input states, click the "Apply" button.
The remaining controls on the dialog are convenience buttons aimed at simplifying operations. Without these buttons, you would have to select each signal individually. Of course, it might still be necessary to select signals individually if you are not setting them as all outputs or all inputs. The "Set All Direction" buttons will set all 16 I/O signals as outputs. The "Set All State" buttons set all signals states high or low. Note that state changes, while applied to all signals, only have meaning for signal outputs and have no lasting effect on input signals. The "Notifiy Timers" reset button provides a convenient means of resetting all notification delay timers, re-enabling notification(s). This button should only be used in test situations when you wish to recycle a delay quickly to re-enable notification(s). Use the "LED Colors" button to configure virtual LED panel colors.
Click the dialog's OK button to save changes and exit.
"Apply" to save changes and without exiting the dialog. Press
to abandon changes.
Tools -> Map Devices...
Convenience controls are provided for configuring device I/O and/or event notifications. Click the button labelled "I/O..." to configure I/O signals. Click the button labelled, "Events..." to configure event associations.
Additional buttons are provided as shown below. The buttons labelled, "OK" & "Cancel" exit the device mapping tool. "Apply" updates your mapping selections, saving them to the internal database. "Detect" forces a re-detection of available U4x1 devices.
To create or modify a device mapping, click a combo-box in the column titled, "U4x1 Device" for the desired virtual port.
"ANY" will be shown if you have not made a prior selection. This indicates that Digio will assign any available device at the chosen virtual port slot. Click the button on the combo-box to see a drop-down selection list of available device(s). (Note: Only device(s) which are currently plugged in to your computer will be shown in this list.) Click on the desired device item in the list to assign it to the virtual port slot. Then, click "Apply" to update your selection. The right-most column, titled "Status" will show the new assignment. If the selected device is connected and available, the status string will show the device type (i.e., U401, U421, or U451). It will also show the last 4 digits of the device serial number. If the device is not connected or unavailble, the status string will indicate "none".
Repeat the above procedure for additional
device(s) you wish to assign. Click "OK" to exit the mapping tool.
There will be one panel for each active USB device that has been plugged into your PC and recognized by Digio. The following picture shows a typical LED panel:
You may remove a LED panel by clicking its "Hide" button, located at the bottom of the panel display. Each LED indicator has a defined color for high and low states. Configure the colors by clicking the "Config" button. This will activate the color definitions dialog as shown below:
To change a signal's color, choose the appropriate combo-box and make the desired selection. There are 4 colors to choose from: blue, green, red, and yellow. In addition, you can instruct Digio to flash a LED if the signal caused an event trigger. Enable LED flashing by clicking the appropriate "Event Flashing" check-box.
Tools -> SPI Control...
First, choose the desired master device. This is simply the USB module attached to your PC. If there is only one USB module attached, your selection should be DEV_00. Then, select the desired slave device. There can be up to10 selections per master. The slave assignment ranges from 0 to 9 and is somewhat arbitrary. Assign any number to the slave you choose. You may also assign an optional label to each device. The label should be a descriptive string or phrase that helps you remember your assignments. For instance, you could specify "Temperature Sensor, Board 1".
You may now configure the SPI master. When configuring the master, you must select several key attributes. The "Clock" selection specifies the clock rate. For most applications, the slowest clock rate (62Kbits/sec) will be fine. If desired, you may choose a higher rate for time-critical applications.
The "Phase & Polarity" field further defines the clock by specifying the state at which the clock starts (high or low) and on which edge the data is valid. In many instances, the default selection ("Clock starts low, data valid on rising edge) will be correct. However, you should consult the datasheet of the slave device for the correct setting.
Also select the data-width. This field determines the size in bytes of each data transaction with the slave. Choose 1, 2, 3, or 4 bytes. (Note that some devices may not be byte-oriented and may require a transfer that is not aligned to a byte boundary. In these instances, select the next higher byte size. For instance, a device requiring a 6-bit transfer can be defined as 1-byte (8-bits). The two leading or trailing bits should be ignored by the slave device. (Consult the device's datasheet for details.)
The slave-select field determines which digital signal of the master (USB module) will be used to select or enable the slave device. A single digital output must be designated by the master for each slave device exclusively. Choose any available digital signal except those defined for the SPI interface (PA5, PA6, PA7). Note that the slave-select must be defined an output signal. If it is defined as input, you may re-define it using the "..." button. The activation state defines whether the slave device is selected by active-low or active-high signal. In most instances, the selection will be "Low". (Consult the device datasheet for this information.) The mode field defines whether the slave-select should behave as a chip-select or latch-enable. A device defined for chip-select will be selected differently than a latch-enable device. If chip-select, the master will enable or select the slave device, perform the data transaction, and then disable or de-select the device. If latch-enable, the master will perform the data transaction, and then "latch" the data by toggling the signal line. Devices such as shift-registers typically require latching operation. Consult the datasheet for the proper selection to use.
You may also specify an optional data-conversion operation to
read data from a raw value to something more meaningful such as
amperes, volts, etc. To specify a modifier, select one from the
and enter a value. Then click "->" to transfer it to the edit
at the right. To specifiy additional modifiers, repeat the
You may choose up to 10 modifiers. Each will be performed in the
sequence you have defined them. Modifiers include:
You may also specify a data format from the combo-box
As an example, consider an analog-to-digital converter whose
is to determine the amount of current flowing through part of a
Rather than dealing with raw readings, we'd like to use amperes
To make the conversion, we determined the following example
Current = (((value >> 2) * 0.15) + 5.0). To effect the
specify a decimal data format and the following modifiers:
Once you have configured the SPI master and selected modifier(s), you may test your configuration in the "Test" region. Specify an optional write value by clicking the "Write" check-box and entering a value. To read a value, click the "Read" check-box. Then, click the "Go" button to perform the operation. Choose "Repeat" to perform repitive reads/writes.
You may also choose to send a pre-configured file containing SPI data. To use this feature, click the "Send a File..." button. The following dialog image will appear on your computer's monitor:
This function will send and receive SPI data using the parameters you have configured on the SPI Control page. You may designate files for transmit and receive. The format of a transmit file may be ASCII or Binary. An ASCII file may contain optional delimiters (such as carriage returns and/or linefeeds) for easy viewing. Delimiters, if used, will be ignored and not sent in the SPI transmission. All file values are in hexadecimal format. Sample content is shown below:
If desired, binary format may be specified. Use the appropriate radio button to select the transmit file format. Use the file browser ("...") button to locate the transmit file.
To specify receive-capture, select the "Save Rx to File" check box and specify the desired file format: Formatted ASCII or Unformatted Binary. Use the "..." button for file browsing.
When you have configured the parameters for transmit and
the "Send" button to begin the transmission.
Then, click the "Remote Connect..." toolbar button:
The following dialog box will appear on the screen:
Choose the desired network port number or use the default value. The port number defined for the host computer must match that of the remote(s). Also, enter the I.P. address of the computer you want to connect to. Click the "Find..." button to obtain a list of detected network computers. If you wish to select a computer from the list, simply open the combo-box and choose the desired entry. Your selection's I.P. address will be automatically populated in the fields above. Click "Apply" to store your settings. Click "Connect" to attempt a connection to the host computer. A successful connection will result in the following appearance:
(You may terminate or cancel the connection by clicking the "Disconnect" button.) Once connected, you may close this dialog and return to the main screen display. The I/O list will now show identical contents to that of the host machine. You can view the host's I/O direction (input/output), state (high/low), event trigger conditions, etc. New screen updates occur at the rate of approximately 2 seconds.
A status bar is positioned just below the I/O list as shown:
The status bar provides information and statistics regarding the connection. The left-most field tells the number of USB interface devices detected at the remote machine. The next field to the right provides network communication statistics in terms of the numbers of packets sent (w = written) and received (r = read). The next field to the right defines the amount of elapsed time (hours:minutes) since the connection was established. The next field to the right tells the number of established connections. It is shown disabled (grayed) above. This field is only enabled on the local host machine (i.e., the PC having the attached USB interfaces being monitored). There are two numeric parameters within this field having the format: x/y. The first parameter indicates the number of established connections. The second parameter indicates the maximum allowed connections. Therefore, "0/5" indicates there are currently no established connections and there are 5 maximum allowed. The next control to the right is a message button and allows you to view received text messages. Each trigger notification at the host computer results in a text message to all remote(s). When new message(s) arrive, the indicator (at the far right end of the status bar) flashes. You may also optionally configure an audible alert. Click the "Msg" button to view the messages as shown below:
Tools -> Attach Events
To configure an event trigger, you must first select the
input signal you wish to designate as the input trigger signal.
these using the "Device" and "Signal" combo-boxes near the top of the
If you want to use a discrete digital signal trigger, select the
of the input. Typically, this value will be 1, but there may be
when you have an input that is characterized by a multi-bit
An example of this might be a 4-bit binary-coded decimal (BCD)
input. In this case, you would select a bit-length of 4,
resulting in a
trigger definition. Otherwise, use the default bit-length of 1 to
define a single-bit trigger definition.
This multi-bit setting is invalid because, beginning at signal 14, there are only 2 signals remaining on the device, not 4.
Shared inputs are allowed. Shared inputs occur when 2
definitions share 1 or more input signals, as indicated in the
The above example indicates that all three definitions share 1 or more signals. Definitions 1 and 3 share signal #7, definitions 1 and 2 share signals #6, & #7. And definitions 2 & 3 share signal #7.
To configure a multi-bit trigger, you must first select the
Then choose the trigger event.
one of the following:
Choose "EQ" if you want notification(s) to occur when the input signals are equal the trigger value. Choose "NEQ" if you want notification(s) to occur when the input signals are not equal the trigger value. Choose "LT" if you want notification(s) to occur when the input signals are less than the trigger value. Or, choose "GT" if you want notification(s) to occur when the input signals are greater than the trigger value. Enter the trigger compare value in the "Value" field. Otherwise, you may disable notifications on the signal. (The current state & direction of discrete digital signals are shown in the "State" and "Direction" columns of the main display. The trigger compare value will be shown in the "Signal Trig." column of the main display.)
If the device requires a setup or initialization value, choose one of the write modes. Otherwise, choose "Read". Next, define the trigger value in the "Trigger" field. This value will be compared against the value retrieved from the slave device. Finally, specify the compare condition. Choose one of the following selections:
Select "equal", "not equal", "less than", or "greater than". (The trigger compare value will be shown in the "SPI Trig." column of the main display.) You may also specify an optional "Setup" value. Many slave devices require this value. For instance, the setup value might specify which channel of a multi-channel analog-to-digital converter to read. Note that SPI operation must be enabled for the USB module before you can specify a trigger event. To do this, click the button labelled "..." in the SPI trigger region of the display.
The remaining time trigger selections are repetitive in nature and occur at regular intervals. Select a quarter-hourly trigger when you wish notifications to occur each 15 minutes, ie., 00:00, 00:15, 00:30, 00:45, 01:00, 01:15, 01:30, 01:45, etc.
Half-hourly triggers occur at the following intervals: 00:00, 00:30, 01:00, 01:30, 02:00, 02:30, etc.
Hourly triggers occur each hour: 00:00, 01:00, 02:00, 03:00, etc.
You may further specify a time trigger by selecting which
the week they may occur. To include day(s) of the week, check
To exclude, uncheck them. Time triggers will only occur on those
days that are checked. (Time triggers are shown in the "Time
column of the main display.)
Type the message you want displayed and select whether you
want an automatic
message. An automatic message is displayed for a selectable
of time and then is automatically extinguished. Click "OK" once
finished configuring the message. You may now preview the message
by selecting the "Preview" button.
Type the name of the recipient for this notification. Use the format "email@example.com". (Note: Previous versions of Digio required surrounding brackets: '<' and '>'. These brackets are no longer required.) You may indicate multiple recipients in this field with comma separators.
Enter an optional subject for the message. Also specify a body, the actual message you want to send. Instead of typing the message, you can also specify a text file to use. To specify a file, press the "..." button. The contents of the file you specify will be used in the message body. (Note that this is not an attachment.)
If you haven't yet done so, configure email
properties. These parameters specify the email account and
mail server. To configure email properties, press the
Then select the signal output you want to use.
Configure the desired
output state that you want set when the trigger
event occurs. If necessary, use the "Configure
Signal" button to configure an output signal. You may also
to have the signal automatically toggle back to its original state
the specified time period. To do this, click "Enable Toggle" and
choose the time period using the "Minutes" and Seconds" combo-boxes.
Use the browser to locate and select a wav file to be
played when the trigger
event occurs. Once selected, you may preview the sound by
the "Preview" button.
Use the "..." button at the upper right to locate the executable (.exe) file. Enter any command arguments that might be needed. Use the lower "..." button to locate and select a file parameter if needed. Select "Run the application minimized" if you don't wish the application to appear on your computer screen.
The configuration shown above will play a video using the Windows Media Player. You may also find it necessary to run other types of videos and presentations. The following dialog demonstrates the configuration for playing a PowerPoint slideshow presentation:
Note: Use these steps when converting a PowerPoint presentation (.ppt) into a slideshow (.pps):
"File" -> "Save As..."
Choose the desired SPI master. This is simply the
active USB module
the slave is attached to. Also select the slave device.
the hexadecimal value to be written and enter in the "SPI Write Value"
field. If necessary, click the "Configure..." button to configure
the USB master for SPI operation. When complete, click "OK" to
your changes. Then, click the "Preview" button on the previous
to view and/or test.
To configure, press the "Select" button. The following dialog will appear:
To specify screen saver action, click the "Screen Saver" radio button. Then, using the combo-box titled, "Choose desired action", make the desired selection. Choosing the activate option will cause the screen saver to be displayed when the defined trigger event occurs. Choosing the deactivate option will cause the screen saver to extinguish (if it is being displayed). You may optionally choose to send the screen saver back in its original state after the specified time period. To do this, click the "Toggle" check-box and select the time period using the "Minutes" and "Seconds" combo-boxes.
To specify an alternative system action, click the "Logoff
radio button. This will enable the associated combo-box control,
allowing any of the following selections:
(It is not necessary to install the software that is included with the device since it uses existing Windows drivers. Simply plug one end of the included USB cable into the device and the other end into an available USB port on your computer.)
This device communicates over existing A/C building wiring
your computer to send and receive X-10 signals. You can obtain
device from companies such as SmartHome
which carry a wide array of compatible X-10 hardware including:
To configure X10 notification, click the "Select" button. The following dialog will appear:
The dialog is divided into two main sections, titled: "Notification" and "Trigger Event". Use the notification section to configure an X10 command to perform when a trigger event occurs. Configuring a command requires selecting an address and a command function. The address is a two-part identifier that specifies a house-code and unit-code. The house code is a one-letter field ranging from 'A' to 'P'. The unit-code is a numeric field ranging from 1 to 16. When the two fields are combined, you can specify any of 256 possible addresses. The address you choose must match the address you've chosen for the X10 module. For instance, using a lamp module, you could turn on a light in your home when a trigger event occurs.
Use the optional "Reset" selection to specify a follow-on command to perform after a notification command has occurred. This is useful in situations where you would like to reset or de-activate a device after a specified amount of time. For instance, you could command a light to turn off after one hour. To use this feature, specify the device address, command function, and timer period.
Use an optional trigger event when you want to specify an X10 trigger condition. X10 triggers are similar to other Digio event triggers and can effect similar results. An X10 trigger condition is a powerline transaction that is received via the PowerLinc device and causes one or more specified notifications. These notifications are not limited to X10, but can be any of the available Digio notifications. This powerful feature allows you to perform an action based on a received X10 signal. For instance, you could play a .WAV file or set a U4x1 output signal when an X10 motion sensor detects activity.
If desired, you may store all received X10 signals to a
text log file
for later review using a program such as Windows Notepad. To
logging, simply click the check box titled "Log X10 activity to text
located near the bottom left segment of the dialog display. Each
stored record contains the timestamp, module address, and function of
received transaction as shown below:
A new log file is automatically created each new
log file name has the following format:
MMM is a 3-character month specifier, DD is a two-digit
and YY is the two-digit year. For example, a log file created on
January 4, 2005 would have the following name:
For additional information about X10, visit this online
Tools -> Copy Attributes...
First specify the source signal. This is the signal
attributes you want to copy. Then, specify the destination
If you want to copy to a single destination, indicate identical
and ending destination signals. To copy to multiple destinations,
specify the range appropriately. For instance, suppose we had
device 0, signal 0 as an input with an activated single-bit trigger and
an email notification. If we desired to copy these attributes to
all devices, all signals, we could use the copy feature and specify the
Tools -> Test Outputs
Note that this test requires at least one configured output on
device. If no outputs are found, select another device or
the current device. You may wish to use the "Config.
I/O.." button to configure one or more outputs.
Tools -> Import...
Before you can perform an import, you must be supplied an import file, titled "digio.dat". Use the "..." button to navigate to the folder containing the import file. (Note: If the import file is compressed and contained in an archive (e.g., .zip, .rar, .etc), it must be uncompressed and extracted to a suitable location on your computer's disk drive.) Once you have located the import file., click the "Import" button to retrieve the new file.
The following tables present pinout information:
|Pin Number||USB Interface Signal|
|7||+5V USB from PC|
|15||PA.0 - Port A bit 0|
|16||PA.1 - Port A bit 1|
|17||PA.2 - Port A bit 2|
|18||PA.3 - Port A bit 3|
|19||PA.4 - Port A bit 4 [SPI SS (slave-mode only)]|
|20||PA.5 - Port A bit 5 [SPI MOSI]|
|21||PA.6 - Port A bit 6 [SPI MISO]|
|22||PA.7 - Port A bit 7 [SPI SCLK]|
|23||PB.0 - Port B bit 0|
|24||PB.1 - Port B bit 1|
|25||PB.2 - Port B bit 2|
|26||PB.3 - Port B bit 3|
|27||PB.4 - Port B bit 4|
|28||PB.5 - Port B bit 5|
|29||PB.6 - Port B bit 6|
|30||PB.7 - Port B bit 7|
|Pin Number||USB Interface Signal|
|14||+5V USB from PC|
|1||PA.0 - Port A bit 0|
|2||PA.1 - Port A bit 1|
|3||PA.2 - Port A bit 2|
|4||PA.3 - Port A bit 3|
|24||PA.4 - Port A bit 4 [SPI SS (slave-mode only)]|
|23||PA.5 - Port A bit 5 [SPI MOSI]|
|22||PA.6 - Port A bit 6 [SPI MISO]|
|21||PA.7 - Port A bit 7 [SPI SCLK]|
|5||PB.0 - Port B bit 0|
|20||PB.1 - Port B bit 1|
|6||PB.2 - Port B bit 2|
|19||PB.3 - Port B bit 3|
|7||PB.4 - Port B bit 4|
|18||PB.5 - Port B bit 5|
|8||PB.6 - Port B bit 6|
|17||PB.7 - Port B bit 7|
|Pin Number||USB Interface Signal|
||+5V USB from PC|
|J1-1||PA.0 - Port A bit 0|
|J1-2||PA.1 - Port A bit 1|
|J1-3||PA.2 - Port A bit 2|
|J1-4||PA.3 - Port A bit 3|
|J1-5||PA.4 - Port A bit 4 [SPI SS (slave-mode only)]|
|J1-6||PA.5 - Port A bit 5 [SPI MOSI]|
|J1-7||PA.6 - Port A bit 6 [SPI MISO]|
|J1-8||PA.7 - Port A bit 7 [SPI SCLK]|
Port B bit 0 [Relay 1]
Port B bit 1 [Relay 2]
|J4-1||PB.2 - Port B bit 2|
|J4-2||PB.3 - Port B bit 3|
|J4-3||PB.4 - Port B bit 4|
|J4-4||PB.5 - Port B bit 5|
|J4-5||PB.6 - Port B bit 6|
|J4-6||PB.7 - Port B bit 7|