/ COSMOS CORE

Free. Open-source.
Flight-proven.

COSMOS Core is the de facto standard for command, control, and test of real hardware — from CubeSats and ground stations to drones, test benches, and full constellations. The same engine the primes use to prototype. Free, forever.

Satellites
Drones
Sensors
Robotics
Home Automation
Cameras
Solar Arrays
Power Supplies
Lights
Assembly Lines
Satellites
Drones
Sensors
Robotics
Home Automation
Cameras
Solar Arrays
Power Supplies
Lights
Assembly Lines
/ WHAT'S IN THE BOX

Everything you need to talk
to real hardware.

Six capabilities that ship in the open-source release. No tiers, no feature flags, no asterisks.

01

Hardware integration

Test equipment, flight computers, simulators, cameras, antennas, robotics. Serial, TCP, UDP, HTTP, MQTT, CCSDS — and any custom protocol you can describe.

02

Telemetry decom & dashboards

Decommutate at line rate. Build mission consoles in minutes. Limits, derived items, custom widgets, all live.

03

Script Runner

Author procedures in Ruby or Python with a real step debugger, breakpoints, and a live telemetry view. Run them headless in CI when you're done.

04

Test Runner

Group scripts into suites. Parameterize, repeat, and gate on telemetry. Reports drop out the other side — the same ones programs hand to certifiers.

05

Logging & replay

Every packet, every command, every operator action. Replay any minute of any test against the same screens that flew it.

06

Plugins & App Store

Fakesat, power distribution, drones, space weather, demo missions — one click to install. Build your own with the plugin SDK.

5K+
Installs
0
License keys
10+
Years in production
Docker
Runs anywhere
shell / quickstart
Localhost
$ git clone https://github.com/OpenC3/cosmos-project
$ cd cosmos
$ ./openc3.sh start

→ pulling images ......................... ok
→ starting redis / minio / traefik ....... ok
→ COSMOS up at http://localhost:2900

cosmos> target load INST
→ INST loaded · 12 packets · 47 commands

cosmos> cmd("INST COLLECT with TYPE NORMAL, DURATION 1.0")
→ sent · 2026-06-18T22:14:07Z · acked in 38ms
/ QUICKSTART

From clone to first command
in under five minutes.

Docker on a laptop is enough. The same containers run on a developer workstation, an air-gapped lab box, or a CI runner — without code changes.

/ PROTOCOLS & TARGETS

If it talks, COSMOS talks to it.

Every COSMOS target is a small adapter on top of a transport. Use the built-ins, or describe your own bytes-on-the-wire in a few dozen lines.

/ SUPPORTED TRANSPORTS
  • Serial
    RS-232 · RS-422 · RS-485
  • TCP
    Client + server
  • UDP
    Unicast · multicast
  • HTTP
    REST + streaming
  • MQTT
    Brokered telemetry
  • CCSDS
    TC / TM framing
  • Custom
    Write a Ruby/Python interface
COSMOS operations console
/ SCREENS & DASHBOARDS

Mission consoles built in minutes.

Telemetry Viewer renders limits, plots, value tables, indicators, and canvas widgets out of the box. Bind any widget to any item and you have a console. Need something the built-ins don’t cover? Ship a custom React widget through the plugin SDK and it shows up in the palette like everything else.

  • · Telemetry Viewer
  • · Command Sender
  • · Limits Monitor
  • · Data Extractor
  • · Packet Viewer
  • · Custom widgets
/ SCRIPTING

Procedures
that read like prose.

Script Runner is what makes COSMOS the test bench engineers actually use. Calls map 1:1 to commands and telemetry, so a procedure stays legible to the systems engineer who wrote it.

  • Ruby and Python — pick per script, mix per program
  • Step debugger with breakpoints, watches, and live telemetry
  • Test Runner suites with parameterization and pass/fail gates
  • Headless execution for CI, regression runs, and overnight soaks
  • Procedures versioned in git like the rest of your code
