Skip to content

Edge gateway · v3.10.2

CSA STAR Registry
Level 1

Your machine data should not cost more than the machine.

One connection to each controller — PLCs, robots, drives, meters. Out the other side: OPC-UA, Modbus, Sparkplug B, SQL and REST — all at once, from one in-memory tag store, without disturbing polling. Unlimited tags, perpetual licence, ₹22,000 one-time per device.

One controller, one robot, or one PLC — same price for each, at any quantity. The incumbents meter you by tag or by driver suite, then bill 16–20% of the licence again every year. This does the connectivity job they do, priced by how many devices you actually read.

Windows and Ubuntu are the supported deployment targets, on x86-64. Docker Desktop is never required: the Windows installer provisions free Docker Engine inside WSL2, and the Debian package takes it from Docker's own apt repository. An arm64 build exists and runs, but has not been validated on a plant device.

siemens_6 · 192.168.1.6
18 tags · replay
tagtypevalue
Clock_Byteuint8151
Clock_1Hzbooltrue
Clock_2Hzboolfalse
AlwaysTRUEbooltrue
System_Byteuint84
Tag_1int3225,941
Clock_Byte · %MB1000–255

Replay of readings captured from the gateway in testing — S7 clock-memory tags from a simulated source, so the bits genuinely toggle. Not a connection to a plant.

Reads Siemens S7, Mitsubishi MELSEC, Modbus TCP, Rockwell EtherNet/IP, Omron FINS and OPC-UA. Serves OPC-UA, Sparkplug B, MQTT, PostgreSQL, MySQL, SQL Server, Modbus and REST.

Read your equipment. Serve it everywhere, at once.

The whole picture, not a list: every controller, robot and system on the intake side, the gateway's one in-memory tag store in the middle, every channel it serves out on the other — all live at the same time. Hover anything to trace its route; the legend colour-codes exactly what is released, what is early access, and what is still only written.

Filter by status
Line style also encodes status (solid / dashed / dotted). Every northbound share is live.
Gateway corePandaLogix Gateway
One in-memory tag store · unlimited tags · polling never disturbed · perpetual licence. Every share is served at once from the same tags — no per-tag or per-driver metering.
Where it lands

Those channels already reach the tools your teams run on — mostly config, no new gateway code. It streams continuously into your BI and historians, and fires alerts to your chat and on-call tools the moment a tag crosses a line or a PLC drops.

Streams into
Power BIvia the SQL logger
Grafanavia SQL, or live MQTT
Excelvia SQL (Power Query)
Ignitionvia OPC-UA / MQTT
HistoriansAVEVA PI, InfluxDB, Timescale
SAPvia OPC-UA (Plant Connectivity)
…and alerts to
Slackwebhook, on a rule
Microsoft Teamswebhook, on a rule
PagerDutyEvents API · trigger/resolve
EmailSMTP, on a rule

PandaLogix Edge Gateway compatibility, in full.

Southbound device intake — sources the gateway reads:

PLC / SCADA — status Live — released

  • Siemens S7 — S7-300/400/1200/1500, LOGO · ISO-TCP 102
  • Mitsubishi MELSEC — Q / L / iQ-R / iQ-F · SLMP 1025
  • Rockwell Logix — ControlLogix, CompactLogix, SLC, PLC-5 · EtherNet/IP 44818
  • Modbus — TCP / RTU / ASCII / serial-over-socket · 502
  • Omron FINS — CJ / CS / CP / NJ / NX
  • OPC-UA client — any conformant OPC-UA server · 4840

Robots & Cobots — status Early access — read-only

