News & Events

Receiving Print Data Serially


Can we use your controller to print data with any inkjet (including GT-Jets) by receiving data from our controller via serial interface? I have a controller that sends messages to Videojet Excel, can you handle this?

The controller usually produces record by record from a data file provided by your customer.
Some clients that have own controllers that know that the controller can drive at least 20 different inkjets, wanted to send data serially to the controller and have the controller drive different inkjets.

Basically, they send only the data. All the rest, triggering/layout/inkjet control is performed by the GT controller. This way, they just have to do a protocol and the controller tansforms it to the protocol and interface different with every inkjet

Since version 3.15, the controller can get data over a tcp/ip socket as it does serially.


The customer controller sends product data through a RS232 interface to the MIC controller before a product hits the photocell connected to the MIC controller, the MIC controller then tracks the product with pulses from the shaft encoder and prints the information sent.

Note: if a product reaches the photocell and the customer controller has not sent any data, the printer will all Xs.

Serial Protocol

Example: <1b> is 1Bhex.

19’200 baud, no parity, 8 bit data, 1 stop bit, Xon/Xoff handshake
The end character of each message is <0d>

Clear Buffer: you need to clear any remaining buffer when starting production
Message Customer Controller to MIC: <1b><01><01><0d>
Response MIC to Customer Controller: <07><08><07><07>

Ready: if you want to know whether everything is OK
Message Customer Controller to MIC: <1b><00><00><0d>
Response MIC to Customer Controller if OK: <07><06>
Response MIC to Customer Controller if NOK: <07><07>

Message to print: the same length messages (the message and the texts inside shall have the same length always) will be stored and printed with every product detected with the photocell. The buffer is set at 10, messages received are stored for layout design.
Message Customer Controller to MIC:
HELLO WORLD 00001;TEXT 02; TEXT 03; TEXT 04<0d>
Response MIC to Customer Controller: none
HELLO WORLD 00002;TEXT 02; TEXT 03; TEXT 04<0d>
Response MIC to Customer Controller: none


First, you have to have a configuration with at least one shaft encoder, a photocell, and an inkjet.

The controller will then simply make the inkjet print what it receives through the serial interface.

The data received is put in a file “SerialDataRec DO NOT SELECT.txt” or if that was selected into “SerialDataRec DO NOT SELECT 2.txt” D:\EditorGT\data\address.
Select one of them to do the layout and to run.

For example, as shown below, the message “HELLO WORLD”, a Number and a 2D barcode.


If you need to see what is going on in the serial interface (like a hyper-terminal) open d:/editorgt/user/system/arguments.txt and input

serial_asynch –trace 2

If you need to see what seij (serial inkjet) receives open d:/editorgt/user/system/arguments.txt and input

seij –trace 1

The file arguments.txt is only read once when you start the gt.exe controller. Thus, if you change an argument, make sure you restart the program.

Once done, make sure that you take the traces away because they slow down the system.


You can send a text and CR/LF through a serial interface, for example with hyperterminal.

Settings: 19,200 baud, 8 data bits, N no parity, 1 stop bit

This Basic communication is type 3 and can set in d:/editorgt/user/system/arguments.txt:
seij –type 0

It will send serially READYCR/LF when ready to receive data.