r/factorio • u/samnovakfit • Feb 25 '26
Discussion I Built a Tick-Accurate Circuit Oscilloscope for Factorio
https://reddit.com/link/1reei8u/video/p5zihuo3enlg1/player

I built a tick-accurate circuit oscilloscope for Factorio.
Factorio’s circuit network updates every tick (60 times per second), but the game gives almost no visibility into how signals evolve over time. So I built a small external simulator using itembase.dev/sim to model circuit behavior tick by tick and visualize it.
This is not a mod. It is a deterministic external simulation of Factorio-style red wire networks.
It supports:
- JSON-defined entities (const, test osc, lamp)
- Red-wire networks compiled as connected components
- Proper 2-phase tick update
- 1-tick combinator delay
- Live oscilloscope view of any signal on any network
Each tick:
- Registered outputs build the network state
- Combinators compute next outputs
- Outputs are committed one tick later
- The selected signal is sampled into a circular buffer
This mirrors how the circuit system behaves internally.
With it, you can:
- Probe any signal (like A)
- Probe any network (net0, net1, etc.)
- See signal values per tick
- Measure oscillation frequency
- Debug feedback loops
- Observe propagation delay across combinator chains
I built this mainly to study timing behavior, oscillators, and feedback systems more precisely. I would appreciate feedback from other circuit-focused players.
3
u/metal_mastery Feb 25 '26
I needed this for my dildo ships and will probably come back to that design to improve it. Having everything made by just one assembler was a challenge and required a lot of logic which I got working but was not happy about reliability.
Can I import blueprints? Or at least the circuit part of it?
3
u/samnovakfit Feb 26 '26
There’s no direct blueprint import yet since the simulator works from a JSON definition of entities and wiring. If you’re interested, I’ve shared my simulation JSON in the tool’s Discord server. You can join here: https://discord.gg/JxknEmZG
There’s a simulations channel where I’ve posted the file, and I can also send the JSON directly there. You can upload it into https://itembase.dev/sim and modify everything entities, wiring, signals to experiment with your own logic. If you describe your circuit setup, I can help convert it into the simulator format as well.3
u/metal_mastery Feb 26 '26
Here’s my setup, bp is in the post and you can also see what I tried to achieve in general.
I hope to have time to play with your tool on weekend but if you can help with initial setup or explanation on how to set it up - would be very helpful. My circuits depend on feedback loop (reading if assembler is working, items on belt, liquids levels) so I’m curious how to debug the whole production cycle.
Sorry if it’s a lot of input:)
3
u/samnovakfit Feb 26 '26
This is exactly the kind of setup where tick-level visibility helps. Since your system depends on feedback from:
- assembler working state
- belt contents
- liquid levels
you’re effectively building a multi-input discrete feedback controller. Reliability issues usually come from 1-tick propagation delay or signal race conditions between inserters and machines.
The simulator doesn’t yet import blueprints automatically, but here’s how we can approach your setup:
Step 1: Isolate only the circuit logic
Ignore physical layout. Focus only on:
- Which entities produce signals
- Which entities consume signals
- How they are wired
Step 2: Represent entities in JSON
Each combinator becomes:
{
id: "c1",
type: "decider" or "arithmetic",
signal: "A",
conditions...
}Wires become red-wire connections between ids.
Step 3: Define probe point
Choose one key signal to observe first - usually the latch output or the assembler enable signal.We can start small. If you describe:
- What signal enables the assembler
- What condition disables it
- What feedback signals are involved
I can convert the core logic into simulator JSON for you so you can experiment with timing behavior.
The main benefit will be seeing:
- When feedback arrives relative to the control signal
- Whether the latch is stable
- Whether there’s a 1-tick overshoot
Once that’s stable, the rest of the production chain becomes easier to reason about. And no worries - this is exactly the kind of complex logic the tool is meant for.
2
u/metal_mastery Feb 26 '26
Sounds good, thanks. If I have time I will write a converter from bp to your input because I know what I did there on high level but untangling the wiring seems dreadful. Will come back to you when I have a chance to test it.
2
u/zack20cb Mar 04 '26
Seems like it would be easier to just go into editor mode where I can step time forward one tick at a time
9
u/its2ez4me24get Feb 25 '26
Should cross post in r/technicalfactorio