Skip to content

Archipelago · the open record of a building, and what it makes possible

The building has alreadybeen engineered.Why are we engineering it again?

The controllers are programmed. The points are named. The sequences are written. The drawings exist. Then somebody opens the JACE and builds the whole thing a second time by hand. Then a third time in the supervisor. Then again in the analytics package. Each pass brings its own judgment calls, discrepancies, and drift. There has to be a better way.

First, get the complete record of the building: every backup, every controller program, every drawing, kept with a hash, a time and a name, on a server you own. Then stop re-engineering it. Open source. Runs on your side of the firewall. Read-only until you say otherwise.

  • Status today
  • Preview Atoll, the record-keeper, runs in a lab preview you can install. Not a release. Roadmap

Every building deserves a complete record. Almost none has one.

Everyone is putting software on top of buildings. Who is getting the full record of the building first?

The backups, the controller programs, the drawings, the submittals, the sequences, the commissioning reports. They exist. They are scattered across contractors' laptops, old servers and email. When something changes nobody can say what, when, or who. That is the problem under every other problem.

Atoll is the record-keeper. You install one file on a server you already have on site. It reads the BAS devices, read-only. You ask everyone who touches the building for what they should be providing anyway, and Atoll keeps every version: hashed, timestamped, attributed, and compared with the last one. Missing deliveries are visible. The contractor is accountable, and protected, by the same record.

It is free, open source, and fully functional on your network forever. Connect it to a cloud instance you also own, or to ours, only if you want to. The record is yours, exportable in open formats, at any time. And it has an API and MCP tools, so whatever you put on top of the building next starts from the truth.

What the record holds and how intake works.

RECEIPT · Home lab · 2026-10-15 08:02 delivered by J. Technician, Contractor LLC artifact backup_jace12.dist · 2.1 MB sha256 e597bcb6…c378195e expected monthly · on time compared with 2026-09-14 backup 23 setpoints changed 4 alarm extensions disabled 2 devices renamed, 1 removed still owed AHU-3 controller file · 31 days overdue kept at on this server · encrypted · exportable status illustration · intake is public code, in the next lab build

You know this work. You have done it a hundred times.

  1. Building the equipment tree for a site, folder by folder, after the controllers already know what they are.
  2. Mapping two thousand points on a job where every one of them is already named in the controller.
  3. Making the same VAV graphic again. And the AHU. And the next AHU, which is the same AHU with one more coil.
  4. Adding histories and alarms to every point that needs them, from a standard that lives in a spreadsheet.
  5. Rebuilding relationships that are already wired in the program: which AHU feeds which boxes, which sensor belongs to which coil.
  6. Redoing all of it during a migration, because the new station starts empty.
  7. Troubleshooting a unit at two in the morning from a point list, with no picture of what it is connected to.
  8. Patching the supervisor after somebody changed a program on a controller and told nobody.

None of this is the engineering. It is the paperwork after the engineering. Archipelago exists to do the paperwork.

Most of what the supervisor needs is already written down.

A controller application file lists every object the controller exposes, with its name, type, instance, units and states. A station backup is a complete description of every device, point, link, alarm and history on that supervisor, whichever brand built it. The network will tell you what is on it if you ask. The equipment schedule says what each unit serves. The drawings say where it is.

Archipelago reads those files and keeps track of where every fact came from. Every line in the model carries one of four labels: observed on a live device, imported from a file, inferred by a rule with a confidence, or confirmed by a person. When Archipelago is not sure, it asks you. It never fills in a blank and calls it a fact.

We made repetitive engineering faster. We did not eliminate it.

Templates. Relativized graphics. Macros. Bulk imports. Copy and paste. Building automation has plenty of tools for doing the same work faster. We are still doing the same work.

Take eighty VAV boxes. You can duplicate a good template across the whole job. Now account for the ones that are cooling-only, the ones with hot water reheat, the ones with electric stages, the fan-powered boxes, the exhaust interlocks, the different minimum and maximum airflows, the different setpoints, and the three AHUs that serve them. Make sure every point maps to the right box, every graphic shows the equipment that is actually there, and every alarm and history matches the application that is actually running. Then keep all of that in sync when something changes.

The engineering already describes most of those differences. The controller knows its own airflow limits. The program knows whether there is a heating valve. The schedule knows which AHU serves the box. So why are we recreating them by hand, one representation at a time?

Archipelago is built around a different idea: understand each piece of equipment first, then generate everything around it.

Not eighty copies of a graphic. Eighty equipment instances, each with its own verified parameters and relationships, rendered through one shared system that knows what makes them different. The heating valve appears because the box has one. The electric stages appear only where they exist. The AHU relationship lives in the model, so changing it changes the navigation, the graphic and the dependencies, not a file. When a value or a relationship cannot be established from the engineering, Archipelago says so and asks, instead of inheriting it from the box next door.

Less duplication. Fewer places to drift. More time for commissioning, troubleshooting, and making the building work.

