Table of Contents

ExtInOut

Shop

This product is available in our web shop: ExtInOut.

Overview

ExtInOut expansion board is a device, that expands the number of motion controller inputs and outputs. This board can be used with Mk3, Mk3/4 and Mk3DRV controller.

Features and specifications

ExtInOut board version label


8 Outputs with relays


8 Opto-isolated inputs


NEXT box header


EXT box header


POWER screw terminal


EXT MicroMatch connector

Input specification

Each input uses opto-coupler and a resistor.

*PLEASE NOTE:

Input terminal Description
Input+ Input for Vcc signal of opto input
Input- Input for GND signal of opto input

Output specification

Relay outputs offer: Common, NC (normally closed) and NO(normally opened) terminals.

Relays* specification:

@ Voltage 250VAC, capable of switching up to 10A

@ Voltage 125VAC, capable of switching up to 10A

@ Voltage 30VDC, capable of switching up to 10A

@ Voltage 28VDC, capable of switching up to 10A

*ExtInOut 12VDC → uses 12VDC relays

*ExtInOut 24VDC → uses 24VDC relays

Connection diagrams

Schematic below describes the use of ExtInOut board with motor contactor, small motor and input buttons:


Schematic below describes the use of ExtInOut board with LED's, solenoid value and PNP/NPN proximity sensors:


Diagram below, illustrates connection between Mk3/4 controller and ExtInOut board. It also illustrates connection of small DC motor and PNP proximity sensor with ExtInOut board.


Diagram below, illustrates connection between Mk3/4 controller and ExtInOut board. It also illustrates connection of solenoid value and input button with ExtInOut board.


Diagram below, illustrates connection between Mk3/4 controller and ExtInOut board. It also illustrates connection of motor starter for AC motor value and NPN proximity sensor with ExtInOut board.


Diagram below, illustrates connection between Mk3/4 controller and two ExtInOut boards:

ExtInOut board's use with PlanetCNC TNG software

Settings related to EXT are located under File/Settings/Input/Output → I2C,Serial,Ext

Example of EXT settings configuration for one ExtInOut board connected to PlanetCNC controller:

Please note: MK3 controller uses also EXT2 connector. Settings related to EXT2, are under SEL2 chapter.


Frequency: Value of EXT clock frequency. Default value is suitable for most cases.

SEL1 Pin:

Invert: Inverts SEL1 pin Latch:

Size: Inserted value should be equal to the number of ExtInOut boards used with EXT1 connector of controller.

Eg.g.: If you use only one board, value is 1. If you use 3 boards connected in daisy chain, value is 3.

Timer: Refresh time value of ExtInOut board inputs and outputs.


SEL2 Pin:

Invert: Inverts SEL2 pin Latch:

Size: Inserted value should be equal to the number of ExtInOut boards used with EXT2 connector of Mk3 controller.

Eg.g.: If you use only one board, value is 1. If you use 3 boards connected in daisy chain, value is 3.

Timer: Refresh time value of ExtInOut board inputs and outputs Gcode command

GCode commands

ExtInOut relay output control: There are multiple ways on how you can control ExtInOut relay outputs.


Example: M64 H P Q <L>

Activate relay outputs 1 and 7:

M64 H1 P1 Q1
M64 H1 P7 Q1

To turn relay outputs 1 and 7 off:

M64 H1 P1 Q0
M64 H1 P7 Q0

Example: #<_extout1|num>

Activate relay outputs 1 and 7:

#<_extout1|1> = 1
#<_extout1|7> = 1

To turn relay outputs 1 and 7 off:

#<_extout1|1> = 0
#<_extout1|7> = 0

Example: #<_extout1> = n

Activate relay outputs 1 – 4 of first ExtInOut board:

#<_extout1> = 15

Activate relay outputs 1 – 4(outputs 9-12) of second ExtInOut board:

#<_extout1> = 3840


Example: #<_extout1> = BIN[ ]

Activate relay outputs 1 – 4 of first ExtInOut board:

#<_extout1> = BIN[00001111]

Activate relay outputs 1 – 4(outputs 9-12) of second ExtInOut board:

#<_extout1> = BIN[0000111100000000]


Example: #<_extout1> = HEX[ ]

Activate relay outputs 5 – 8 of first board:

#<_extout1> = HEX[F0]

Activate relay outputs 5 – 8 (outputs 13-16)of second board:

#<_EXTOUT1> = HEX[F000]

Reading ExtInOut board inputs

ExtInOut board input status values are available through parameters: #<_extin1> and #<_extin2> or #<_extin1|num> and #<_extin2|num>

You can use them with your gcode, script files, expressions, toolbar buttons etc..

G-code program example:

G-code program below demonstrates ExtInOut output and input manipulation:

%
#<_extout1|7> = 0 //reset ExtOut output 7
G00 X0
G00 X100
o<extin_read> if [#<_extin1|4> EQ 1] //read ExtIn input 4
 (msg,program stop: input active)
 #<_extout1|7> = 0
 M2
o<extin_read> else
G00 X0
#<_extout1|7> = 1 //set ExtOut output 7
o<extin_read> endif
%

We recommend that you read TNG G-code reference manual for more info about the ExtInOut parameter, gcode command and expression functions syntax.


More examples are demonstrated also in the “Custom toolbar buttons” tutorial. Note that in this tutorial expression functions for ExtInOut are used:

How to customize toolbar buttons


ExtInOut board was also used in semaphore application blog, where it was used for input evaluation and semaphore lights control:

Use Expressions to command semaphore lights

EXT State panel settings

EXT input and output status lights can be displayed under IO state panel of PlanetCNC TNG sw.

EXT IO LED settings are located under File/Settings/User Interface/State → LED ExtIn1 and LED ExtIn2 → Rows

LED ExtOut1 and LED ExtOut2 → Rows

Each row displays 8 inputs and outputs of dedicated ExtInOut board. So if you use two ExtInOut boards with EXT1 of your controller, you should use insert value 2:

Using PlanetCNC TNG software pin shortcuts with ExtInOut board inputs

You can map inputs of ExtInOut board as a shortcut pin in PlanetCNC TNG.

Example: We want to use ExtInOut boards input 1 as a program start button.

Under File/Settings/User Interface/Shortcuts → Machine/Start → Pin → ExtIn1→ ExtIn1 1

Dimensions

DXF file is available at link below: https://planet-cnc.com/wp-content/uploads/sw/doc/ExtInOut.dxf

If any interference problems persist, please also try additional measures below: