stationeers.de Mod workshop · Dominik1199
DE Sign in
  1. Home
  2. Stationeers wiki
  3. IC10
  4. IC10: your first chip

IC10

IC10: your first chip

Build the housing, insert the chip, lay cable, upload the code – the way to your first running IC10 program, with the limits and traps you should know from day one.

Checked with 0.2.6428.27798 Updated Oct 20, 2026

An IC10 chip reads values, does math and switches devices – twice per second, even while you are out mining ore. This page is about the hardware: which parts you need, how they connect and what a first program looks like that actually runs. The language itself is taught step by step in the IC10 academy.

What you need

PartJobmade in
Kit (IC Housing)builds the IC Housing or the IC Housing (Compact)Electronics Printer
Integrated Circuit (IC10)the chip that holds the programElectronics Printer
IC Editor Motherboardturns a computer into a code editorElectronics Printer
Computer (Modern)the screen where you write the codekit from the Electronics Printer
Cable Coilties everything into one network–

According to the game data all of these only need the first printer tier. The portable Laptop is the exception: it requires tier two.

How it all connects

The normal IC housing mounts on a wall or floor and has two ports: one for data and one for power. It draws 50 W. The compact housing also draws 50 W but has only one shared port for power and data. Both are built from the same kit.

A cable network carries power and data at the same time. Everything attached to the same cables is a device on the data network as far as the chip is concerned. The Gas Sensor shows this nicely: it only has a data port and still gets its 1 W through it.

The chip goes into the housing's only slot. After that the program reaches devices in two ways:

  • through the six pins d0 to d5, which you assign to a device on the housing,
  • by name with lbn and sbn – without a pin limit, see IC10: control a device by name.

Inside the program the housing itself is called db. Its Setting appears on the small display of the housing – the simplest way to make a value visible.

Devices behind a controller

The output of an Area Power Control only carries power. Devices behind it sit in a separate network that the chip on the main network cannot see.

Uploading the code

Put the IC Editor Motherboard into the computer's motherboard slot. The computer has its own slot for it, plus two slots for data disks, and needs 200 W. Computer and housing must be on the same data network. On the screen you pick the housing, type or paste the code and transfer it to the chip.

On the move the laptop does the job: it has one slot each for a chip, a battery and a motherboard.

It is more comfortable to write in the IC10 editor on this site and copy the finished code into the game. The lesson editor workflow shows the details. Since July 2026 the game also shows an error in the chip's tooltip.

The hard limits

LimitValue
Lines per program128
Characters per line90
Characters in total4096
Free registersr0 to r15 (plus sp = r16, ra = r17)
Instructions per tick128
Tick length0.5 s
Stack512 entries

Everything counts: blank lines, comments, labels, define and alias lines.

A quick calculation shows which limit hits you first: 4096 characters divided by 128 lines is an average of 32 characters per line. A line like lbn pressure SENSOR NSENSOR Pressure 0 # storage pressure already has 59. With detailed comments the character limit is almost always the one that binds, not the line count.

Three traps that catch everyone once

1. The program must never run to its end. Once the program counter is past the last line, the chip stays stopped for good – without an error message. Only taking the chip out and putting it back restarts it. That is why every program ends with a jump back, for example j start.

2. Every loop needs yield. Without yield the chip runs exactly 128 instructions, stops in the middle of the loop and carries on there in the next tick. There is no error. But device values only change once per tick – the loop reads the same value 128 times. yield waits exactly one tick.

3. define only takes real numbers. Allowed are numbers, constants such as pi or nan, names such as Color.Red and anything that becomes a number when the script is saved (HASH("…"), STR("…")). Another define as the value is not allowed – the game reports no error, the value simply becomes NaN:

define TARGET 101      # good: a number
define NSTORE HASH("Storage Sensor")  # good: becomes a number on save

If you need the same value twice, write the number out twice. A define with another define behind it gives NaN, and NaN breaks every comparison after it.

Your first program: showing the temperature

A gas sensor named “Lab Sensor” measures the air. The housing shows the temperature in degrees Celsius. If the sensor is missing, −999 appears as a warning.

# Show a gas sensor's temperature on the housing
define SENSOR -1252983604      # Gas Sensor (StructureGasSensor)
define NSENSOR HASH("Lab Sensor")  # name in game
define CELSIUSOFFSET 273.15    # kelvin minus 273.15 = degrees Celsius
define MISSING -999            # shown when no sensor is found
alias kelvin r0
alias celsius r1

start:
yield
lbn kelvin SENSOR NSENSOR Temperature 0
bnan kelvin nosensor           # NaN: wrong name or sensor gone
sub celsius kelvin CELSIUSOFFSET
s db Setting celsius           # show on the housing
j start

nosensor:
s db Setting MISSING
j start

How the program works:

  1. lbn reads the temperature of all gas sensors with this name, batch mode 0 takes the average.
  2. If there is no such sensor, mode 0 returns NaN. bnan then jumps to nosensor.
  3. sub converts: if the sensor measures 293.15 K, then after 293.15 − 273.15 the housing shows 20.
  4. Both paths end with j start, and yield sits at the top of the loop.
Plain letters in names

You give the name with the Labeller. Keep it to plain ASCII letters, without accents or umlauts. The code is converted to ASCII when it is transferred, and with one changed letter the hash no longer matches the name in the game.

When it does not run

  • The display stays dark: does the housing have power? Is the chip inserted? Is the housing switched on (On)?
  • The chip stops with an error: Error and LineNumber of the housing show whether and where it stalls. If the housing is not on any data network at all, every by-name instruction stops the chip. The same happens when a device does not know a logic type – which values a device has is listed on its page under “IC10 and logic”.
  • −999 appears: the name does not match. Check for typos, spaces and special letters.
  • The value never changes: without j start the chip has stopped at the end of the program.

Next steps

Esc
↑ ↓ selectEnter open/ opens search anywhere