User Guide / Manual

SerialGhost Module

SerialGhost Module TimeKeeper

SerialGhost Module User Guide

Introduction

About the product

The SerialGhost Module is a compact RS-232 and serial bus logger with high-capacity internal memory, which may be accessed as a USB flash drive. Bidirectional data flowing through the serial bus will be captured and stored on the internal flash drive in a special file. This data may be retrieved by switching to flash drive mode. The logger will pop up as a removable drive, giving instant access to all captured data. The SerialGhost Module does not require any dedicated software or drivers.

The SerialGhost Module TimeKeeper has an additional built-in time-stamping module and battery. This enables adding time and date information to the log file. Thanks to the internal battery, the time and date persist even when the device is not powered.

Features

  • Logs asynchronous serial transmission (RS-232 compatible)
  • Baud rates up to 230400 bps
  • Logs 2 streams simultaneously (RX and TX)
  • High-capacity internal flash memory, accessible as a USB removable drive
  • Powered from a USB port, or external power supply
  • No software or drivers required, Windows, Linux, and Mac compatible
  • USB flash drive mode
  • Modular form-factor with terminal block connectors
  • Time and date stamping (SerialGhost Module TimeKeeper)
  • Built-in battery (SerialGhost Module TimeKeeper)

Requirements

  • Asynchronous serial bus with RS-232 logic levels
  • Operating system with USB Mass-Storage device support
  • USB 5V DC or power supply 9V...24V DC

Quick Start

This section contains concise information on basic operation of the SerialGhost Module and SerialGhost Module TimeKeeper. If you need detailed instructions, please refer to sections Configuration, Recording data, and Viewing recorded data.

Before you start, make sure you have the following information about the serial bus you want to log data from:

  • Baud rate (bits per second)
  • Number of bits per transfer (usually 8)
  • Parity bit configuration (usually not used)
  • Number of stop bits per transfer (usually 1)

Step 1. Open a text editor (such as Notepad) and create a file named CONFIG.TXT. This file will later be used to configure the device. Use the following template:

Baudrate=9600
Bits=8
Parity=No
StopBits=1

SerialGhost Module - Quick Start (1)

Replace Baudrate with the actual baud rate in bits per second of the serial bus you want to log data from. Replace Bits with the number of bits per transfer (5...8). Provide the parity check using one of the following strings: No, Even, Odd, Space, or Mark. Replace StopBits with the number of stop bits per transfer (1, 1.5, or 2).

Finally, save the configuration file as CONFIG.TXT.

Step 2. Connect the device to a computer or laptop using the USB connector and then short input MODE to GND for a short moment. This will initiate toggling the mode of operation from record mode to flash drive mode.

SerialGhost Module - Quick Start (2)

After a few seconds, the device will automatically get detected as a mass storage device, and pop up as a removable drive.

Step 3. Copy the configuration file CONFIG.TXT to the logger’s flash drive.

SerialGhost Module - Quick Start (3)

Then, safely remove the device, and short input MODE to GND for a short moment to exit flash drive mode.

Step 4. To start logging, connect the logger in-line on a serial bus. Connect either one, or two sources of serial data with RS-232 logic levels to inputs RX1 and RX2.

SerialGhost Module - Quick Start (4)

The device may be powered from a standard USB port with +5V DC. Alternatively, an external +9...+24V DC (min. 200 mA) power supply may be used to power the device. It is important to connect the ground of the monitored bus to the SerialGhost’s ground connector GND.

Step 5. To retrieve the logged data, enable flash drive mode by shorting input MODE to GND for a short moment, just like in step 2. A removable drive will pop-up, containing the file LOG.TXT with recorded data.

SerialGhost Module - Quick Start (5)
SerialGhost Module - Quick Start (6)

The upstream data (TX) and downstream data (RX) will be differentiated by the channel headers interleaved in the log file.

Configuration

The SerialGhost Module and SerialGhost Module TimeKeeper may be configured through the file CONFIG.TXT, placed in the flash drive root folder. Use any text editor to prepare such a configuration file, containing the following text:

