Referred to as:

System Management Bus

Commonly found on computer motherboards for communication with the power source, battery charging, etc.

Based on I2C bus:

Clock frequency range 10kHz to 100kHz (a minimum is specified as SMBus has a timeout feature).

Voltage levels and timings are more strictly defined than for I2C, but devices using the two interfaces can often successfully mixed on the same bus.

Allows for bus VDD ranging from 3V to 5V.

ACK and NACK there are some differences to be aware of when designing your software driver.

Pull Up Resistors

SMBus voltage levels are specified with different currents compared to the I2C bus. SMBus specifies a min sink current of 100µA, and a maximum of 350µA, compared to 3mA for the I²C bus. This determines the lowest acceptable value of the pull-up resistor:

           3V VDD      5V VDD
I2C Bus    > 1k     > 1.6k
SMBus      > 8.5k   > 14k

In reality, it’s not unusual to find pull-up resistor values in SMBus systems which are lower than allowed by the specification. A popular range for pull-up resistor values seems to be 2.4K to 3.9K

Good Resources

Maxim Comparing the I²C Bus to the SMBus


New standard enhancing SMBus to allow identifying of device functionality, etc.

Extends Clock frequency range to 400 kHz.

We benefit hugely from resources on the web so we decided we should try and give back some of our knowledge and resources to the community by opening up many of our company’s internal notes and libraries through mini sites like this. We hope you find the site helpful.
Please feel free to comment if you can add help to this page or point out issues and solutions you have found, but please note that we do not provide support on this site. If you need help with a problem please use one of the many online forums.


Your email address will not be published.