Stop copying the engineering. Start using it. See the concept walkthrough.

Left: eighty copied graphics that drift apart as they are maintained independently. Right: one shared template rendering eighty equipment instances, each holding its own verified parameters and relationships.TODAY · 80 COPIESVAV_214.pxVAV_101.px× reheat graphic on a cooling-only box× min airflow copied from the box next door× AHU changed in the program, not in the file× interlock missing on the one box that has itARCHIPELAGO · 80 INSTANCES, 1 TEMPLATEVAV templatedefined onceequipment viewsrendered per instanceVAV-214hw reheat · 180–900 cfm · served by AHU-3 · zone 214imported · imported · inferred 0.85 · confirmedVAV-215cooling only · 150–650 cfm · served by AHU-3 · zone 215imported · imported · inferred 0.85 · importedVAV-216electric 2 stages · 200–700 cfm · AHU ? · zone 216imported · imported · question · imported… 77 more. Change the AHU on one row: its view, its navigation and its dependencies follow. No file edited.
Fig. Copies versus instances. The template is shared. The differences are data, with a source for each.

Keep the BAS you know and love. Add the record beside it.

Install the brands your technicians know inside and out. If the site runs Niagara, or speaks even basic BACnet/IP, Archipelago runs beside it on a small Linux box, a VM or a laptop. It keeps track of the building, and it shows you a better way to run one.

  1. Import

    Drop in what you have: a controller application file, a station backup, an equipment schedule, a register map. Nothing leaves the machine you did it on.

    Planned
  2. Connect

    Point it at the network. BACnet/IP first, read-only, using the addresses it found in your files. Modbus next. For a Niagara station there is an optional module that exports what the station knows, outbound, with no write path.

    Planned
  3. Review

    Walk the generated model. Answer the questions it could not settle. Confirm, reject, correct. Then use the result: navigation, point tables, equipment views, alarms, histories, and an API if you want one.

    Planned

No supervisor license required. No cloud required. No change to the controller programs. No new front end forced on the owner. Every source, with its status.

The interface is the system. The graphic shows the truth, and the record proves it.

In most buildings the graphics are a second drawing of the system. Somebody made them by hand, and everybody trusts them until the day they are wrong.

In Archipelago the interface is generated from the model, and the model is the record. Sure, there is still some abstraction. You know what we mean. But every value on a graphic traces back to a fact with a label: observed on the device, imported from a file, inferred by a rule, or confirmed by a person. When the graphic shows a reheat valve, it is because the record-keeper says the box has one, and you can see why.

Planned

Security is a product rule, not a page in the footer.

Eight promises in plain words. Each links to the page that says what is implemented, what is planned, and how to check it yourself.

What exists today, and what does not.

We would rather you know exactly where this stands than be impressed by a screenshot.

Preview

Atoll, lab preview

One file per platform on GitHub: first-run setup, read a BACnet lab, import a station backup and controller files, correlate, keep the record encrypted on disk. Unsigned, untested on Linux and Windows, built for testing the feel of it. Not a release.

concept

The walkthrough

Eighty synthetic VAV boxes showing the equipment-instance idea, questions with evidence, and a view that follows a relationship change. Try it.

public

The design

Architecture, the provenance model, the connector contract, the security promises with their tests, and the repository where the code will land. Documentation.

Every badge on this site comes from one data file. Available means a release exists. Preview means public code or a lab pre-release. Planned means design only. A synthetic demonstration is labeled as one, everywhere it appears.

From controllers to a generated BAS, in four stages.

01

Controllers, programmed

Niagara stations, Metasys and Distech controllers, BACnet and Modbus devices. Nothing changes here.

02

Engineering, imported

Station backups, controller application files, schedules, register maps. Read on your machine. Never uploaded unless you say so.

03

A model, with provenance

Sites, equipment, points, relationships. Each fact observed, imported, inferred, or confirmed by a person, and labeled as such.

04

A BAS, generated

Navigation, point tables, equipment views, alarms, histories, an API, and tools an assistant can use. Useful with or without AI.

Where each stage stands on the roadmap.

For the people who want the plumbing.

Everything the web interface will show is also available through a documented API and a set of read-only MCP tools, so a script, a reporting job or an assistant can ask "which boxes does AHU-5 feed" and get the same answer, with the same provenance, under the same permissions as the person who asked. That is a feature of the model being right. It is not the product. API and MCP design · Architecture.

Who is behind this.

Archipelago was started by ThirtyK, a controls engineering shop that got tired of building the same building twice, and of never being handed the record of the one it was asked to fix. It is a new, independent project with its own code, written from scratch on synthetic fixtures, and it sits beside the systems contractors already install rather than replacing them.

It is an independent open-source project. It is not produced, endorsed or supported by Tridium, Honeywell, Johnson Controls, Distech Controls or any other manufacturer. How to get involved.

Archipelago should make great controls technicians more effective, not ask them to become software engineers.