Baudrate=9600
Bits=8
Parity=No
StopBits=1

Copy this file to the root folder in flash drive mode. The new configuration will be loaded on next power-up.

SerialGhost Module - Configuration (1)

The following list presents the most common configuration options. All parameter and value strings are case insensitive.

Baudrate sets the baud rate in bits per second of the monitored serial bus. Range is 300 bps to 230400 bps. Default value is 9600.

Bits sets the number of bits per transfer of the monitored serial bus. Possible values are 5, 6, 7, 8. Default value is 8.

Parity sets the parity bit type of the monitored serial bus. Possible values are No, Even, Odd, Space, Mark. Default value is No.

StopBits sets the number of stop bits per transfer of the monitored serial bus. Possible values are 1, 1.5, 2. Default is 1.

DualPort sets whether both input ports use different serial bus configurations. Possible values are No (both ports use common configuration defined by Baudrate, Bits, Parity, StopBits) and Yes (first port uses configuration defined by Baudrate, Bits, Parity, StopBits, while second port uses configuration defined by Baudrate2, Bits2, Parity2, StopBits2). Default is No.

Baudrate2 sets the baud rate in bits per second of the monitored serial bus for the second port (used only when DualPort is set to Yes). Range is 300 bps to 230400 bps. Default value is 9600.

Bits2 sets the number of bits per transfer of the monitored serial bus for the second port (used only when DualPort is set to Yes). Possible values are 5, 6, 7, 8. Default value is 8.

Parity2 sets the parity bit type of the monitored serial bus for the second port (used only when DualPort is set to Yes). Possible values are No, Even, Odd, Space, Mark. Default value is No

StopBits2 sets the number of stop bits per transfer of the monitored serial bus for the second port (used only when DualPort is set to Yes). Possible values are 1, 1.5, 2. Default is 1.

DisableLogging allows to disable data logging. Allowed values are Yes (logging disabled) and No (logging enabled). Default value is No.

LogMode sets the logging mode. Possible values are Bin (data is logged as binary data), Hex (data is logged as hexadecimal numbers), Dec (data is logged as decimal numbers). Default value is Bin.

Separator sets the separator character between data values in logging mode Dec/Hex. Possible values are None, Space, Comma, Tab, Newline. Default is Space.

Separator2 sets the separator character used when a header is inserted into the stream (upon active stream change and before a time-stamp). Possible values are None, Space, Comma, Tab, NewLine. Default is NewLine.

EnablePort configures which input ports are enabled and which serial streams are to be logged. Possible values are Both (both input ports are enabled), Port0 (only the first input port is enabled), Port1 (only the second input port is enabled). Default is Both.

Header defines a string value for the main device header, which is included in each header inserted into the log file. No default value.

HeaderInterval sets an inactivity interval in seconds, after which a header is inserted into the log file. A header will be inserted only if there has been no bus activity for a period exceeding the HeaderInterval value, or if the active serial stream has changed. Default value is 5.0.

ChannelHeaders enables/disables the channel headers defined by Channel0Header and Channel1Header to be included in the log file. Allowed values are Yes (channel headers enabled) and No (channel headers disabled). Default value is Yes.

Channel0Header defines a string value for the header for the first input port, which is included in each header inserted into the log file. Default value is 0.

Channel1Header defines a string value for the header for the second input port, which is included in each header inserted into the log file. Default value is 1.

TimeStamping configures the built-in time- and date-stamping module (SerialGhost Module TimeKeeper only). Allowed values are Yes (timestamping enabled) and No (timestamping disabled). Default is Yes.

TimeFormat configures how time-stamps are formatted in the data log (SerialGhost Module TimeKeeper only). Allowed values are 24 (24h format) and AM or PM (both values will select the 12h format). Default is 24.

UsbMode configures mode of USB operation. Allowed values are Flash (the device switches between capture and USB flash mode) and Com (the device operates as a Virtual COM device). Default is Flash.

Target configures where to store or send acquired data. Allowed values are Flash (data stored to internal memory) and Com (data sent over Virtual COM device). Default is Flash.

