What is the NSC System?
Networked Shared Control – a distributed architecture for autonomous automation
NSC (Networked Shared Control) is a distributed automation system designed for real-time control across a low-power, peer-to-peer network. Originally developed for industrial and building automation, it enables multiple embedded devices to collaborate without a central controller.

Each NSC node runs a lightweight cooperative multitasking operating system and can independently execute event-driven logic, communicate with peers, and respond to stimuli from the environment. Logic is defined using an intermediate interpreted language generated by a visual development environment.

System Architecture
- Network: Devices are interconnected over a physical RS485 bus using SFPB (Simple Field Bus Protocol), a minimal, efficient, peer-to-peer protocol with no master-slave relationship.
- Nodes: Each node (controller unit) can support:
- Up to 256 logic inputs
- Up to 256 logic outputs
- Analog inputs, one-wire interfaces, and serial peripherals
- Special inputs: encoder readers for motor control, fast interrupt-driven inputs, etc.
- Communication: All nodes are equal — any node can initiate communication with another at any time. The system supports up to 126 addressable devices per bus segment.
- Logic: Code runs in an event-driven model — no polling loops. Devices react to input changes, output transitions, timeouts, or remote events.
Remark: While the protocol allows for up to 256 I/O, the available devices can handle less than 16 inputs and up to 16 outputs both physical and virtual.
Program and Execution
Each NSC device executes a program compiled into an intermediate representation. This code is interpreted by the runtime within the embedded operating system.
Unlike traditional PLCs that rely on cyclic scans, NSC devices run logic only when triggered by events. This improves responsiveness and efficiency in distributed systems.

Note: Devices programmed with the NSC OS and AVR-GCC have a firmware compiled into a native machine representation. See also Advanced Development.
Cooperative Behavior
Thanks to its peer-based communication model, devices can collaborate naturally. Interactions between inputs, outputs, timers, and functions can span across nodes, and are synchronized via automatically generated RPCs (Remote Procedure Calls).
Developers don’t need to handle the communication layer manually — the system abstracts away messaging and synchronization.

Designing with MaticStudio
Logic is visually defined in MaticStudio, the official IDE for NSC. Projects can include multiple devices and logic links between them. Developers can configure events such as input change, timer expiration, or button press, and assign responses such as toggling outputs or invoking remote functions.
The system is modular and extensible through Virtual Components, which are distributed as COB files. These provide advanced logic and optional UI components for SCADA integration.
👉 Learn more about MaticStudio
Example Applications
- Distributed process automation
- Building control systems
- Remote input/output coordination
- Energy management and smart metering
Advanced Development: NSC AppWizard & SDK
For advanced users and embedded developers seeking low-level control over firmware, the NSC system includes an optional toolchain composed of the NSC AppWizard and a full Software Development Kit (SDK).
The NSC AppWizard allows project-wide configuration of a distributed system composed of multiple devices. Developers can:
- Define the full device network and their assigned roles
- Select which OS features and logic modules to include per device
- Declare custom fast events and interrupt-driven handlers
- Define named RPC interfaces across the network
- Design local display screens for devices with graphical interfaces
Once configured, the AppWizard generates separate C and header file sets for each device in the project, pre-filled with event tables, RPC stubs, and initialization code. Developers can then implement custom behavior directly by editing the generated files.
The SDK includes the full NSC OS source code and is compatible with AVR-GCC toolchains, allowing complete customization and firmware compilation outside of MaticStudio.
This approach is ideal for advanced users who need tight hardware integration, real-time optimizations, or access to interrupt-level routines beyond the scope of the graphical IDE.
👉 Learn more about the NSC OS SDK for AVR-GCC and AppWizard