🚦 NTCIP Traffic Controller Simulator

NEMA Dual-Ring · 8-Phase · NTCIP 1202 · Powered by JavaScript · Built by Jimmy Hubbard
NTCIP 1202
Active Phases
Φ1+Φ5
NB/SB Left Turn
Φ2+Φ6
NB/SB Through
Φ3+Φ7
EB/WB Left Turn
Φ4+Φ8
EB/WB Through
⏱ Timing Plan
🔄 Ring/Barrier
📡 NTCIP Objects
📖 Learn NTCIP
Test Presets
Simulation Controls
Cycle Progress
0.0s 120s cycle
Cycle Settings
120 sec
3 sec
Phase Splits (drag to adjust — values are % of green time)
PhaseMovementSplit %Green (s)Distribution
NEMA Dual-Ring Controller
Ring 1
Φ1
NB Left
Φ2
NB/SB Thru
Φ3
EB Left
Φ4
EB/WB Thru
Ring 2
Φ5
SB Left
Φ6
NB/SB Thru
Φ7
WB Left
Φ8
EB/WB Thru
Active (green)
Yellow clearance
Barrier (ring sync point)
How Concurrent Phases Work

Both rings run simultaneously. Phases on the same side of the barrier can run at the same time — Φ1 with Φ5, Φ2 with Φ6, etc. Both rings must cross the barrier together before EW phases begin.


This is why you can have NB left turns (Φ1) running at the same time as SB left turns (Φ5) — they're concurrent phases in different rings, same side of the barrier.


Current sequence: Φ1+Φ5 → Φ2+Φ6 ⟂ Φ3+Φ7 → Φ4+Φ8

Live NTCIP 1202 MIB Objects

These are the real SNMP OIDs a traffic management center would query on a physical controller. Values update live with the simulation.

Controller Status
1.3.6.1.4.1.1206.4.2.1.1.2.0maxPatterns
1
1.3.6.1.4.1.1206.4.2.1.1.4.0cycleLength (ds)
1200
1.3.6.1.4.1.1206.4.2.1.1.6.0controllerMode
coordinated(6)
1.3.6.1.4.1.1206.4.2.1.1.20.0cycleElapsed (ds)
0
Phase Status (phaseStatusGroupByte)
1.3.6.1.4.1.1206.4.2.1.2.1.1.3.1Φ1 phaseGreen
0
1.3.6.1.4.1.1206.4.2.1.2.1.1.3.2Φ2 phaseGreen
0
1.3.6.1.4.1.1206.4.2.1.2.1.1.3.3Φ3 phaseGreen
0
1.3.6.1.4.1.1206.4.2.1.2.1.1.3.4Φ4 phaseGreen
0
1.3.6.1.4.1.1206.4.2.1.2.1.1.5.1Φ1 phaseYellow
0
1.3.6.1.4.1.1206.4.2.1.2.1.1.5.2Φ2 phaseYellow
0
1.3.6.1.4.1.1206.4.2.1.2.1.1.5.3Φ3 phaseYellow
0
1.3.6.1.4.1.1206.4.2.1.2.1.1.5.4Φ4 phaseYellow
0
Phase Timing Parameters
1.3.6.1.4.1.1206.4.2.1.2.2.1.2.1Φ1 phaseWalk (ds)
70
1.3.6.1.4.1.1206.4.2.1.2.2.1.3.1Φ1 phaseMinGreen (ds)
50
1.3.6.1.4.1.1206.4.2.1.2.2.1.6.1Φ1 phaseMaxGreen1 (ds)
200
1.3.6.1.4.1.1206.4.2.1.2.2.1.8.1Φ1 phaseYellowChange (ds)
30
1.3.6.1.4.1.1206.4.2.1.2.2.1.3.2Φ2 phaseMinGreen (ds)
70
1.3.6.1.4.1.1206.4.2.1.2.2.1.6.2Φ2 phaseMaxGreen1 (ds)
350
Unit Status
1.3.6.1.4.1.1206.4.2.1.1.14.0unitAlarmStatus1
noAlarm(0)
1.3.6.1.4.1.1206.4.2.1.1.16.0unitFlashStatus
notInFlash(0)
1.3.6.1.4.1.1206.4.2.1.1.21.0unitPattern
1

🚦 What is NTCIP?

NTCIP stands for National Transportation Communications for ITS Protocol — a family of standards that lets traffic management systems from different manufacturers talk to each other over a common language.

Think of it like TCP/IP for traffic signals. A traffic management center (TMC) can connect to any NTCIP-compliant controller — Siemens, Econolite, Intelight, PEEK — and issue the same commands regardless of brand.

📡 NTCIP uses SNMP (Simple Network Management Protocol) as its transport — the same protocol used to manage routers and switches. Each data object on the controller has an OID (Object Identifier), a dotted-number address like 1.3.6.1.4.1.1206.4.2.1.1.4.0.

🔄 The NEMA Dual-Ring Controller

The most common traffic controller model in the US is the NEMA dual-ring, 8-phase controller. It has two concurrent "rings," each processing up to 4 phases, with a barrier that forces both rings to sync before crossing.

Ring 1 handles: Φ1 (NB Left) → Φ2 (NB/SB Through) | Φ3 (EB Left) → Φ4 (EB/WB Through)

Ring 2 handles: Φ5 (SB Left) → Φ6 (NB/SB Through) | Φ7 (WB Left) → Φ8 (EB/WB Through)

⟂ The barrier (red line in the Ring/Barrier tab) is a synchronization point. Both rings must finish their current phases before either ring can cross the barrier. This ensures conflicting movements never get a green at the same time.

Timing Plans & Splits

A timing plan defines how long each phase gets during a cycle. The cycle length is the total time for all phases to complete once. Splits are how that time is divided between phases — usually expressed as a percentage or seconds.

Try adjusting cycle length and splits in the Timing Plan tab. The intersection updates in real time.

🛣 A controller can store multiple timing plans — one for AM peak, PM peak, overnight, weekend, etc. — and switch between them on a schedule or based on detector data.

📡 Reading NTCIP OIDs

Every piece of data on an NTCIP controller has an OID. The NTCIP Objects tab shows live values from this simulation using real OIDs from the NTCIP 1202 standard (Traffic Signal Controller).

OID breakdown: 1.3.6.1.4.1.1206.4.2.1.2.2.1.6.2

1206 = NTCIP enterprise ID  ·  1 = TSC MIB  ·  6 = phaseMaxGreen1  ·  2 = phase number

📌 Values in the NTCIP 1202 MIB are often in deciseconds (1/10 of a second). So cycleLength = 1200 means a 120-second cycle.

🏛 NTCIP Standards Stack

NTCIP 1202 — Traffic Signal Controller (TSC) — what this simulator implements

NTCIP 1203 — Dynamic Message Signs (DMS)

NTCIP 1204 — Environmental Sensor Stations

NTCIP 1205 — Closed Circuit Television (CCTV)

NTCIP 2306 — XML Message Encoding for NTCIP (application layer)

📚 All NTCIP standards are free to download at ntcip.org — maintained jointly by AASHTO, ITE, and NEMA.