Recording data

Record mode is the default mode of operation for the SerialGhost Module (SerialGhost Module TimeKeeper) data logger. In record mode, the device will silently monitor the bidirectional data flow on the serial bus and store the captured data on the internal flash drive in file LOG.TXT.

The SerialGhost Module (SerialGhost Module TimeKeeper) must first be configured to the appropriate serial bus parameters, such as baud rate. Refer to section Configuration for detailed instructions.

Installation of the SerialGhost Module in record mode is quick and easy, no software or drivers are required. Connect either one, or two sources of serial data with RS-232 logic levels to inputs RX1 and RX2. The device may be powered from a standard USB port with +5V DC. Alternatively, an external +9...+24V DC (min. 200 mA) power supply may be used to power the device. It is important to connect the ground of the monitored bus to the SerialGhost’s ground connector GND.

SerialGhost Module - Recording data (1)

Viewing recorded data

Once serial data has been recorded, it may be retrieved on any computer with a USB port. This is done by switching to flash drive mode. Connect the SerialGhost Module (SerialGhost Module TimeKeeper) to any computer with mass storage device support with a USB cable, and press the push button. After a few seconds, the SerialGhost Module (SerialGhost Module TimeKeeper) will automatically get detected as a mass storage device, and pop up as a removable drive. The operating system will use the standard built-in mass storage driver (MS Windows in the following examples).

SerialGhost Module - Viewing recorded data (1)
SerialGhost Module - Viewing recorded data (2)

Depending on the drive letters available, the device will be visible as a new drive, for example F:. Use the systems file manager to browse this disk (for example Explorer).

SerialGhost Module - Viewing recorded data (3)

The removable disk will contain the file LOG.TXT with a text log of all captured data. The data is stored in the same format as appearing on the serial bus, without any encoding. The upstream data (TX) and downstream data (RX) will be differentiated by the channel headers interleaved in the log file. The SerialGhost Module will also interleave time-stamps. The file LOG.TXT can be viewed and searched with any text editor, such as Notepad or MS Word.

SerialGhost Module - Viewing recorded data (4)

Switching back to record mode can be achieved by a safe software removal of the flash disk. Use the systems standard disk removal procedure. For MS Windows, left-click on the Safe Removal icon in the system tray and select the appropriate drive. Then press the push-button again to return to record mode.

Clock configuration

It is necessary to configure the built-in clock module for getting correct date and time-stamps. To do this, a text file named TIME.TXT should be prepared with the following format:

Year=2020
Month=4
Day=1
Hour=12
Minute=34
Second=56
Format=PM

SerialGhost Module - Clock configuration (1)

The fields should contain the current time and date. The field Format allows distinguishing between A.M., P.M., and 24-hour time (use the value AM, PM, or 24). After the file has been prepared, switch to flash drive mode and copy the file TIME.TXT to the root folder of the flash disk.

SerialGhost Module - Clock configuration (2)

After copying the file, safely remove the flash drive and press the button to switch back to record mode. The new clock configuration will be loaded during the next power-up.

The clock configuration file must be named TIME.TXT and must be placed in the root folder. Variable and value strings are case insensitive, however they must match the options listed below.

  • Year sets the clock year value. Valid range is from 2000 to 2099.
  • Month sets the clock month value. Valid range is from 1 (January) to 12 (December).
  • Day sets the clock day value. Valid range is from 1 to 31. If the specified day exceeds the maximum number of days in the specified month, the next valid day value will be chosen.
  • Hour sets the clock hour value. Valid range is from 1 to 12 for 12-hour time (A.M./P.M.), and 0 to 23 for 24-hour time.
  • Minute sets the clock minute value. Valid range is from 0 to 59.
  • Second sets the clock second value. Valid range is from 0 to 59.
  • Format sets the time format. Valid values are AM, PM, and 24. If AM is chosen, the 12-hour format is selected and the specified hour is treated as before noon. If PM is chosen, the 12-hour format is selected and the specified hour is treated as afternoon. If 24 is chosen, the 24-hour format is selected and the specified hour is treated as 24-hour format.

