Skip to content

Chapter 28 ‐ Circuit Networks

Fendi edited this page Jul 21, 2024 · 1 revision

Circuit networks introduction

Circuit network technology is an optional system that allow you to make machines change their behavior according to specific conditions that you decide. Circuit network usage is not required for building or launching rockets, but the technology provides relatively simple solutions to some of the common problems that you might run into. For example, you can set up a chest and its inserter so that the inserter works only when the chest has a certain amount of items in it. In another example, you can block a chemical plant from working when the amount of fluid in a system reaches a threshold of your choice.

Circuit networks are created by manually connecting machines using red or green circuit wires. The wires carry any number of virtual signals between machines with instant speed. Every machine in a network is able to read every signal and some machines are able to publish signals to the network. Some machines can be configured to have “enabled conditions” which dictate that the machines can run only when a particular signal in the network has a particular value or set of values.

Another aspect of circuit networks is combinators, which allow you to manipulate virtual signals so that you can use them in more sophisticated ways. Players can use combinators and design tricks to make complex circuit networks that do smart things. Some have gone as far as building entire computers out of them. This potential for depth can make the circuit network technology seem daunting, but usually you can get a lot of things done using simple networks that do not need combinators.

Factorio Access does not yet support some of the combinators but it supports most forms of reading and most forms of enabled condition setting.

To open the circuit network of a connected building you open its circuit network menu or you select it with the cursor and then you press N. Everything else can usually be managed from the building’s circuit network menu.

Wire connections

As soon as two applicable machines are connected using a red or green wire, a new circuit network is formed. Connecting a new machine to any of the network’s machines using the same wire color extends the network and adds the machine. If a different wire color is used, or a new machine is connected to another new machine, then a new and separate circuit network is formed.

The length of a circuit wire has a limit, and so electric poles can be used to extend its length. The length limit for structures that are not electric poles is about 10 tiles, while the length limit for electric poles is equal to their regular wire reach limits.

There is practically no limit to the number of machines in one network and the total number of networks.

A machine can be connected to a red network and a green network at the same time, and that will make it read from and publish to both networks at the same time.

Available behaviours

Every machine in a network can have at most one type of read behavior, which defines the signals that it can publish to the network, and some machines don’t support this at all. Meanwhile, every machine in a network can have any number of operation behaviours, which define how machines react to signals that they read, and some machines support none.

In practice, read behavior is almost always in hold mode, where the contents of machines are published to the network in perfect sync with their inventories. Also in practice, operation behavior is almost always in the form of an enabled condition, which dictates that the machine can run only when a certain signal value is at a certain threshold.

Factorio Access currently has support for most read behavior cases, and it has support for most enabled condition cases.

The full list of which behaviors are available in the game can be found on the official wiki page for circuit networks.

Read behaviours

Some machines, like chests and storage tanks, can have a read behavior set, which makes the network read the contents of the machine. Only one type of read behavior can be set at a time, and usually the only available option is “hold” mode.

In hold mode reading, a signal is for every item held in the machine is published to the network in real time as long as the item is being held. The signal’s value is equal to the item’s quantity inside the machine. The signals update in sync. If a network is reading multiple machines that contain the same item type, then their quantities are added in real time to produce the value of the item’s signal.

As an alternative to “hold” mode, inserters and belts can also be read in “pulse” mode, which sends a one tick pulse to the network for every item that enters the inserter’s hand or the belt’s surface. One tick pulses are useful for making stuff happen only for an instant, such as running an inserter only once.

Enabled conditions

Several machine including inserters, belts, pumps, and power switches can be set to operate only while the enabled condition for them is true.

The condition works like a boolean logic condition. It always has three parts: the first signal (as the decision signal), the second signal (as the reference signal) and the condition operator in between them.

The decision signal can be any virtual signal, and it is picked using the signal selector menu. The reference signal can be any virtual signal as well, but it can also just be a constant number that you type in. The condition operator is kind you can find in math equations, such as “equal to” or “greater than”.

Special signals

