Open Standard  ·  Royalty-Free  ·  India-Originated

iBus

The self-description standard Modbus never had.

Open · Royalty-free · Made in India

What is iBus

A self-description layer for the protocol that runs the world

Modbus has powered building automation, factories, and industrial plants since 1979. iBus gives every Modbus device the one thing the protocol never had: the ability to introduce itself.

iBus is an open, royalty-free application-layer convention for Modbus devices. It does not modify the Modbus protocol. It does not require BACnet. It is not affiliated with Modbus.org or ASHRAE. iBus exists to give Modbus devices the self-description capability they have always lacked — using only the tools Modbus already provides.
— iBus v1.1 specification, opening statement
The Landscape

Two options used to be enough. Now there are three.

For 45 years the industry has been stuck choosing between Modbus — universal but mute — and BACnet — powerful but expensive. iBus is the third option: a thin, open convention that gives a Modbus device BACnet-class discovery at zero additional cost.

Option 1

Modbus alone

  • Universal, free, runs ~100M devices
  • No identity layer at all
  • Integrator types every register from a PDF
  • Days of manual commissioning per panel
  • Substitute a device → recommission everything
Option 2

BACnet

  • Self-describing, plug-and-play
  • Stack licensing fees per device
  • BTL certification cost
  • IP-capable hardware required
  • Excludes small and mid-range devices
Option 3 — new

iBus

  • Self-describing, plug-and-play
  • Zero licensing fees, zero royalties
  • Runs on any existing Modbus device
  • One weekend of firmware work to add
  • Discovery in under 2 seconds
How it works

Four standard Modbus reads. That's the whole protocol.

iBus reserves a region of holding registers starting at HR 9000. Inside that region a device publishes its identity, its data blocks, and a descriptor for every point. Any iBus-aware scanner reads it in four ordinary FC03 transactions — no new function codes, no new transport.

1

Probe the signature

Read HR 9000. If the value is 0x4275 ("Bu"), the device speaks iBus. Anything else — not iBus, fall through to plain Modbus.

2

Read the identity block

HR 9001–9039 returns version, vendor, model, firmware, point count, and pointers to the manifest and point descriptor tables.

3

Walk the manifest

The manifest lists every data block on the device — type (HR / IR / Coil / DI), start, length, and label. One row per logical block.

4

Decode each point

The point descriptor table gives every register a name, data type, scale factor, ASHRAE unit code, and writable flag. Ready for the BMS.

Total time for full discovery: under 2 seconds per device. What used to take 2–3 days of manual register mapping now happens on the first handshake.
Implementation Resources

Everything you need to add iBus to your device

Specification, reference code in C and Python, the master prompt that turns Claude into an iBus implementation assistant for your specific firmware, and the EnSmart Scanner for testing — all free, all open.

Specification

iBus v1.1 Specification

The complete protocol document. Register region layout, identity block, manifest format, point descriptor table, data type codes, ASHRAE unit alignment, and conformance criteria.

PDF · 12 sections · ~16 KB
Download spec →
Reference Code · C

C Reference Implementation

Vendor-neutral C99 source for embedded MCUs. No malloc, no RTOS dependency. Includes a worked thermostat example and a Makefile that cross-compiles for ARM Cortex-M targets.

ZIP · ibus.h + ibus.c + example + Makefile · MIT
Download C reference →
Reference Code · Python

Python Reference Implementation

For Linux gateways, Raspberry Pi controllers, and PC simulators. Drops into any pymodbus slave through a small data-block subclass. Includes a worked integration example.

ZIP · ibus.py + pymodbus example · MIT
Download Python reference →
AI-Assisted Implementation

Claude Implementation Assistant Prompt

Paste this into Claude with your existing firmware attached, and it acts as a specialist iBus implementation assistant — reading your code, citing spec sections, and giving surgical diffs instead of rewrites.

Markdown · 266 lines · drop-in prompt
Download master prompt →
Conformance Test Tool

EnSmart Scanner — one app for iBus, Modbus, and BACnet

The reference iBus client and conformance test tool. Discovers iBus devices in under 2 seconds, reads plain Modbus RTU/TCP slaves, and finds BACnet/IP devices on the same network. Free for everyone — vendors use it to validate their iBus implementation, integrators use it to commission live panels.

Windows executable · iBus + Modbus RTU/TCP + BACnet/IP discovery
Download for Windows ↓
iCode Vendor Registry

Free vendor codes. Public registry. Forever.

Every iBus-implementing vendor gets a unique 4-digit iCode that lives in the device manifest. Registration is free and the registry is publicly searchable — the same model BACnet uses for vendor IDs, built for India and the world.