Early access · read-only by default · none hardware-signed-off. UR & Doosan verified against vendor simulators; the rest against protocol-accurate test doubles.

  • Universal Robots — e-Series & CB3 · RTDE + Dashboard
  • Doosan — M/A/H/E/P cobots · DRCF Modbus
  • ABB — IRC5 & OmniCore · Robot Web Services
  • FANUC — R-30iA/iB · controller web server
  • Yaskawa Motoman — DX / FS / YRC · High-Speed Ethernet Server
  • Kawasaki — E / F controllers · AS-language monitor
  • Mitsubishi MELFA — CR750 / CR800 · R3, or via the MELSEC PLC
  • DENSO WAVE — RC8 / RC9, COBOTTA · b-CAP
  • Techman / Omron TM — TM5–20 & S-series · Modbus + TMSVR
  • JAKA — Zu / Pro / S cobots · native TCP + Modbus
  • Epson — RC90 / RC700 · Remote Ethernet

Building / Utility / Substation — status Live — released

Released and quotable — in the shipped image and loopback-tested. None has yet answered that vendor's hardware, so they carry the same caveat as the robots: proven over the real wire, not yet against real steel.

  • BACnet/IP — building management · ASHRAE 135 Annex J · UDP 47808
  • IEC 60870-5-104 — utility & substation telemetry · TCP 2404
  • IEC 61850 — substation MMS client · polled reads + directory browse · control objects refused

Written / IT — status Written — not released

Written into the build, loopback-tested, NOT released.

  • Beckhoff ADS — TwinCAT · sum-read batching
  • SNMP — network & infrastructure · WALK discovery
  • ODBC — read a database as if it were a device
  • MQTT consumer — subscribe to a broker as a source

Gateway core: one in-memory tag store, unlimited tags, polling never disturbed, perpetual licence. Every northbound share is served at once from the same tags, with no per-tag or per-driver metering.

Northbound shares — all live

  • OPC-UA server — SCADA, MES, historians · IEC 62541 · opc.tcp 4840
  • MQTT / Sparkplug B — UNS brokers · Eclipse Tahu naming · outbound
  • SQL — PostgreSQL / MySQL / SQL Server / SQLite · insert or upsert
  • Modbus slave — legacy HMIs, panel meters, older SCADA · 5020
  • REST / JSON — apps, dashboards, scripts · pull on your schedule · 8000
  • Alerts — webhook (Slack, Teams, PagerDuty, Power BI) & email · fired on a rule
PandaLogix Edge Gateway architectureFive controller protocols — Siemens S7, Mitsubishi, Modbus TCP, Rockwell and OPC-UA — are polled into a single in-memory tag store, which simultaneously serves an OPC-UA server, Sparkplug B over MQTT, a SQL database, a Modbus slave and a REST endpoint.READSONE TAG STORESERVES — ALL AT ONCETagStoreone ISA-95 nameper tagunlimited tagsSiemens S7ISO-TCP · 102MitsubishiSLMP · 1025Modbus TCP502RockwellEtherNet/IPOPC-UA client4840OPC-UA serverSCADA, MES, historiansSparkplug BIgnition, HiveMQSQL databasePostgres, MySQL, MSSQLModbus slavePanel HMIs, metersREST / JSONDashboards, scripts
Adding an interface on the right never touches polling on the left — every share reads the same cache, so a new SCADA connection cannot slow a PLC down.
replayIllustrative Sparkplug B DDATA frames in the gateway's own wire format, sequence 10 to 15.

What has been run, and against what

Q03UDV
reads and writes, GOOD

Mitsubishi MELSEC over MC protocol 3E: D0 read live, then written by the gateway and confirmed by an independent read of the registers

Live change
45.8 → 45.800

Set on the Q03UDV in GX Works, seen by the gateway in one unbroken take

Siemens S7comm
reads and writes

Exercised over the S7comm wire against a snap7 software server — not yet against a physical S7-1500

OPC-UA
18 variables

The gateway's own address space, served from a simulated tag source — not a plant

Sparkplug B
NBIRTH / DBIRTH / DDATA

The bridge speaks Eclipse Tahu Sparkplug B, sequence numbered and correctly refusing to retain DDATA

Report by exception
changed metrics only

Each cycle sends only what moved, by alias rather than by name

