You are here:
SCOM Serial Communication Protocol C API library

This page contains documentation about the SCOM Serial Communication Protocol and it's C API library.


The SCOM real-time serial communication protocol for embedded systems is a software component that runs on a microcontroller or PC host system. The SCOM protocol is distributed as a specification and a source code library of portable C functions (compatible with C99 standard). The code can be compiled using various tools available on the market, including royalty-free toolchains. The code can be built for multiple hardware architectures including microcontrollers and PC, through the use of HALFRED Hardware Abstraction Layer.

The SCOM communication protocol has been designed to provide easy data exchange mechanism for low power industrial embedded systems. It runs on any full duplex cable communication links using in ex. UART or RS-232 (and derivatives) physical layer. It has been optimized to be low on resources and provide characteristics suitable for real time critical systems.

The protocol defines general packet formats and rules that both ends of the communication link must comply with. The contents of the packets are mostly user-defined, there are just few strict packet definitions, that must be supported by all SCOM-compatible devices.

The protocol guarantees high data integrity, without additional user hand-shake mechanisms. Data sent on one end is always received on the other side or an error is reported. No data is ever lost without notice.

The SCOM communication protocol has the following features and limitations

  • Automatic packet acknowledgment and retransmission
  • Packet priorities
  • Broken link detection
  • Adjustable packet buffering capabilities and timeouts
  • Packet fragmentation support
  • Integrates with an (real-time) operating system but does not require it
  • The protocol is limited to point to point communication

This C API library for SCOM provides a set of convenient tools to use the SCOM protocol. The following topics describe the SCOM C API functionality:

Go to Top