Warehouse Control System · open source · Apache 2.0

The layer between the warehouse system and the machines, with the code in the open.

Sun Tech WCS is an open source Warehouse Control System: it receives missions from the WMS, computes the routes and coordinates the dialogue with PLCs, shuttles, sorters and AGVs through drivers. The code is public on GitHub under the Apache License 2.0, and it can work with Kazam or with the WMS you already use.

Version 0.1.0 of 16 October 2026, the first after the public preview: you build it from source. It used to be called Kazam Control. Covered by Logistica Efficiente (in Italian).

Sun Tech WCS at a glance

What it is
The software layer between the WMS and the machines: it handles missions and computes routes.
Licence
Apache 2.0, with the code public on GitHub. Anyone can download, use, modify and redistribute the code, in commercial projects too, under the terms of the Apache License 2.0.
Version
0.1.0, distributed as source: you build it from the repository, there are no NuGet packages yet.
Which WMS
Kazam WMS or another WMS that implements the public HTTP contract.
Verified environment
Windows 11 x64 with .NET 10. The other environments mentioned in the documentation are not verified yet.
Real machines
The trial uses the loopback driver and does not move real machines. Connecting a plant takes a driver, a safety analysis, integration, testing and commissioning.
Three layers, three questions

Each one reasons about something different

The WMS: goods

Codes, lots, orders, stock. The WMS is the one that chooses the storage cell.

The WCS: routes

Which devices to go through to reach the cell, which one is free, what to do if one stops half-way.

The machines: movement

Start a motor, read a photocell. They reach the WCS through a driver.

Sun Tech WCS between the WMS and the machines The WMS sits above the WCS and the two talk only over HTTP: the WCS asks for work and reports facts. ERP, MES and screens use the WCS API. Below the WCS sits the driver, which drives the machines. WMS codes, lots, orders, stock ERP · MES screens, other systems Sun Tech WCS plant model, missions, routes, device states HTTP · 43 routes the WCS asks for work and reports facts API /api/v1 · events Driver public contract · loopback to try it Sun Tech's driver is proprietary and separate The machines: conveyors, stacker cranes, shuttles… Sun Tech WCS between the WMS and the machines The WMS sits above the WCS and the two talk only over HTTP: the WCS asks for work and reports facts. ERP, MES and screens use the WCS API. Below the WCS sits the driver, which drives the machines. WMS codes, lots, orders, stock HTTP · 43 routes the WCS asks for work and reports facts Sun Tech WCS plant model, missions, routes, device states API /api/v1 · events ERP · MES screens, other systems Driver public contract · loopback to try it Sun Tech's driver is proprietary and separate The machines: conveyors, stacker cranes, shuttles…
The WCS never writes to the WMS database and the WMS never writes to the WCS one: they talk only over HTTP, and it is the WCS that asks for work, once a second.
Two guiding ideas

A plant you draw, a route that is recomputed

The plant is a drawing, not a program

The points of the plant and the arrows that connect them are data, not code. The engine builds a graph from them and computes routes on it: adding a conveyor means drawing an arrow in the editor, not writing another case in the program.

The route is recomputed at every hop

A mission says "this load unit must get there", not through which stops. At every step the engine looks at the situation of the moment and picks the next hop, so a device that fails half-way does not leave the pallet holding a plan that has gone stale.

The repository's sample plant Infeed bay IN01, conveyors CV01 and CV02, stacker crane SC01 linked to rack ST01, then conveyor CV03 and outfeed bay OUT01. Highlighted: the path of a storing mission towards the rack. IN01 infeed bay CV01 conveyor CV02 conveyor SC01 stacker crane CV03 conveyor OUT01 outfeed bay ST01 rack, cells Storing mission: destination, a cell of ST01. At every hop the WCS picks only the next device, looking at the situation of the moment. The repository's sample plant Infeed bay IN01, conveyors CV01 and CV02, stacker crane SC01 linked to rack ST01, then conveyor CV03 and outfeed bay OUT01. Highlighted: the path of a storing mission towards the rack. IN01 infeed bay CV01 conveyor CV02 conveyor SC01 stacker crane CV03 conveyor OUT01 outfeed bay ST01 rack, cells Storing mission: destination, a cell of ST01. At every hop the WCS picks only the next device, looking at the situation of the moment.
The sample plant in the repository, the one you try it on in about fifteen minutes.
In the field

Born inside a WMS, proven on plants

Sun Tech declares that the engine has run in 50 plants, with up to 386 machines at the same time. This is Sun Tech's statement, not a reproducible benchmark or a guaranteed limit: for your plant, the measure comes from a capacity test, described in the Performance and sizing page of the documentation.

The WCS was born inside Kazam WMS and was extracted into a repository of its own: no project in the repository depends on Kazam's code, and any WMS that serves the routes of the contract can sit on the other side.

Open source, and what stays with Sun Tech

What is public and what is not

Public, Apache 2.0

The engine, the host that runs it with the API and the events, the web editor, the contracts towards the WMS and towards the machines, the .NET client, the test (loopback) driver, the sample WMS and the sample plant.

Not in the repository

Sun Tech's own driver for the machines and its protocol, which are proprietary and available from Sun Tech. The old desktop editor and the internal migration tools stay out too.

And Kazam WMS?

Two products, two licences: Kazam WMS is a source-available platform, with the source accessible to customers and partners under agreement; Sun Tech WCS is an open source Warehouse Control System under the Apache License 2.0. The WCS can work with Kazam or with another WMS that implements the public HTTP contract.

Before connecting a machine

What the WCS is not

  • It is not a functional-safety system. It does not replace safety PLCs, emergency stops, light curtains or interlocks, and machine safety must not depend on it. What that means →
  • It is not 1.0 yet. Until version 1.0 a minor update can break compatibility, and there are no NuGet packages yet: you build it from source.
  • It does not drive machines on its own. Out of the box every device uses the test driver: real machines need a driver, Sun Tech's or one you write on the public contract.
How to adopt it

Two ways

You integrate it

Clone the repository, try it in about fifteen minutes on one Windows machine with the sample WMS, then write the adapter in front of your WMS and pick the driver for your machines. The documentation is in the repository.

Get started →

With Sun Tech

Sun Tech provides its own driver for the machines, the integration with your WMS or with Kazam WMS, and the commissioning of the plant. Terms and timing are agreed project by project.

Talk to an engineer →

FAQ

The first questions people ask

Do I need Kazam WMS to use Sun Tech WCS?
No. The WCS talks to any WMS that serves the HTTP routes of its contract, directly or through an adapter. Kazam WMS is one option, not a requirement.
Who chooses the storage cell?
The WMS. The WCS knows how to get there: which devices to go through and in which order, recomputing the way at every hop.
Does it drive my machines as soon as it is installed?
No. Every device uses the test driver, which simulates the machines without moving anything. Real machines need a driver: Sun Tech's, which is proprietary, or one you write on the public contract.
Which systems does it run on?
It is tested on 64-bit Windows 11 with .NET 10, and runs as a Windows service. Windows Server, Linux and ARM64 are expected to work but not verified, and there is no official platform matrix yet.
What was Kazam Control?
The name this site has used for the WCS so far. It is the same product: today it is called Sun Tech WCS and its code is public.
Next step

Look at the code, or tell us about the plant

The repository holds the engine, the editor, the contracts and a sample that runs without machines. If you already have a plant or a WMS to connect, send us the context: an engineer answers.