iCode Vendor Country Registered Status
0001 EnSmart Controls / EnSmart Technologies India 2026 ✓ Active
Your company could be iCode 0002. Registration is free.
Apply for an iCode → Free. No membership. Email us your company name and country — we issue your iCode within one working day.
Certification & Authorized Labs

Three tiers, one mark, real testing

Anyone can implement iBus from the public specification. The certification mark exists so that when you see the iBus Certified logo on a device, you know it has been tested against the standard by a recognized lab.

Tier 1 · Free

iBus Compatible

Any vendor implementing the specification may state "iBus compatible" on their datasheet. No registration, no fee, no certification required. Just follow the spec.

Tier 2 · Lab tested

iBus Certified

The vendor's device passes conformance testing at an iBus Authorized Lab. Earns the iBus Certified logo and a permanent listing in the Certified Devices Registry.

Tier 3 · Accredited

iBus Authorized Lab

Independent testing labs accredited by iBusNetwork. Trained on the conformance test procedure, signatory to the Lab Agreement, listed publicly. Issues certifications on behalf of the standard.

Currently Authorized Labs

LAB-001   EnSmart Lab
Chennai, India · Active
LAB-002   Open for partner labs
Bangalore, Mumbai, Delhi, Hyderabad — in planning
Governance & Openness

An open standard, openly administered

Open standards fail when one company controls the specification, when changes happen without community input, or when the funding dries up. iBus is structured to avoid all three.

The specification is free to implement

No license fee. No royalty. No membership. No NDA. The iBus v1.1 specification is published under Creative Commons Attribution 4.0. The reference implementations in C and Python are released under the MIT license. You may ship them in commercial products without paying anything to anyone.

The trademark protects the certification mark

The iBus and iBusNetwork trademarks exist solely so that when you see the "iBus Certified" logo on a device, it means something. Anyone may implement the specification. Only devices that pass conformance testing at an Authorized Lab may carry the certification mark.

EnSmart originated iBus — and discloses it openly

iBus was created by EnSmart Controls in Chennai, India. EnSmart currently administers the iCode registry, the lab accreditation program, and the specification. EnSmart also makes products that implement iBus — this conflict of interest is real and is disclosed here, openly, on the homepage.

Independent governance is planned

Governance of iBus is planned to transition to an independent body as adoption grows — following the same path MQTT took from its original creator to OASIS. The transition will be announced publicly when the timing is appropriate. Until then, every change to the specification will be tracked through a public GitHub repository open to community review.

Frequently Asked Questions

Honest answers to the obvious questions

Is iBus a new protocol?

No. iBus is an application-layer convention that operates within the standard Modbus holding register address space. It does not modify, extend, or replace the Modbus protocol. All Modbus function codes, framing, and transport mechanisms remain unchanged. iBus compliance requires a working Modbus RTU or Modbus TCP implementation as its transport layer.

Why does iBus use BACnet/ASHRAE unit codes?

iBus unit code values are aligned with the Engineering Units enumeration defined in ANSI/ASHRAE Standard 135 (BACnet) to facilitate interoperability with BACnet-aware tools and gateways. iBus is not a BACnet product and is not affiliated with ASHRAE. The choice to align with ASHRAE 135 is a deliberate interoperability decision, not a claim of affiliation. iBus implementations do not require a BACnet stack.

Is there a license fee?

No. The specification is free under Creative Commons Attribution 4.0. The reference C and Python libraries are MIT-licensed. You may use them in commercial products without paying any royalty. The only paid step is the optional device certification at an Authorized Lab — and that fee covers the cost of testing, not the use of the standard itself.

How long does it take to add iBus to an existing Modbus device?

For an experienced firmware engineer with an existing Modbus FC03 handler: typically one weekend. The C reference implementation is approximately 400 lines of vendor-neutral code that drops in as an overlay on the existing handler. For more help, the AI Implementation Assistant master prompt walks Claude through your specific firmware code section by section.

How is iBus different from SunSpec?

SunSpec is a register-map convention for solar inverters and energy storage devices, also built on top of Modbus. iBus is a self-description convention for any building automation device — HVAC, electrical, controls, sensors. The two standards share a similar philosophical approach (open layer on top of Modbus) but address different device categories and use different register layouts.

Who owns the iBus trademark?

The iBus and iBusNetwork trademarks are currently held by EnSmart Controls in India under Class 9. Governance is planned to transition to an independent non-profit body as adoption grows. The trademark exists to protect the integrity of the certification mark, not to restrict implementation of the specification.

How do I get my device iBus Certified?

Three steps: (1) Implement the specification using either the C or Python reference code, or your own implementation. (2) Validate it locally with the EnSmart Scanner conformance test mode — you can do this yourself before submitting. (3) Submit your device to an iBus Authorized Lab for formal testing. On a successful pass, the lab issues your Certificate, your iCode (if you do not already have one), and grants the iBus Certified logo license for that device model.