The BACnet Discovery Tool (BDT) is a free, vendor-neutral Windows application from Contemporary Controls that discovers BACnet/IP devices and lets you browse their objects and properties. It is particularly useful for verifying communication with MS/TP devices accessed through BACnet/IP routers like the BASrouter. Download BDT v2.14 from the Contemporary Controls website, select your network interface, and click Discover to populate a list of every reachable BACnet device on your network.
What Is BDT (BACnet Discovery Tool)
BDT is a lightweight BACnet/IP client built by Contemporary Controls, the same company behind the BASrouter line of BACnet routers and the Cube I/O BACnet modules. The tool does one thing well: it discovers BACnet devices on a network and lets you inspect their objects and properties without requiring a full BAS front-end or engineering workstation.
Unlike supervisor software that demands project setup, database configuration, and licensing, BDT runs as a standalone executable with zero configuration overhead. You install it, point it at your network adapter, and hit Discover. Within seconds you have a list of every BACnet/IP device on the local subnet—plus any MS/TP devices reachable through BACnet routers. That makes BDT a go-to tool for commissioning checks, integration verification, and field troubleshooting.
BDT supports up to 1,000 discovered devices and up to 2,000 objects per device. It communicates exclusively over BACnet/IP using UDP port 47808 (0xBAC0). While it does not support BACnet/SC or direct serial MS/TP connections, it excels at what most technicians actually need: confirming device presence, reading point values, and verifying router-based MS/TP access from the IP side of the network.
Downloading and Installing BDT
BDT is available as a free download from the Contemporary Controls software page. There is no license fee, no dongle, and no subscription. Contemporary Controls does require a brief registration form (name, email, company) before the download link appears—they use this information to send software update notifications.
- Navigate to the BDT download page on the Contemporary Controls website.
- Fill out the registration form with your contact information and professional category (integrator, OEM, distributor, or building owner). Accept the privacy policy.
- Download the BDT installer. The current version as of this writing is BDT v2.14.
- Run the installer and follow the on-screen prompts. The installation is straightforward—no special dependencies or runtime libraries are required beyond what ships with modern Windows.
- Launch BDT from the Start Menu or the install directory. The main window opens with the device discovery panel front and center.
Documentation: Contemporary Controls provides an instruction sheet (IS-BDTv214.pdf) alongside the download. Keep this PDF handy—it covers every feature in the current release and includes screenshots of each dialog.
Configuring BDT for Your Network
Before running a discovery scan, you need to confirm that BDT is configured to use the correct network interface and port. This takes about 30 seconds but prevents the most common "no devices found" frustration.
Selecting the Network Interface
BDT lists all available network adapters on your workstation. Select the adapter connected to the BACnet/IP network. If your laptop has Wi-Fi, Ethernet, VPN tunnels, and virtual adapters, you will see all of them in the dropdown. Pick the physical interface that sits on the same subnet as your BACnet devices.
Verify your selection by checking your adapter's IP address (ipconfig in a command prompt). If your BACnet devices are on 192.168.1.x and your adapter shows 10.0.0.x, you are on the wrong interface or the wrong subnet.
Port Configuration
BDT defaults to UDP port 47808 (0xBAC0), which is the standard BACnet/IP port defined by ASHRAE 135. In the vast majority of installations, you should leave this at the default. BDT only works with UDP port BAC0—it does not support non-standard port configurations. If your site uses a non-standard BACnet port, BDT will not communicate with those devices and you will need a different tool such as YABE.
Firewall Considerations
Windows Firewall and third-party security products frequently block UDP 47808. If BDT finds no devices after a scan, check your firewall rules before assuming a network problem. Add an exception for the BDT executable or allow UDP port 47808 inbound and outbound.
On corporate-managed laptops, you may need IT assistance to create the firewall exception. Frame the request specifically: "I need UDP port 47808 open for BACnet building automation diagnostics."
Discovering BACnet/IP Devices
With the correct network interface selected, click the Discover button. BDT sends a WHO-IS broadcast on the local subnet. Every BACnet/IP device that receives the broadcast responds with an I-AM message containing its device instance number, network address, and vendor information. BDT populates the Discovered Devices list with each responding device.
The discovered devices list shows key identification data for each device: device instance number, IP address, vendor name, and object name. This gives you an immediate inventory of what is alive and communicating on the network.
Browsing Device Objects
To investigate the objects within any discovered device, double-click the device line in the list. BDT opens a new window displaying every BACnet object in that device—Analog Inputs, Analog Outputs, Binary Inputs, Binary Outputs, Analog Values, Binary Values, Multi-State objects, Schedule objects, and more.
Select any object to view its properties: Object_Name, Present_Value, Description, Status_Flags, Units, and other standard BACnet properties. This is the core workflow for verifying that a controller is exposing the expected points and that values are reading correctly.
Writing Properties
BDT supports writing to three editable fields: Object Name, Write Value, and Priority. This allows you to rename objects on compatible devices, command output values during commissioning, and set priority levels for writes to commandable objects. You can also write to the device instance number and device object name on supported devices—useful for initial commissioning of new controllers.
Scanning and Data Logging
BDT can scan individual devices and points on a repeating basis. Enable the "store to file" checkbox to log scanned values to a CSV file (bdt_data.csv). This is valuable during commissioning when you need to record point values over time without a full trending solution in place.
Version 2.14 added real-time graphing of scanned points. The graph can display multiple points simultaneously, giving you a visual representation of how values change—useful for watching a discharge air temperature respond to a valve command or confirming that a VFD speed tracks its setpoint.
Saving Device Lists
Click the Save Discovered Devices button to export the current device list to a text file. This creates a quick reference document for the job site—handy for documenting what devices are online before and after network changes, or for generating a punch list of devices that failed to respond.
Discovering MS/TP Devices Through Routers
This is where BDT earns its reputation. Many BAS installations have field-level controllers on BACnet MS/TP trunks (RS-485) connected to the IP backbone through BACnet routers. BDT discovers these MS/TP devices from the IP side without requiring a direct serial connection or an RS-485 adapter.
The process works because BACnet routers forward WHO-IS broadcasts from the IP network onto the MS/TP trunk, and relay I-AM responses back to the IP side. From BDT's perspective, the MS/TP devices appear in the Discovered Devices list alongside the IP devices. The difference is visible in the network addressing—MS/TP devices show a BACnet network number and MAC address (0–127) rather than an IP address.
Router Compatibility
Contemporary Controls designed BDT to work seamlessly with their own router products: the BASrouter, BASrouterSX, and Portable BASrouter. However, BDT is vendor-neutral at the protocol level. Any standards-compliant BACnet/IP to MS/TP router from any manufacturer—whether it is a standalone router or a supervisory controller with built-in routing—will work. BDT simply sends standard BACnet WHO-IS requests and processes standard I-AM responses.
Verifying MS/TP Communication
After discovering MS/TP devices through a router, double-click any device to browse its objects and properties. If the object list loads and Present_Values read correctly, the IP-to-MS/TP communication path is verified end-to-end. If discovery succeeds but object reads fail or time out, the router may be overloaded or the MS/TP trunk may have wiring or addressing issues that intermittently drop packets.
BDT is particularly valuable during initial BASrouter commissioning. You can confirm that the router's MS/TP network number, baud rate, and MAC address range are configured correctly by verifying that all expected downstream devices appear in BDT's device list. If devices are missing, the problem is isolated to the MS/TP side of the router—check baud rate mismatches, wiring polarity, termination resistors, and MAC address conflicts on the trunk.
BDT vs YABE Comparison
Both BDT and YABE (Yet Another BACnet Explorer) are free BACnet diagnostic tools, but they serve slightly different purposes. Here is how they compare:
| Feature | BDT (v2.14) | YABE (v1.2.1) |
|---|---|---|
| Cost | Free | Free (open source) |
| Platform | Windows only | Windows, Linux (Mono) |
| Publisher | Contemporary Controls | Community / SourceForge |
| BACnet/IP | Yes (UDP 47808 only) | Yes (any port) |
| Direct MS/TP (serial) | No | Yes (via RS-485 adapter) |
| MS/TP via router | Yes | Yes |
| BACnet/SC | No | Yes (v2.x builds) |
| COV subscriptions | No | Yes |
| Real-time graphing | Yes (v2.14+) | Yes |
| CSV data logging | Yes | No (manual export) |
| Device limit | 1,000 devices | No hard limit |
| Object limit per device | 2,000 objects | No hard limit |
| Write support | Limited (name, value, priority) | Full (any writable property) |
| Learning curve | Minimal | Moderate |
When to use BDT: You want a fast, simple device inventory. You are commissioning or verifying a BASrouter installation. You need to confirm MS/TP devices are reachable from the IP side. You want built-in CSV logging without extra steps.
When to use YABE: You need to connect directly to an MS/TP trunk via RS-485. You need COV subscriptions to monitor live value changes. You need to write to arbitrary properties beyond Object Name and Present Value. You are working on Linux. You need to communicate on a non-standard BACnet port.
Many technicians keep both tools installed. BDT for quick discovery and verification, YABE for deeper object-level diagnostics.
Common BDT Mistakes
- Selecting the wrong network adapter. This is the most frequent cause of empty discovery results. Laptops typically have multiple adapters—Wi-Fi, Ethernet, VPN, virtual interfaces. BDT will only discover devices reachable from the selected adapter. Confirm your adapter's IP address is on the same subnet as your BACnet devices before running a scan.
- Forgetting to open UDP 47808 on the workstation firewall. BDT sends WHO-IS broadcasts as outbound UDP, but the I-AM responses come back as inbound UDP. If Windows Firewall blocks inbound UDP on port 47808, BDT sends the request successfully but never sees the response. The result is an empty device list with no error message. Always check firewall rules before assuming a network fault.
- Expecting BDT to work across subnets without a BBMD. BACnet WHO-IS is a broadcast. Layer 3 routers do not forward broadcasts between subnets. If your workstation is on one subnet and the BACnet devices are on another, BDT will find nothing unless a BBMD or BACnet router bridges the subnets. Either connect to the same subnet as your devices or ensure proper BBMD/foreign device registration is in place.
- Assuming MS/TP devices will appear without a router. BDT is a BACnet/IP-only application. It cannot talk directly to an MS/TP trunk over RS-485. MS/TP devices only appear in BDT when a BACnet/IP to MS/TP router is present and properly configured. If no router exists in the architecture, you need a tool with direct serial support (such as YABE with an RS-485 adapter).
- Using BDT on a site with a non-standard BACnet port. BDT only communicates on UDP port 47808. Some installations—particularly those with multiple BACnet networks or custom security configurations—use alternate ports. BDT will not discover devices listening on any port other than 47808. If you suspect a non-standard port, use YABE or Wireshark to confirm the actual port in use.
Platform Compatibility
BDT is a Windows-only application. Contemporary Controls does not provide macOS or Linux versions.
| Platform | Support | Notes |
|---|---|---|
| Windows 10 / 11 | Full | Recommended platform; tested and supported by Contemporary Controls |
| Windows 7 / 8.1 | Full | BDT runs without issues on older Windows versions |
| Linux | None | No native or Mono-based support; use YABE for Linux-based discovery |
| macOS | None | Not supported; use a Windows VM or YABE via Mono |
If you work primarily on Linux or macOS, BDT is not the right tool. YABE provides comparable discovery functionality on those platforms via Mono. On Windows, BDT and YABE complement each other well—BDT for fast discovery and logging, YABE for deeper diagnostics and direct MS/TP access.
Source Attribution
This guide draws from the following publicly available sources:
- Contemporary Controls — BACnet Discovery Tool (BDT) Download Page — official download, registration, and version information for BDT v2.14.
- Contemporary Controls eNews — Free BACnet Discovery Tool Simplifies Troubleshooting (February 2025) — feature overview, MS/TP router verification use cases, and v2.14 enhancements.
- Contemporary Controls eNews — BACnet Discovery Tool Better Than Ever (July 2017) — version 2.13 feature additions including property writing and priority array support.
- Contemporary Controls eNews — New Features Added to the BACnet Discovery Tool (March 2016) — version 2.10 release notes covering CSV data logging, device saving, and 64-bit value support.
Additional testing and commentary by SiteConduit.
Was this article helpful?
Related Articles
Need to do this remotely? SiteConduit provides Layer 2 access that preserves BACnet broadcasts — no BBMD needed for remote sessions. Join the waitlist.
SiteConduit Technical Team
Idea Networks Inc.
SiteConduit builds managed remote access for building automation. Our knowledge base is maintained by BAS professionals with hands-on experience deploying and troubleshooting BACnet, Niagara, Modbus, and Facility Explorer systems.