One controller family has met real steel. The Mitsubishi MELSEC driver was exercised on a physical Q03UDV over MC protocol 3E frame with the simulator switched off — reads and gateway-initiated writes, each write confirmed by an independent read of the CPU's own registers. That is Q series: iQ-R and iQ-F share the driver but were not the CPU on the bench. Everything else on this strip was measured over the real wire protocol against a software server or the gateway's own tag store: the Siemens S7comm driver against a snap7 server rather than a physical S7-1500, and the OPC-UA, Sparkplug B and report-by-exception behaviour against the gateway's own tag store, which on that run was filled by a simulated device rather than by any controller. The Rockwell and Modbus drivers are implemented and unit-tested and have not been run against that vendor's hardware either — we will say so until they have been.

What people build with it

The same gateway, six different jobs. Every one of them is somebody replacing a licence, a middleware box, or a week of integration work.

OEM / machine builder

Ship a machine your customer can already integrate

Every customer wants the data in a different place: this one runs Ignition, that one wants it in SQL Server, a third has an MQTT broker and a data team.

One gateway in the panel. It reads the PLC once and serves OPC-UA, Modbus, Sparkplug B, SQL and REST at the same time. You stop writing a bespoke integration per customer, and the licence ships with the machine.

SCADA developer

Get every controller into one address space

A brownfield line is a Siemens cell next to a Mitsubishi cell next to a decade-old Modbus meter, and your SCADA speaks one of them well.

Point the gateway at all of them, then point your SCADA at the gateway's OPC-UA server. Tags arrive with ISA-95 paths, engineering units and quality already attached.

MES / IT integrator

Land tag data in the database you already run

Getting PLC values into SQL usually means a historian licence, a connector licence, and a middleware box that someone has to own.

The SQL share writes straight into PostgreSQL, MySQL, SQL Server or SQLite — insert for history, upsert for a live mirror. The table is yours; the gateway never issues DDL against it.

IIoT developer

Sparkplug B without a middleware licence

Sparkplug is what makes an MQTT host discover your tags instead of an integrator mapping them by hand — and it is usually a paid module.

Birth and death certificates, self-describing metrics, aliases and sequence numbers. Included, not an add-on. Ignition, HiveMQ and Cirrus Link consume it directly.

Cell integration

Make two controllers talk, without touching PLC code

A robot needs one bit from the press, and getting it there means a PLC programmer, a spare I/O card and a shutdown — or a script on a laptop under somebody's desk.

Pick the tag in the gateway UI, pick the device to hand it to, and the gateway keeps the two the same — one way, or both ways. It opens only the tags you approve on that screen, refuses a pairing the controller would reject, and shows the delay it actually measured.

Plant / maintenance

Know a gateway died, without driving to the plant

An edge box that stops publishing looks exactly like a line that stopped running, and you find out from the person who needed the report.

Every gateway heartbeats to the control plane with device health, tag quality, disk and buffer state. Pull logs, restart, or free space remotely from a closed list of commands.

Replacing Kepware

Keep the SCADA. Drop the connectivity bill

Kepware sits between your PLCs and your SCADA doing protocol translation, and renews every year whether or not anything changed.

This does that job — same OPC-UA interface out, same drivers in — for a one-time per-device fee. Your SCADA does not know the difference; it just connects to a different endpoint.

Not one of those six? We also write industrial software to order — protocol bridges, PLC-to-MES plumbing, operator tooling. The software layer, never the control logic.

Custom builds

See it run

Short takes from the build. Watch a few seconds here — each card says what it is showing — and the full cut is on the channel.

Full channel →
1:53

6,000 PLC tags on one gateway — measured, not estimated

6,007 tags off a Mitsubishi Q03UDV, laid out as a car-body pretreatment line. A full read of every tag takes about a second; nothing bad, nothing dropped.

Real terminal output on the bench · rendered stat frame

See full
4:41

Mitsubishi Q‑Series PLC to OPC‑UA — without an OPC server

A Q03UDV on the bench: a value written in GX Works2 lands in the gateway about three-quarters of a second later, in one uncut take.

Real hardware · uncut · localhost gateway

See full

Against Kepware, Ignition, AVEVA and WinCC

An honest table, including the rows where we lose. Cost is shown as a multiple of one PandaLogix licence.