Sample TIME.TXT for 12-hour time:
Year=2020
Month=10
Day=25
Hour=5
Minute=34
Second=56
Format=PM

Sample TIME.TXT for 24-hour time:
Year=2020
Month=10
Day=25
Hour=17
Minute=34
Second=56
Format=24

Configuration files

The SerialGhost Module (SerialGhost Module TimeKeeper) is configured via two text files placed on the internal flash drive:

  • CONFIG.TXT (configures serial bus parameters)
  • TIME.TXT (configures the internal clock for time-stamping)

These files should contain configuration parameters, placed in successive lines in the following format:

Parameter1=Value
Parameter2=Value
Parameter3=Value
...

These configuration files must be placed in the device internal memory using flash drive mode.

CONFIG.TXT

The file CONFIG.TXT is responsible for configuring the main operation of the device.

TIME.TXT

The file TIME.TXT is responsible for configuring the built-in real-time clock.

Virtual COM mode

Virtual COM mode is a special mode available in the SerialGhost Module in which the device connects as a serial COM port. The CDC (Communications Device Class) driver class will be used, which is built-in most operating systems. To enable Virtual COM mode, the following entry needs to be present in CONFIG.TXT (refer to the Configuration section for details):

UsbMode=Com
Target=Com

Make sure the CONFIG.TXT file is properly saved in the flash drive root folder. Upon next power-up, the device will connect as a Virtual COM port.

Virtual COM mode allows live data streaming of acquired data, and communication with the device using a proprietary command set. Any serial terminal software may be used to display the data sent by the SerialGhost Module.

SerialGhost Module - Virtual COM mode (1)

Specifications

Power supply

4.5 V – 5.5 V DC (USB) or 9.0 V – 24.0 V DC (external power)

Max. power consumption

80 mA (recommended 200 mA power supply)

Maximum continuous log speed (approx.)

100 kB/s (both streams)

Data retention

100 years

Device support

Asynchronous serial devices operating at RS-232 logic levels

Maximum log read speed

1 MB/s

Dimensions including connectors (L x W x H)

72 mm x 16 mm x 16 mm (2.8" x 0.6" x 0.6")

Troubleshooting

The SerialGhost Module (SerialGhost Module TimeKeeper) will not work with the following hardware configurations:

  1. Synchronous serial buses
  2. Devices operating at speeds higher than 230400 bps
  3. Serial buses using logic levels different than RS-232 logic levels
  4. SPI, I2C, TWI, USB, PS/2, SATA, FireWire, etc. buses

The SerialGhost Module does not switch to flash drive mode

Please check the following:

  1. Is your device connected to USB and are you pressing the push button long enough?
  2. Does the operating system support removable USB flash disks?
  3. Have you checked the drive list?
  4. Have you tried on a different USB port?
  5. Have you checked on a different computer?

I can’t find any data after switching to flash drive mode

Please check the following:

  1. Have you powered the device from the USB port while recording?
  2. Did you properly configure the device through CONFIG.TXT?
  3. Have you actually transmitted any data over the serial bus while recording?

The SerialGhost Module always shows up as a removable drive

Check if the push button is not blocked in a pressed state.

Problems with time-stamps

Set the correct time by creating a clock configuration file TIME.TXT. Make sure you have not disabled time-stamping. Refer to the Clock configuration section for detailed instructions.

I’ve checked everything, nothing helps!

If you are still experiencing problems, please do the following:

  1. Check if the problem appears with a different baud rate and serial bus configuration.
  2. Check if the problem appears with a different serial bus driver.
  3. Check if the problem appears using a different USB port.
  4. Contact the dealer you have purchased the device from. Please supply all necessary information (hardware type, model and manufacturer, OS type and version, and a short description of the problem).

Legal disclaimer

No responsibility is taken for any damage, harm or legal actions caused by misuse of this product. The user should follow the guidelines contained in this document, otherwise no liability will be assumed. It is the user's responsibility to obey all effective laws in his/her country, which may prohibit usage of this product.