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
| Rule | Value | Source |
|---|---|---|
| Devices per RS-485 segment (without repeater) | 32 max | KMC AN0404A |
| Cable length per segment | under 4,000 ft (1,220 m) | KMC AN0404A |
| Practical devices per MS/TP network | about 60, depending on traffic | KMC AN0404A |
| Termination | end-of-line at both ends of each segment | KMC AN0404A, Siemens 23 09 00 |
| Shield | grounded at one end only | KMC 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:
| Item | Rule | Example |
|---|---|---|
| Network number | building × 100 + trunk | Building 1, trunk 2 → 102 |
| MAC address | 0, 1, 2… on each trunk, no gaps | 1 to 24 |
| Device instance | network number × 1000 + MAC | 102001 to 102024 |
Whatever the scheme, write it on the network riser and keep it consistent with the device schedule.
Sources
- Chipkin, BACnet Device Instance
- KMC Controls, Application Note AN0404A – Planning BACnet networks
- AutomatedBuildings.com, BACnet numbers for MS/TP MAC addresses, device instances and BACnet networks (Contemporary Controls, 2025)
- Siemens, guide specification Section 23 09 00 – Building Automation System (submittals, network, point naming)
- BACnet International, about BACnet (ANSI/ASHRAE Standard 135)