What a plant assembles today

Four products, four renewals, four vendors when data stops.

  • Kepware driver suite≈ 7× ours + 20%/yr

    Reading one brand of PLC

  • MQTT / Sparkplugquoted separately

    Kepware IoT Gateway, or Cirrus Link on Ignition

  • DataLogger≈ 7× ours

    Getting tags into a database

  • Fleet / IIoT platformseparate subscription

    Knowing an edge box died

becomes

One service in the panel

Same interfaces out. One licence, no renewal.

  • PandaLogix Edge Gateway1× — one-time

    All four jobs, one service

OPC-UA server
Sparkplug B
SQL logging
Modbus slave
REST readout
Cloud fleet view

Not a SCADA. If you need operator screens, keep the one you have and point it at this over OPC-UA.

PandaLogix Edge Gateway compared with PTC Kepware, Ignition, AVEVA InTouch and Siemens WinCC
 PandaLogixPTC KepwareIgnitionAVEVA InTouchSiemens WinCC
Licensed byDevice count. Unlimited tagsDriver suite, per serverServer + modulesTag countPowerTag count
Entry price, relative1× — one-time, the baseline≈ 7× ours + 20%/yr≈ 4.5× ours per server, unlimited tags≈ 7× ours (1k tags)Quoted by reseller
Perpetual licenceYesPerpetual or subscriptionYesMoving to Flex subscriptionYes
Runs headless on a plant PCYes — Docker or nativeYesYesWindows onlyWindows only
Linux supportYesKepware Edge, yes. Kepware Server, noYesNoNo
OPC-UA server outIncludedIncludedModuleAdd-onIncluded
Sparkplug BIncludedAdd-onCirrus Link module, priced separatelyAdd-onLimited
SQL historian loggingIncluded — Postgres, MySQL, MSSQLDataLogger add-onHistorian suite, priced separatelyHistorian, separateSeparate
Cloud fleet managementIncludedThingWorx, separateSeparateAVEVA Connect, separateInsights Hub, separate
Full SCADA / HMI screensNo — that is not what this isNoYes, excellentYes, excellentYes
Installed base and ecosystemNewVery largeLargeVery largeVery large

“× ours” is a multiple of one PandaLogix device licence — ₹22,000, perpetual, unlimited tags. Multiples are rounded down to the nearest half, so rounding never flatters us. The published prices behind them are linked under the assumptions of the five-year estimator below.

Where the others are genuinely better

Ignition and AVEVA build SCADA screens; this does not, and will not. Kepware has driver coverage two decades deep, including protocols we have never touched. All four have an installed base, a partner network and a support organisation that a new product does not. If you need operator graphics, buy one of them — and point it at this over OPC-UA, which is the combination most plants actually want.

What it costs you over five years

Move the slider to your plant. Every figure is a multiple of what PandaLogix costs at that size, built from published list prices and sourced public estimates with each vendor’s own maintenance rate applied — the sources are linked in the assumptions.

Controllers, robots, PLCs — one licence each. Five-year cost of ownership as a multiple of ours, licence plus published maintenance.

8
devices
1 devicea line50 — a plant

Adjusting the device count updates a five-year cost comparison against PTC Kepware and Ignition below, shown as multiples of the PandaLogix cost.

PandaLogix1×

1× once + nothing a year · 8 perpetual licences at ₹22,000, and nothing after it

PTC Kepware≈ 6×

≈ 3× once + ≈ 60% a year × 4 · licence at 8 machines, then PSP 20%/yr

Ignition≈ 3.5×

≈ 3.5× once + nothing a year · one central server, unlimited tags · MQTT priced separately, not included

paid oncepaid again every year

Over five years the cheaper of the two costs ≈ 3.5× what ours does — and you still own the licence at the end of it. Kepware’s renewal alone is ≈ 60% of our entire licence, again every year, for as long as you run it. Ours is nothing.