The circuit network system supports virtual signals that are not item signals or fluid signals. These virtual signals are often used to represent something abstract and they usually are involved in logic stuff that use combinators.

A special subset of virtual signals are the wildcard signals:

  • The “everything” signal is used in condition statements. It becomes true if every non-zero signal in the network meets the condition.
  • The “anything” signal is used in condition statements. It becomes true of any signal in the network meets the condition.
  • The “each” signal is used in arithmetic combinators only. It dictates that the arithmetic operation gets applied to every non-zero signal that is being input.

Use Cases

Some essential use cases are listed here.

  • Smart oil cracking. Storage tanks are read and fluid pumps have enabled conditions set so that heavy oil and light oil get cracked only when they are needed.
  • Efficient nuclear plants. The steam storage level at a nuclear plant is read so that the reactors get re-fueled only when the steam is low, so that the nuclear fuel is not wasted.
  • Smart output chests. Output inserters for machines read output chest contents so that they do not add more to the chests when a threshold is reached. This allows the player to avoid overproduction while also being able to use chests slots without locking them.

Other popular ideas can be found on the official wiki’s tutorial page known as the circuit network cookbook. Note that some of the instructions there may be heavily reliant on images.

Combinators

Constant combinators are used to inject any signal you want into the network manually. Signals are added using the signal selector. You can toggle a constant combinator on or off by pressing LEFT BRACKET.

Decider combinators are not supported by the mod yet but they allow setting an enabled condition. The enabled condition outputs a signal of your choice, using either the input signal’s value or a value of one.

Arithmetic combinators are not supported by the mod yet but they allow doing real time arithmetic operations on signal values, such as adding the values of two signals ir multiplying a signal value by 10.

Navigation Sidebar

Home

General

A1 - Factorio Access Unique Features

A2 - Optional preset map - Compass Valley

A3 - Demo Maps

A4 - Early Game Milestones

A5 - Compatible Other Mods

A6 - Known Bugs

A7 - Planned Features

A8 - Launcher Features and Game Setup

A9 - Ratios Cheat Sheet

A10 - About Game Sounds

A11 - Tutorial Transcript

A12 - Info for Contributors

A13 - Game Console

Non-wiki pages

Beta Changelog

Releases Page

Beta Mod Main Page, including controls

Alpha Mod Main Page, now outdated

Factorio Mod Portal Page

Wiki chapters

Chapter 1 - Gameplay basics

Chapter 2 - Resources and mining

Chapter 3 - Furnaces, mining drills, and chests

Chapter 4 - Inserters part 1: Inserter logic and burner inserters

Chapter 5 - Transport belts part 1: Segments, lanes, and other basics

Chapter 6 - Fluid handling part 1: Fluid behavior and pipes

Chapter 7 - Electricity part 1: Basics, power distribution, and steam power

Chapter 8 - Technology tree, labs, and science packs

Chapter 9 - Inserters part 2: Electric inserters

Chapter 10 - Transport belts part 2: Underground belts and splitters

Chapter 11 - Assembling machines and automated production

Chapter 12 - Factory building guidance

Chapter 13 - Fluid handling part 2: Flow rates, storage tanks, fluid wagons, pumps, and barrels

Chapter 14 - Oil processing part 1: Transporting oil, basic oil processing, and early oil products

Chapter 15 - Electricity part 2: Larger electric poles, solar power, and accumulators

Chapter 16 - Cars and trains

Chapter 17 - Modules

Chapter 18 - Oil processing part 2: Advanced oil processing and products

Chapter 19 - Landscaping and paving tiles

Chapter 20 - Worker robots part 1 - Roboports and basic services

Chapter 21 - Electricity part 3: Nuclear power

Chapter 22 - Armor equipment and guns

Chapter 23 - Death and enemies

Chapter 24 - Pollution

Chapter 25 - Worker robots part 2 - Logistics networks

Chapter 26 - Worker robots part 3 - Blueprints and Planners

Chapter 27 - Kruise Kontrol

Chapter 28 - Circuit Networks

Chapter 29 - Rocket construction and the late Game

Clone this wiki locally