IC10 programming is what sets Stationeers apart from every other survival game. Instead of placing pre-built logic, you write actual code — a MIPS-like assembly language — onto an Integrated Circuit (IC10) chip to automate airlocks, solar panels, atmospherics and more. This guide covers the hardware, the language fundamentals, and three working scripts you can use today.
What you need to run IC10 code
- IC Housing — the device that holds the chip and connects to your data network.
- Integrated Circuit (IC10) — the chip your code is written onto.
- Labeller — used to write/edit code, or edit directly from the IC editor screen.
- Data cable network — connects the IC Housing to the devices it controls (sensors, panels, pumps).
Place the housing, connect it to your devices with data cable, insert the chip, and open the editor to start writing.
IC10 language basics
- Registers
r0–r15hold numbers you work with;spandraare special registers for the stack and return address. - Device pins
d0–d5are the devices physically connected to the housing;dbrefers to the housing itself. - Load & store —
l r0 d0 Temperaturereads a value from a device into a register;s d0 On 1writes a value to a device. Batch versionslb/sbread/write to all devices of a type at once. - Math —
add,sub,mul,div,modoperate on registers. - Branching —
j labeljumps;bgt,blt,beq,sltbranch or set conditionally. - yield — pauses the chip until the next tick. Every loop needs a
yieldor the chip errors out by running too many lines per tick.
Aliases and defines make code readable: alias sensor d0 lets you write sensor instead of d0, and define Target 50 names a constant.
Example 1: A tick counter (clock)
The “hello world” of IC10 — it counts up each tick and teaches the loop + yield pattern every script uses.
alias display d0
move r0 0
loop:
add r0 r0 1
s display Setting r0
yield
j loop
Stationeers ticks twice per second, so r0 climbs by 2 each second — divide by 2 for seconds, by 120 for minutes to drive any in-game timer.
Example 2: Atmospherics thermostat
Keep a room at a target pressure by switching an active vent on and off. Connect a Gas Sensor to d0 and an Active Vent to d1.
alias sensor d0
alias vent d1
define target 100 # target pressure in kPa
loop:
l r0 sensor Pressure
slt r1 r0 target # r1 = 1 if pressure below target
s vent On r1 # vent on when we need more pressure
yield
j loop
Swap the device and LogicType and the same pattern controls heaters, coolers, filtration and greenhouses.
Tips for writing IC10
- Always end your loop with
yieldthenj loop— forgettingyieldis the #1 cause of “too many operations” errors. - Use
aliasanddefinegenerously; you have a 128-line limit, so readable code is easier to debug. - Find device LogicTypes (Pressure, Temperature, On, Setting, Open…) in the in-game Stationpedia.
- Batch instructions (
lb/sb) let one chip control many identical devices via their type hash.
For advanced automation like a solar tracker and battery-aware power, see our advanced IC10 guide. Stationeers hosting from $8.50/month, 30% off with XGAMEON.







