Get QUBIQ running on your own machine
One binary, no runtime to install, no licence key needed to start. Connect it to your own equipment and judge it directly.
QUBIQ 1.0.8
Draw your own symbols in 2D and 3D and bind every part to a tag, a historian that records quality and keeps up at 50,000 tags, AI dashboards out of beta, and a project message bus.
| Operating system | CPU | Package | Size | Checksum | Download |
|---|---|---|---|---|---|
| Windows | x86-64 | WindowsQUBIQ-1.0.8.zip | 295 MB | 7c650b5d86… | Download |
Three steps to a live tag
- 01
Install and open
Run the installer, then open http://localhost:8182. No key, no account, no activation call.
- 02
Add a connection
Point it at an OPC UA endpoint or MQTT broker — or use the built-in simulator if you are on a laptop.
- 03
Watch a value move
Browse the namespace, drag a tag onto a trend, and you have a working system. Everything else is refinement.
Release notes
Every release, what changed, and the checksums to verify it.
v1.0.8LatestDraw your own symbols in 2D and 3D and bind every part to a tag, a historian that records quality and keeps up at 50,000 tags, AI dashboards out of beta, and a project message bus.58 changes
Draw your own symbols in 2D and 3D and bind every part to a tag, a historian that records quality and keeps up at 50,000 tags, AI dashboards out of beta, and a project message bus.
What's new
- Symbol Editor — import an SVG from any drawing tool or draw one from scratch with pen, shapes, text, gradient fills and Union / Subtract / Intersect / Exclude, then name its parts and give it parameters, rules and states. Every placed copy binds those parameters to tags
- Symbol rules — a part can fill to a level, change colour, spin, blink or show moving flow arrows from a live value, and a symbol can have as many states as you need (open/closed, off/on/fault)
- Named ports — the ends of a line snap to a symbol's nozzles or terminals and stay attached when the symbol moves
- Ask AI in the Symbol Editor draws a new symbol or changes the one open, including shaded 3D and perspective drawings with every shape its own part. It works in the background and tells you when it is done
- 3D symbols — import a glTF / GLB model or let Ask AI draft one, then name its parts in the 3D Symbol Editor and give it parameters and rules like a 2D symbol. Several 3D symbols can sit in one viewer as a plant
- Widgets and embedded views pinned to a part of a 3D model, following it with a leader line as the camera moves. Levels, angles and positions glide to each new value instead of jumping
- Symbols travel in view packs and project backups, and can be exported and imported as files
- Flow arrows — a line style whose arrows move only while the line is flowing, on the canvas and inside symbols. Lines can also be drawn as shaded pipes with tees, branches and curves
- AI dashboards are out of beta — ask for a dashboard in the AI widget, rearrange its tiles by hand, keep it and reopen it later. Tiles include maps, scatter and radar charts, a schedule board, KPI readouts and tables with frozen, merged and coloured columns
- An AI dashboard can show data that has no saved query — it builds a read-only query from what you asked for, limited to the data the screen is allowed to read
- The AI assistant can propose new tags, types and broker publishing for you to approve, draw a library symbol from the chat, and read gateway variables
- Project message bus — pipelines, views and scripts send and receive messages by subject, with request and reply. New Message In, Message Out and Message Reply pipeline nodes, and a Send message action in the Designer
- QR Code and Barcode widgets (Code 128, GS1-128, EAN/UPC, Data Matrix, PDF417, Aztec and more) and a QR/Barcode Scanner that reads from a camera, a handheld scanner or a photo
- History quality — every stored value keeps its quality and the device's reason, and charts shade the periods that were not Good
- Annotations on tag history — place a note on the Historian chart and everyone who opens that period sees it
- Shutdown and collector-outage markers on trends, so a gap says why it is there
- Historian statistics — time-weighted average, percent Good, total, counter increase, time on/off and number of starts, plus a tag's value at any instant, from the chart and from scripts (system.hist.getStats, system.hist.valueAt)
- Long-range trends read hourly and daily summaries, so a year of history opens as fast as a day
- Historian chart — wheel zoom and Shift+drag pan, alarm limits and alarm events on the chart, focus on a pen's alarm limits, and a raw mode that shows every stored sample exactly as stored. It also works with a screen reader
- Percent deadband and a minimum time between stored samples, per tag, and a server-side CSV export of every stored sample
- Per-tag staleness watchdog — a tag that stops updating is marked, instead of showing its last value as current
- A device clock that runs ahead raises an alarm, instead of quietly storing history in the future
- MQTT devices — store the device's own timestamp and quality, set from the binding editor for tags and UDTs, and a device's Last Will topic marks its tags Bad
- Store & Forward — pause, resume and purge each buffer, edit its limits, see its drain rate and time until full, open, export and import quarantined writes, and get alarms when a buffer needs attention. A free-disk floor freezes the buffers before the disk fills
- Replay after an outage is paced so it does not flood the target, and a historian buffer can send live values first while the backlog catches up
- Control size — one setting in Project settings → Theme sizes every field, menu, button and tab together, with a per-widget override. Buttons also get shapes, a fit mode and new variants
- QUBIQ Setup — one installer for Windows with a License Agreement, an uninstaller, the real install size, and a warning before an update stops a running QUBIQ
- A project logo on the LiveView sign-in page
- Scripting — vars.decr, Python system.hist and runOnGateway
Improvements
- The historian keeps up at 50,000 tags — values are recorded in batches, many times faster than before
- Higher throughput across the board — more tag values per second through the gateway, faster MQTT subscribe at start-up and reconnect, large OPC UA groups spread over several subscriptions, and S7 reads packed into fewer requests
- The QuestDB historian needs version 9.4.0 or later. A store below that cannot be chosen; one already in use raises a critical alert and keeps recording until you upgrade
- Averages leave Bad readings out and an "Unknown" quality counts as Bad, so a figure for the same period can differ from what 1.0.7 showed
- Field and menu widgets follow the project Control size, which is small by default. A touch-panel project should set it to medium or larger
- Integer tags draw as a line rather than stairs by default; choose Step in Settings → Historian, or per tag
- Trends draw the real cadence of a tag — no stair-steps, spikes kept, real gaps dashed — and the tooltip's min–max is a setting, off by default
- The engineering range lives on the Scaling tab and is used even when scaling is off, instead of a second copy on the History tab
- Each service shows its own name in Task Manager
- A restore or view import takes effect without a restart
- Selection handles on the Designer canvas turn with the widget
Bug fixes
- Retention could delete the hourly and daily history along with the raw data it was meant to expire
- History could lose values the buffer had already accepted when the connection to QuestDB dropped mid-write; recording now uses a delivery that confirms every row
- No more invented Good values — a tag no longer shows Good on subscribe or reconnect before the device has answered, and a Bad reading no longer makes a down connection look healthy
- A boolean tag read as false in history during a quality-only update, and a text tag's history showed a flat 0
- A failed tag lookup could switch that tag's history off
- Buffered values are written to disk every second instead of every two minutes, so a power cut loses far less
- One dead database or one slow device no longer holds up commands and reads on every other connection
- A slow OPC UA server keeps its session and subscriptions, a lost subscription is rebuilt in pieces, and a restarted OPC service resubscribes at once
- A PLC reconnect no longer floods history with Bad rows or freezes live values while it refreshes
- Every tag bound to the same MQTT topic gets its data, not only the last one subscribed, and a re-subscribed tag no longer receives every value twice
- Notifications are not sent twice on a retry, and a failed send is shown on the connection
- Revoking a session ends it
- The QuestDB connection form keeps its saved settings, and its retention fields are saved
- A widget bound to a query runs it again when its view is reopened
- A trend in a background tab loads when you switch to it, and CSV export times follow the project time zone
- Saving the AI knowledge settings no longer resets a profile's output limit
- The licence page reports a trial and its end date correctly
- The installer no longer reports a 5.6 GB install size
v1.0.7User-defined types that compute and travel between systems, drivers and broker output that stop reporting wrong values as good, and a Disable switch that actually stops a connection.46 changes
User-defined types that compute and travel between systems, drivers and broker output that stop reporting wrong values as good, and a Disable switch that actually stops a connection.
What's new
- Computed UDT members — a member can be an expression that reads its own instance, picked from a "This instance" list, so one type computes correctly in every copy of it
- Sync all — bring every out-of-date UDT instance back in line with its type in one action, with visible progress and an audit record of who ran it
- UDTs survive export and import — instances keep their type, parameters and formulas, and a preview shows what an import will create, reuse or overwrite before anything is written
- Sparkplug devices per connection — a publisher can present each connection as its own device, so a host sees your equipment rather than one device holding every tag
- Browse buttons for SNMP and Sparkplug when binding a tag, instead of typing an OID or a group/node/device/metric path from memory
- Modbus register bits — address a single bit of a holding register (HR:100.3) and write it without disturbing the other fifteen, plus a string data type and device identification on Test Connection
- Rich-text editor — the WYSIWYG widget now edits formatted text directly, with a formatting bubble over the selection and tables whose merged cells survive saving. Content is still stored as Markdown
- Scheduler — a window relative to now (now-2h, today+5d), a read-only mode for boards that report rather than take instructions, an optional no-overlap rule, a busy overlay and colour-only bars for state timelines
- Map — markers that slide to a new position or bounce on an alarm, marker shapes, a greyscale or dark map tone, and a legend you can click to filter
- Menus — each item can be hidden, reordered, disabled or given a separator. Link and colour settings moved into groups, so a menu built on an earlier version needs each item's link and colours set again
- Copy and paste a single property as JSON from a right-click menu, copy its path ready for a script, revert it to the saved value or reset it to the default
- A pipeline node shows whether its connection is up, right under the card
- AI concurrency and time limits are settings — change them from Settings and they apply on the next turn, no restart, and a combination that could not work is refused with the reason
- Backups tell you how big "include media" will be before you tick it, and the download shows its progress instead of looking hung
Improvements
- Undo survives a save — you can take back work from before you saved, and undoing past a save marks the view unsaved again
- Playbook checks become compute specialists. Every saved check is converted automatically into a draft specialist with the same inputs; write its calculation and it takes the check's place. Until then an assistant will not run it
- The AI assistant can say where a value comes from — a device, memory, or a formula it can show you — and reads memory and computed tags it used to report as having no value
- A tag's initial value is prefilled for its data type and must match it — 300 in a Byte tag is refused rather than stored as 44
- Saved query parameters — every declared parameter is required, its meaning is checked when you save, and the AI assistant is told exactly which one is missing instead of "could not be run"
- Widget toolbars fold into a More menu on a narrow widget instead of clipping or wrapping over the content — Alarm lists, File Manager, PDF viewer, Historian, rich text and Scheduler. The PDF viewer now follows your theme
- Tag pickers show deep tag names in full and scroll sideways, and a folder shows a spinner while it loads instead of looking empty
- A property bound to a query can be opened and read a page at a time, even for tens of thousands of rows
- The audit journal searches and filters every record, not just the page on screen
- The Tree widget keeps its rows through a refresh instead of blanking, and ticking a folder selects everything under it
- A Grid view scrolls by default, and a widget dropped into it lands in the cell you aimed at
- Script validation catches a misspelled or undeclared name, with the line and column, instead of reporting "Script Valid" for a script that fails every time it runs
Bug fixes
- Drivers no longer report wrong values as good — a Modbus Boolean on a holding register read true when any other bit was set, a partial TCP/UDP message was published as a value, and an S7 CPU refusal left the badge green while every tag in the group went blank
- One unresponsive device no longer stalls every other connection on the same service — S7, SNMP, EtherNet/IP and TCP devices recover independently
- Values published to an MQTT broker — a Boolean from an integer source went out as false (a running motor reported stopped), a JSON tag was unparseable, and a date could arrive as 1970
- Sparkplug sessions a compliant host can follow — no retained births, a rebirth after reconnect, a death announced on a clean shutdown, and one unencodable tag no longer costs the rest
- One publisher using at-least-once delivery no longer slows every other publisher on the machine
- A SQL query with a colon in a comment, a string or a :: cast no longer silently returns the wrong number of rows
- Disabling a connection stops it — a disabled Telegram bot kept polling and a disabled SMTP connection kept sending mail. A pipeline node using a disabled connection now fails and says so, and a connection can be created disabled
- Telegram messages that were sometimes not received, and two installations sharing a bot token fighting each other forever
- A copied tag keeps all its settings — a copy of an Admin-only tag was writable by any operator, and a copied memory tag stopped accepting writes
- Changing a tag's publish mode is saved; it used to be silently discarded. Deleting a folder also removes the computed tags beneath it, which kept running unseen
- A tag with no value yet says why — not polled, not evaluated, or no enabled binding — instead of "not found", and a pipeline's Industrial I/O node reads memory and computed tags
- A backup of any size can be restored, and a storage folder pointed at a database's own files is refused before it can be backed up, browsed or deleted
- Text in a view locked to a dark or light theme is readable — it could render dark on dark
- Exporting a single folder failed on newer installations
- A Scheduler bound to a query no longer stays on "Loading data…", and dragging a bar no longer replaces the binding with a frozen copy
- A Table bound to a query refreshes when asked, and large whole numbers no longer break the scripts that receive its rows
- A pipeline node no longer calls a retrying or unchecked connection "connected"
- Alarm history honours the time window you ask for
- A UDT connection parameter lists your connections instead of "No connections available"
- The clear button works on number and password fields
v1.0.6PLC writes audited end to end, publish-on-change that actually holds traffic back, and a licence you buy today applies without a restart.22 changes
PLC writes audited end to end, publish-on-change that actually holds traffic back, and a licence you buy today applies without a restart.
What's new
- 3D Viewer camera — orbit, pan and zoom glide instead of snapping, and a view re-aimed by a tag or an event flies there
- Problems panel — what the editor found in your script is listed and reachable, not just underlined
- Broker heartbeat — a publisher can re-send on a slow timer, so a process standing still stops looking exactly like a dead gateway
- Per-tag publish cadence — a counter, a heartbeat or a batch step keeps reporting every sample while everything around it publishes only on change
- Script Sandbox shows which approved Python modules are actually installed, instead of a missing one surfacing as a script error at runtime
- Backups carry the File Manager library, and check your filenames against the machine you are restoring onto — including the ones that would silently merge two files into one
- AI specialists can be given files, knowledge and relationships as inputs, not only tags, trends and saved queries
Improvements
- Editor text size — set it once and every script, query and stylesheet editor follows, across a reload
- Backups — media is opt-in, so a nightly backup stays small, and a file whose content arrives later is reunited with its record automatically instead of being dropped
- Publishing to a broker is one checkbox for a tag, a folder or a whole selection, with an honest third state for a folder that is only partly covered
- An operator setpoint is written ahead of scheduled PLC reads instead of queueing behind them
Bug fixes
- A licence added to a running installation reaches every part of QUBIQ — buying a module no longer needs a restart, and no longer fails with "module not licensed" after it plainly succeeded
- Publish on change only now genuinely holds back unchanged readings. It was the default and it was doing nothing for an ordinary tag, so your broker was seeing the full scan rate — and a change of quality is now published even when the value has not moved
- A fully licensed installation could be told the MQTT module was not licensed, when the page had simply failed to load
- One unreachable PLC no longer delays writes to every other PLC, or blames the worker for it
- An S7 CPU refusing a single address no longer takes the connection down and every other tag on it with it
- A PLC write is refused rather than half-applied — a tag whose size changed in a program download, an over-length S7 string, and a value that is not recognisably true or false, which used to be written as OFF
- The S7 address builder takes the data type from the tag itself, so the two can no longer disagree and decode a plausible wrong number
- A tag's Connection property shows the connection name on every protocol, not a raw identifier
- A purged project no longer leaves phantom pipelines in the statistics until the next restart
- Deleting an AI specialist removes it from the pipeline tree straight away
- A script node's timeout applies to the platform calls it makes, so a long job is no longer cut short by a shorter hidden limit
v1.0.5The Siemens and Allen-Bradley drivers ship, expression tags land, and a backup finally carries everything.5 changes
The Siemens and Allen-Bradley drivers ship, expression tags land, and a backup finally carries everything.
What's new
- Siemens S7 driver — connect to S7-300/400 and non-optimized S7-1200/1500 by absolute address
- Allen-Bradley EtherNet/IP driver — browse Logix tags, use UDT templates, and write back
- Expression tags — derived values worked out for you, and a missing input raises an error on the tag instead of quietly reading zero
- Licensing — the modules you bought are genuinely enforced, not merely hidden in the interface
Improvements
- Backup and restore — a backup carries your whole project and its uploaded files, and can be restored onto a fresh install before you commission it
v1.0.4Find out what a tag is used for before you delete it — plus faceted search and a timer node.5 changes
Find out what a tag is used for before you delete it — plus faceted search and a timer node.
What's new
- Tag usage — see what references a tag, get a warning before you delete one, and find everything nothing uses
- Pipeline timer node — six timing modes, and other pipelines can start, stop and reset it
- Telegram location messages and live tracking
Improvements
- Faceted search with tag filters, and new canvas controls
Bug fixes
- Live node status updates again after install
System requirements
Sized for a real production server, a constrained edge device and the browsers your operators actually have.
| Component | Minimum | Recommended | Notes |
|---|---|---|---|
| Server | |||
| CPU | 4 cores, x86_64 or ARM64 | 8 cores | Scale with pipeline count, not tag count. |
| Memory | 8 GB | 16 GB | Add 1 GB per 250k actively subscribed tags. |
| Storage | 50 GB SSD | 500 GB NVMe | Historian growth is roughly 1 GB per million samples after compression. |
| Operating system | Ubuntu 22.04, RHEL 9, Windows Server 2019 | Ubuntu 24.04 LTS | Also runs on Debian 12, Rocky 9 and Windows Server 2022. |
| Java / runtime | None | None | QUBIQ ships as a single static binary with no runtime dependency. |
| Edge | |||
| CPU | 2 cores ARM64 or x86_64 | 4 cores | Raspberry Pi 5 and most industrial PCs qualify. |
| Memory | 512 MB | 2 GB | Buffer size during outages is the main driver. |
| Storage | 8 GB | 32 GB | Sized for store-and-forward through a multi-day outage. |
| Client | |||
| Browser | Chrome 120, Edge 120, Firefox 121, Safari 17 | Latest Chrome or Edge | No plugins, no Java, no installed client. |
| Mobile | iOS 16, Android 12 | Latest | Same screens, reflowed — there is no separate mobile app to deploy. |
Sizing guidance scales with pipeline count and history retention, not with tag count.
Stuck on the install?
Our solutions engineers do this every day and will happily screen-share for twenty minutes. There is no sales script.