What is in these numbers
  • “1×” is what PandaLogix costs at the device count you set: one perpetual licence per device — controller, robot or PLC — at ₹22,000 each, once. There is no volume break to apply and no maintenance is charged, so our five-year figure and our day-one figure are the same.
  • Competitor figures are published list prices and sourced public estimates, converted at ₹85/$ and ₹92/€ before the ratio is taken. Rates move and vendors discount; treat the multiples as a starting point, not a quote.
  • Multiples are rounded down to the nearest half, and fractions to the nearest 5%, so rounding can only ever understate the gap.
  • PTC does not publish Kepware list pricing. This curve interpolates three public figures — a reseller’s price for the connectivity suite, and two third-party project estimates, one for any meaningful scope and one for a 50-machine project — taking the low end of every range.
  • Sources, per vendor:
    • PTC Kepware — Mitsubishi Suite, 20%/yr maintenance. One PLC-brand driver suite, one server. A second brand is a second suite. Perpetual price includes the first year of update and support. kepware-opc.cz (FOXON)
    • PTC Kepware — DataLogger plug-in, 20%/yr maintenance. Logging tags to an ODBC database — the job our SQL share does. A separate purchase from the driver suite. kepware-opc.cz (FOXON)
    • PTC Kepware — IoT Gateway plug-in. MQTT and REST output — included in our per-device licence. Listed as a product; no public price, so it cannot be added to any total on this page. kepware-opc.cz (FOXON)
    • PTC Kepware — Typical first-year project, 20%/yr maintenance. A multi-driver deployment as budgeted by integrators. A third party's estimate, not a PTC list price — they publish none. mdcplus.fi (estimate, May 2026)
    • PTC Kepware — 50-machine project, 20%/yr maintenance. First-year licensing for the connectivity layer at plant scale. Same third-party estimate, same caveat. mdcplus.fi (estimate, May 2026)
    • Inductive Automation — Ignition platform. The base platform, unlimited tags and connections, with core drivers bundled — including Mitsubishi and Modbus. Cheaper than us past a handful of devices for connectivity alone; the suites below are what the rest of the job costs. inductiveautomation.com
    • Inductive Automation — Platform + Historian + Alarm Management. Platform $1,200 + Industrial Historian $3,500 + Alarm Management $3,200 — the nearest published equivalent to our logging and alerting. MQTT/Sparkplug is a Cirrus Link module Inductive Automation does not price on this page, so it is NOT in this figure and the real total is higher. inductiveautomation.com
    • Inductive Automation — Application Building suite. The operator-screen layer, sold as a suite on top of the platform. We do not sell this at all — it is the SCADA we tell you to keep. inductiveautomation.com
    • AVEVA (Wonderware) — InTouch Workstation. Perpetual, capped at 1,000 tags, Windows. An HMI rather than a gateway — and at this tier it costs less than eight of our licences. Said plainly because it is true. aveva.com
    • AVEVA (Wonderware) — InTouch Unlimited Professional. Perpetual, unlimited tags and clients. aveva.com
    Reviewed August 2026. None of these vendors publishes complete list pricing, and all of them discount. Get a quote before you budget against any of it — including ours.
  • Kepware sells connectivity only. Add SCADA, historian and an MQTT bridge and the comparison moves further, not closer.
  • Neither competitor figure includes the engineering time to license, install and maintain per-tag counts, which is where integrators say the real cost sits.

Pricing

₹22,000 one-time per device — one controller, one robot, or one PLC — perpetual, at any quantity. No tag metering, no renewal, no module unbundling.

Pricing, from a person

The shape of it is settled: a one-time perpetual licence at ₹22,000 per device — one controller, one robot, or one PLC — flat at any quantity, with no per-tag metering and no annual maintenance attached to a machine you have already shipped. The estimator above puts a number on that at your device count.

What it cannot price is your deployment — which devices, what you are replacing, and whether you are embedding this in a machine you ship by the hundred. That comes from us, in writing, and usually the same working day.

  • One-time, perpetual — no renewal on a shipped machine
  • Priced by devices, never by tag count
  • Every protocol and every northbound share in the licence
  • OEM-embed and volume terms if you ship this inside a product
One reply about pricing. No list, no sequence.

What it does

