Plan DDC controller I/O and wiring for HVAC BAS, including AI, AO, DI, DO, universal inputs, safeties, and panel landing checks.
Guide map
In this guide
Use the section map when you need to jump to the answer without breaking the reading flow.
Summary
If you need the short answer first:
A good DDC wiring plan starts by matching each field signal to the correct controller point type before anyone lands wires in the panel.
The practical default is:
- use universal inputs for signals that may be voltage, current, resistive temperature, or dry-contact status
- use dedicated binary inputs when you need clean dry-contact status or pulse counting
- use analog outputs only when the actuator input type and load impedance match the controller's output mode
- use binary outputs only when you understand whether the controller is giving you a relay contact, a triac output, or only a switched 24 VAC path
- keep controller power and digital output power separate from low-voltage signal wiring unless the controller documentation explicitly says otherwise
In field work, most DDC wiring problems are not caused by "bad programming." They come from one of four mistakes:
- the wrong point type was selected for the real device signal
- the controller common or power source was misunderstood
- an output load or input mode exceeded what the controller terminal supports
- the drawings never made clear which points were dry contact, powered contact, analog voltage, analog current, or pulse
That is why this article is best used during controller selection, panel design, field wiring, startup, and troubleshooting.
Quick Answer Table
| Question | Short answer |
|---|---|
| What is the first wiring decision? | Identify the real field signal type before you count or land controller points. |
| What gets mixed up most often? | Universal input vs binary input, dry contact vs powered contact, and relay vs triac output. |
| What wiring mistake causes the most rework? | Treating every binary point like a generic contact and every output like a dry relay. |
| What should be checked before panel release? | Signal type, commons, external power needs, load impedance, and whether the point must remain local during network loss. |
Why This Matters In A BAS Project
GSA's BAS standard says good control sequence documentation should clearly dictate the BAS points required to execute the sequence. The same standard also expects BAS controllers to maintain schedules, setpoints, and normal control during network loss and to support direct-connect troubleshooting.
That means I/O wiring is not just a drafting detail. It decides whether the controller can:
- see the correct field signal
- command the device correctly
- keep operating safely when the head end is unavailable
- be diagnosed locally during startup or communications failure
If the signal type is wrong, the sequence is correct only on paper.
The Point-Type Decision That Should Happen First
Before you look at terminal labels, ask four questions for every point:
- Is the field device giving the controller a dry contact, voltage, current, resistance, or pulse?
- Does the controller need to source power to the device, or is the device already powered?
- Does the output need to modulate, switch, or provide an isolated relay contact?
- Does this point need to keep working locally if the BAS network or supervisor is down?
Those questions usually resolve the first-pass point type faster than staring at the controller datasheet.
The DDC I/O Types That Matter Most
Universal Inputs (UI)
Modern DDC controllers often make universal inputs the default landing point for field signals because they can usually be configured for multiple modes.
Johnson Controls' current CG-series controller documentation is a good example of what "universal" normally means in BAS hardware:
0-10 VDC4-20 mA0-600k ohmbinary dry contact
That same documentation also shows a practical detail that matters in panel work:
- the universal input common is shared across universal inputs
- that common is isolated from other commons
- active 3-wire devices may be powered from the controller's
+15 VDCterminal, but only within the controller's current limit
Use universal inputs when:
- the signal may change between voltage and current during design refinement
- the point is a thermistor, RTD-compatible resistive input, or a standard analog transmitter
- you want one controller family to cover mixed HVAC applications without changing hardware
Do not assume universal inputs mean:
- every controller supports every sensor type the same way
- a wet contact is acceptable just because a dry contact is
- current mode works without any hardware jumper or software mode change
Johnson Controls explicitly notes that the current-loop jumper must be enabled for UI current mode. That is the kind of detail that gets missed when a point list says only "AI."
Binary Inputs (BI)
Dedicated binary inputs are usually a better choice than universal inputs when the point is strictly status or pulse based.
The same Johnson Controls documentation shows dedicated BI points used for:
- maintained dry contacts
- pulse counter / accumulator mode
Siemens' TC Compact controller documentation makes a similar distinction:
- digital inputs are dry contact / potential-free
- pulse accumulator functions are supported separately from analog sensing
That is an important field lesson:
If the real device is providing a dry contact or pulse, a dedicated BI is often the cleaner landing point, even if a UI could theoretically read it.
Use binary inputs when:
- you need clean equipment status
- you need proof signals, safeties, or interlocks
- you need pulse accumulation from a meter or counter
- the point is clearly on/off and should not be reinterpreted later as analog
Common mistake
Treating every "status" point as if it can accept an external powered signal. Many BAS controllers expect dry contact sensing on BI/UI points and provide their own pull-up or sensing voltage. If the field diagram does not clarify this, startup becomes guesswork.
Analog Outputs (AO)
Analog outputs are where DDC wiring mistakes get expensive because the device often appears to respond, just not correctly.
From the Johnson Controls CG-series documentation:
- voltage AO mode is
0-10 VDC - voltage mode requires an external load of
1,000 ohm or more - current AO mode requires a load between
0 and 300 ohm
Siemens also shows that some controller families provide:
0-10 Vdcanalog outputs- in some universal-output models,
0-20 mA/4-20 mAcapability
Use analog outputs when:
- you are modulating a damper actuator
- you are driving a valve actuator that accepts voltage or current reference
- you are sending a speed reference or reset signal to another device
Check before wiring:
- what exact signal the device expects:
0-10 V,2-10 V,4-20 mA, or floating - what impedance or input burden the device presents
- whether the controller output mode matches that load
- whether the output common is shared or isolated from other commons
Common mistake
Assuming the problem is control tuning when the actuator is actually seeing the wrong signal family or the wrong load condition.
Binary Outputs (BO)
Binary outputs are where many BAS teams assume "output" means "dry relay." That is often wrong.
In the Johnson Controls CG-series guide:
- configurable outputs in BO mode are
24 VAC triac - dedicated binary outputs are also
24 VAC triac - they require an external power source
- maximum current is
0.5 A - minimum load current is
40 mA
That means a triac BO is not automatically a universal dry contact. It is a switched path for a specific powered load profile.
Siemens' TC Compact controller gives a different example:
- digital outputs are Class 1 relay outputs on some models
This is exactly why field assumptions fail:
- one controller family may give you a relay contact
- another may give you a triac output
- the drawings may simply say "BO"
Use binary outputs when:
- you are enabling a fan starter, pump starter, or relay
- you are commanding a two-position actuator or valve
- you are sending enable signals to packaged equipment
But verify whether the BO is:
- relay
- triac
- transistor / solid-state
- internally powered
- externally powered
If that is unclear, stop and confirm before wiring.
A Practical Mapping Table
| Field device / signal | Usually preferred point type | What to verify before landing |
|---|---|---|
| 10k thermistor | UI | Sensor type supported by controller, wire length, shared common |
| 0-10 V pressure transmitter | UI | Voltage range, shielded cable, common reference |
| 4-20 mA flow transmitter | UI or AI | Current-mode jumper / configuration, loop continuity, burden |
| Fan proof dry contact | BI | Dry-contact expectation, normal state, panel reference |
| HOA feedback | BI or UI-as-binary | Whether the point is dry or externally powered |
| Modulating valve actuator | AO | Voltage vs current input, impedance, common reference |
| VFD enable relay | BO | Relay vs triac, external power source, current draw |
| Pulse output from meter | BI pulse input | Minimum pulse width, counter support, dry contact vs transistor output |
The Wiring Boundaries That Save The Most Rework
1. Separate power classes and signal wiring
Siemens' controller documentation makes a useful electrical distinction:
- AC power and digital outputs are treated as NEC Class 1 power limited
- communication and the remaining I/O are treated as NEC Class 2
That is a practical reminder for BAS panel work:
Do not treat controller power, output power, and signal wiring as one generic low-voltage bundle.
Even if everything looks like "24 volt controls," the wiring class, noise sensitivity, and protection expectations are different.
2. Do not tie commons together casually
Johnson Controls documents multiple commons that are intentionally isolated:
- UI commons
- BI commons
- AO commons
- BO commons
Some are isolated from one another; some share limited relationships depending on output mode.
Field lesson:
If you merge commons in the panel because they "look similar," you can create unstable reads, output problems, or troubleshooting confusion later.
3. Do not assume the controller powers the field device
Some controllers provide limited auxiliary power for active inputs, but that does not mean every connected transmitter, actuator, or relay can be powered directly from the controller.
Check:
- controller auxiliary supply voltage
- total available current
- total field-device draw
- whether the design actually intends dedicated field power
4. Dry contact and powered contact are not interchangeable
A digital status point can be one of several things:
- dry contact
- sourced 24 VAC
- sourced 24 VDC
- open collector / transistor pulse
The terminal label alone rarely tells the whole story. The sequence, panel drawings, and equipment submittal must agree.
Step-By-Step Wiring Workflow
Step 1: Start from the sequence and point list
Do not start with terminal labels.
Start by listing:
- what must be sensed
- what must be commanded
- what must be proven
- what must alarm
- what must remain local during network loss
Step 2: Assign signal family to each point
For every point, decide:
- analog voltage
- analog current
- resistive temperature
- dry contact
- pulse
- modulating output
- switched output
Only after that should you map to UI, BI, AO, BO, or configurable points.
Step 3: Check controller electrical limits
Before finalizing the panel:
- confirm current-mode jumpers or software modes
- confirm minimum / maximum output load
- confirm pulse limits
- confirm auxiliary power capacity
- confirm whether each output needs external power
Step 4: Check commons and wiring class
Mark on the drawing:
- which commons are shared
- which commons are isolated
- which conductors are signal-only
- which conductors are carrying output power
Step 5: Check serviceability
Because GSA expects local control and direct-connect service capability during communication loss, ask:
- can a technician still prove these points locally?
- are terminal references readable?
- are difficult points clearly named?
- will a future service person understand whether this is dry contact, powered contact, or analog?
Common Mistakes
| Mistake | Why it causes trouble |
|---|---|
| Calling every analog sensor "AI" without naming the actual signal family | You cannot wire correctly from the point list alone. |
| Using BO as if it were always a dry relay | Triac outputs and relay outputs are not interchangeable. |
| Ignoring controller output load requirements | The actuator or target device may behave unpredictably even though wiring looks correct. |
| Forgetting current-mode jumpers or point mode configuration | A 4-20 mA circuit can fail even when wiring polarity is correct. |
| Combining commons because they look electrically similar | Isolation assumptions in the controller design get broken. |
| Using controller auxiliary power without checking total draw | Field devices may brown out or create unstable readings. |
| Mixing control power and signal wiring without a clear class boundary | Noise, miswiring, and code issues show up later in startup. |
Field Checklist
- Confirm each field point is labeled by actual signal type, not just by BAS object type.
- Confirm every digital status point is identified as dry contact or externally powered.
- Confirm every analog output matches the actuator's required signal and load range.
- Confirm BO type is documented as relay, triac, or other solid-state output.
- Confirm external power requirements are shown wherever the controller does not source the load.
- Confirm commons are documented and not arbitrarily tied together in the panel.
- Confirm signal wiring and power wiring are separated appropriately for the controller family.
- Confirm controller local operation and direct-connect troubleshooting are still practical if the BAS network is down.
Frequently Asked Questions
Is a universal input always better than a dedicated binary input?
No. A universal input is more flexible, but a dedicated BI is often the better choice for clean status points, proof signals, and pulse counting.
Can I wire a wet contact into any DDC binary point?
No. Many BAS controllers expect dry contact sensing on BI or UI-as-binary terminals. Always confirm whether the controller is supplying its own sensing voltage or expects an external powered signal.
Why does a 0-10 V actuator sometimes behave badly even when the controller shows the right value?
Because the field issue may be electrical, not logical. Common causes are the wrong signal type, wrong common reference, excessive load, or confusion between voltage and current output mode.
Are all binary outputs suitable for starter or relay coils?
No. Some BOs are relay contacts; others are triac or solid-state outputs with specific current and voltage requirements. The controller hardware type matters.
What should I read after this article?
Go next to DDC I/O List Design Guide if you are still turning sequence intent into hardware counts, or to DDC Controller Selection Guide if you are comparing actual controller families and capacity.
Related Next Steps
- Read DDC I/O List Design Guide to convert sequence intent into real controller and panel counts
- Read DDC Controller Selection Guide if you are choosing the hardware family before panel release
- Read What Is a DDC Controller? if the BAS architectural boundary between controller, gateway, and server is still unclear
- Review the Atlas DDC-36IO Plant Controller if you want to compare actual point mix against available controller hardware
- Review the Atlas AHU Control Panel if the next step is panel landing strategy and packaged control architecture