BACnet device instance numbering and MS/TP addressing

By Bassirou Thiam, building automation engineer · Updated

Every BACnet device needs a device instance unique across the whole internetwork, between 0 and 4,194,302. On an MS/TP trunk, each device also needs a MAC address unique on that trunk: 0 to 127 for masters. Each BACnet network gets its own network number, usually set in the routers.

Device instance: the device's name on the network

  • Assignable range: 0 to 4,194,302. The value 4,194,303 is reserved as a wildcard for discovery.
  • It must be unique across the whole internetwork, not just on one trunk or one panel.
  • It does not depend on the physical address: a device can be moved to another trunk and keep its instance.
  • On a retrofit, check whether the existing front end expects a device to keep its current instance before you renumber it.

MS/TP MAC addresses and Max Master

  • Valid MAC addresses are 0 to 127 for master devices and 0 to 254 for slave devices.
  • A MAC address must be unique on its MS/TP network; two separate networks can reuse the same addresses.
  • Many specs require addresses to start at 0 and run without gaps, and Max Master to be set to the highest master address on the trunk, then updated when devices are added.
  • Every device on a trunk runs at the same baud rate.

Segment limits

RuleValueSource
Devices per RS-485 segment (without repeater)32 maxKMC AN0404A
Cable length per segmentunder 4,000 ft (1,220 m)KMC AN0404A
Practical devices per MS/TP networkabout 60, depending on trafficKMC AN0404A
Terminationend-of-line at both ends of each segmentKMC AN0404A, Siemens 23 09 00
Shieldgrounded at one end onlyKMC AN0404A, Siemens 23 09 00

Network numbers

Each BACnet network, every MS/TP trunk and the IP backbone, needs its own network number, usually configured in the routers. The default BACnet/IP UDP port is 47808.

A numbering scheme you can reuse

The standard does not impose a scheme, but a readable one saves hours at checkout. Group the numbers by building, then by trunk. One common pattern, shown here as an example:

ItemRuleExample
Network numberbuilding × 100 + trunkBuilding 1, trunk 2 → 102
MAC address0, 1, 2… on each trunk, no gaps1 to 24
Device instancenetwork number × 1000 + MAC102001 to 102024

Whatever the scheme, write it on the network riser and keep it consistent with the device schedule.

Sources

  1. Chipkin, BACnet Device Instance
  2. KMC Controls, Application Note AN0404A – Planning BACnet networks
  3. AutomatedBuildings.com, BACnet numbers for MS/TP MAC addresses, device instances and BACnet networks (Contemporary Controls, 2025)
  4. Siemens, guide specification Section 23 09 00 – Building Automation System (submittals, network, point naming)
  5. BACnet International, about BACnet (ANSI/ASHRAE Standard 135)

Related

Free trial

Your next submittal, consistent from day one.

Start with one of your current jobs. Change a device and watch the riser and the points list follow.

7 days free · cancel in one click

Bassirou Thiam · founder of Structio