Everything downstream of the drivers reads from one in-memory TagStore, never from a driver. A tag has exactly one name — its ISA-95 FQID — across the MQTT topic, the OPC-UA BrowseName, the Modbus register map and the REST path. Adding a northbound protocol therefore cannot destabilise PLC polling.

Reads

Southbound drivers connect, poll, decode and scale. One connection per device, shared by everything that consumes it.

  • Siemens S7

    S7-300 / 400 / 1200 / 1500, LOGO

    ISO-TCP · 102

  • Mitsubishi MELSEC

    Q / L / iQ-R / iQ-F

    SLMP · 1025

  • Modbus/TCP

    PLCs, drives, meters, RTU gateways

    Modbus · 502

  • Rockwell Logix

    ControlLogix, CompactLogix

    EtherNet/IP · 44818

  • OPC-UA client

    Any third-party OPC-UA server

    OPC-UA · 4840

Serves

Northbound shares publish the same poll to the plant's own systems. Writes are default-deny, permitted per tag and per share.

  • OPC-UA server

    SCADA, MES, historians

    opc.tcp · 4840

  • Modbus/TCP slave

    Legacy HMIs, panel meters, older SCADA

    5020

  • SQL / ODBC logger

    Writes readings into a plant database

    ODBC

  • MQTT bridge

    A customer's own MQTT or UNS broker

    outbound

  • REST

    Custom applications, dashboards, scripts

    on port 8000

It replaces a separate tag server

A gateway that only ships data to a cloud still leaves the site needing an OPC server for its local systems. This one serves both from the same poll, so for the common SCADA/MES integration cases it takes the place of a separate Kepware (or equivalent) installation: one connection to the PLC, one tag namespace, one thing to license and patch.

Cloud telemetry survives the link going down

Telemetry to PandaCloud runs over MQTT at QoS 1 with a disk-backed store-and-forward buffer that replays oldest-first when the link returns. It is separate from the northbound shares, which keep serving the plant either way.

New · second product in the family

PandaLogix Verdict — vision inspection that lands in your PLC like any other tag

Poka-yoke and quality checks, sold as software on a camera you choose. Pick the job from a library of twelve applications, connect a camera, draw the inspection area on your own live picture, show it good parts — it is judging within the hour.

And because it is built on this gateway, every verdict is twelve tags in the tag store: your SCADA, MES and historian read inspection results over OPC-UA, Modbus, Sparkplug B, SQL or REST exactly the way they read everything else on this page. No vision vendor's island, no second integration.

Your camera
from a ₹500 webcam

Presence and variant checks run on a USB webcam or a phone camera. Defects and gauging want a ₹5,000 global-shutter board camera. The feasibility calculator tells you which — before you buy anything.

Teaching
~40 good parts

Show it good parts; it calculates its own threshold and predicts its false-reject rate. You never have to supply a defective example to start, and it stays in shadow until it has earned the reject output.

The verdict
milliseconds, on a wire

The reject pulse leaves on a digital output before anything is stored or published. The data path — pictures, records, drift monitoring — never sits between the camera and the cylinder.

Every reject
photographed

Each NG stores the frame with the suspect region marked, so an operator can hold the part next to the picture. Corrections feed back as labels. Drift monitoring says when the light has aged — before the false rejects start.

Verdict is in early access, running on pilot benches now. The full page lays out the three engines, what it checks, how to evaluate it today, and exactly what has and has not been validated.

Download and verify

Every build is published with its SHA-256. This gateway goes onto plant equipment, so check the digest before you run the file — the command for each platform is under its downloads.

Pick the machine you are installing on.

v3.10.2

Machine

Windows PC

Plant PC or server, 64-bit Windows 10 build 19041 or newer.

Build

Online installer

PandaLogixEdgeGateway-3.10.2-Setup.exe

v3.10.2x64

The normal Windows install. Runs the gateway as a container and pulls its image during setup.

Download258 KB

SHA-256