script_runner / collect.py
Running · step 12 / 24
# collect.py — INST instrument calibration
cmd("INST COLLECT with TYPE NORMAL, DURATION 1.0")
wait_check("INST HEALTH_STATUS COLLECTS == 1", 5)

for temp in range(0, 40, 5):
    cmd(f"INST SETTEMP with TEMP {temp}")
    wait_check(f"INST PARAMS TEMP == {temp}", 10)
    check_tolerance("INST ADCS NOISE", expected=0.0, tolerance=0.05)

puts "calibration complete · 8 samples logged"
/ PLUGINS & APP STORE

A real ecosystem, not a sample folder.

Core ships with demo targets and simulators you can wire up in an afternoon, plus the plugin SDK every Enterprise integration is built on.

PluginCategoryStatus
Fakesat
Simulator
Bundled
Power distribution
Demo target
Bundled
Drone
Demo target
Bundled
Space weather
Data feed
Bundled
Plugin SDK
Toolkit
GA
Build your own
Custom
Docs
/ WHERE CORE ENDS

The honest line between Core and Enterprise.

Core is enough for an entire I&T campaign. Enterprise is what programs adopt when many people, many environments, and many missions hit the same install.

COSMOS
Core(Open Source)
Command & Control
Command & telemetry processing
Script Runner (Ruby + Python)
Packet logging & replay
Plugin SDK + demo targets
Single-server deployment
Enterprise Scale
User accounts & RBAC
Kubernetes & horizontal scale
Multi-environment scopes
Calendar & Autonomic
Enterprise plugin library (CFDP, CCSDS, ground stations)
Support & Licensing
Direct developer supportCommunity
LicenseBuilder's License
COSMOSEnterprise
Command & Control
Command & telemetry processing
Script Runner (Ruby + Python)
Packet logging & replay
Plugin SDK + demo targets
Single-server deployment
Enterprise Scale
User accounts & RBAC
Kubernetes & horizontal scale
Multi-environment scopes
Calendar & Autonomic
Enterprise plugin library (CFDP, CCSDS, ground stations)
Support & Licensing
Direct developer support40 hrs
LicenseCommercial
/ FAQ

The questions we get on every intro call.

Is COSMOS Core really free?+
Yes. COSMOS Core is open source under the OpenC3 Builder's License with no feature gates, no seat limits, and no license keys. Clone it, run it, ship with it. Programs that need a commercial license, multi-user RBAC, Kubernetes scale, or direct developer support move to Enterprise.
Do I need Docker?+
Docker (or Podman) is the supported install path and what the docs assume. It’s what makes a developer laptop, a lab box, and a CI runner behave the same. Bare-metal installs are possible but not the path most teams choose.
Can I use it commercially?+
Yes — the OpenC3 Builder's License permits commercial use. However, the license does not permit hosting or distributing COSMOS commercially; if that doesn’t fit your program’s legal posture, Enterprise ships under a commercial license instead.
How is Core different from Enterprise?+
Core is the engine: a single-user, single-server deployment with the full command and telemetry stack. Enterprise adds multi-user accounts, RBAC, multi-environment scopes, Kubernetes scale, the enterprise plugin library (CFDP, CCSDS, ground stations), Calendar + Autonomic, and 40 hours of direct developer support. The compare table above spells out the full delta.
Where do I get help?+
GitHub Issues are the front door for Core. The docs at docs.openc3.com cover installation, target definitions, scripting, and the plugin SDK. Programs that need guaranteed turnaround, named engineers, or roadmap influence subscribe to Enterprise.
Will my Core configs work in Enterprise?+
Yes. Packet definitions, limits, screens, scripts, and procedures move forward unchanged. The configs that proved the system in the lab are the configs running it on orbit.
/ NEXT STEP

Clone it. Run it.
Send your first command tonight.

OpenC3 Builder's License. No license keys, no seat counts, no sales call. Just a git clone away.