63f45e9666befc07bce5fb2948e3057861862accbcc59bd9bd2481618f6a969e

  • Provisions Docker Engine inside WSL2 when the machine has no container runtime. Docker Desktop is never installed, and is used only if it is already there.
  • Needs internet during setup: the WSL2 core, the Ubuntu image and Docker Engine are downloaded from Microsoft and Docker.
  • Requires administrator rights, 64-bit Windows 10 build 19041 or newer, and virtualisation enabled in firmware.
  • The .exe is unsigned, so SmartScreen warns before it runs.

Before you install on Windows PC

  • Needs administrator rights and hardware virtualisation enabled in firmware.
  • With no container runtime present, setup provisions Docker Engine inside WSL2. Docker Desktop is used if already installed, but is never installed for you.

Verify what you downloaded

Run this in Command Prompt from the folder you downloaded into, then compare the digest it prints with the one on the card above. Comparison is case-insensitive. If they differ, delete the file — do not install it.

certutil -hashfile "PandaLogixEdgeGateway-3.10.2-Setup.exe" SHA256

What happens after you install

The gateway runs and serves the plant on its own. Activation is what connects it to this console.

  1. 1Run the installer

    It provisions a container runtime if the machine has none, writes the configuration, starts the gateway and verifies that it answers before reporting success. Nothing mutable is written beside the code.

  2. 2Open the gateway's own UI

    It serves its UI on port 8000 — browse to http://<gateway-host>:8000/. It answers without a password, the way a panel HMI does, so before the box goes onto a routed network turn on Settings → Local API access → Require the local API token. That screen mints the token for you.

  3. 3Issue an activation token here

    Create an account on this console — it is free and takes a minute — add your organisation, then open its Activation tokens tab and issue one. A trial token costs nothing, runs for seven days and covers two controllers. The plaintext is shown exactly once; only its digest is stored.

  4. 4Paste it into the gateway

    Settings → Activate. The gateway exchanges the token for a session token and broker credentials, adopts the ISA-95 hierarchy for the site, and starts heartbeating. It appears in the console within a minute.

Choosing a deployment path

The container is the right answer on most machines and the wrong one on some. A container cannot be placed on a physical Windows NIC — network_mode: host inside WSL2 means the host of the virtual machine, not the Windows box.

Which install path suits which machine
The machineInstall path
Windows PC that polls PLCs over a routed networkWindows installer
Windows PC serving OPC-UA or Modbus to clients that route to its LAN addressWindows installer, with the advertised host set
Windows PC dual-homed onto an isolated OT VLAN, or a PLC that must reach the gateway at a fixed address on that VLANNative Windows serviceNot the container
Ubuntu or Debian server on the plant networkDebian package, on a machine that already has a container runtime
A laptop for development, a demo, or a proof of conceptmacOS package — not a plant deployment target

The native Windows service is not one of the installers on this page. It is the PyInstaller build plus NSSM, installed with deploy\windows\install-service.ps1 from the release archive. Ask us for it if that is the machine you have.

Stated plainly

  • Windows and Ubuntu on x86-64, and the Raspberry Pi and NVIDIA Jetson on arm64, are the supported deployment targets. The boards take one package between them — the same arm64 build, because that is what they both run.
  • macOS is a development and demonstration host. It is not a plant deployment target: the .pkg is unsigned, the container cannot sit on a physical OT NIC, and because Colima is a per-user VM the gateway cannot start there before somebody logs in.
  • Docker Desktop is never required and never installed. The Windows installer provisions free Docker Engine inside WSL2, and uses an existing Docker Desktop only when one is already on the machine.
  • The Debian package needs a container runtime already present — dpkg holds the apt lock while it configures itself, so it cannot install one. The install script it ships, /opt/pandalogix-gateway/install.sh, provisions free Docker Engine from Docker's own apt repository. On macOS the installer provisions Colima — Apache 2.0, no GUI, no subscription.
  • A site dual-homed onto an isolated OT VLAN needs the native-service path, not the container.

Ready to activate?

Activation tokens are issued from the operator console: create the organisation, lay out its ISA-95 hierarchy, then issue a token for the gateway. The plaintext is shown once and never stored.