diff --git a/pinout b/pinout
index c21ce74..cd47c10 100755
--- a/pinout
+++ b/pinout
@@ -15,6 +15,7 @@
 # limitations under the License.
 
 import argparse
+import os
 
 class Style:
     BOLD      = 1
@@ -41,10 +42,21 @@
     Kind.PWM:   (Style.YELLOW,    'PWM',   'Pulse Width Modulation [/sys/class/pwm/pwmchipN/pwm0]'),
 }
 
+I2C_DEVICES = {
+    'I2C1': '1100a000.i2c',
+    'I2C2': '1100b000.i2c',
+}
+
+def lookup_i2c_bus(device_tree_name):
+    sysfs_directory = '/sys/devices/platform/soc/{}'.format(device_tree_name)
+    return [x for x in os.listdir(sysfs_directory) if x.startswith('i2c-')][0]
+
 PINS = {
     1:  ('3.3.V',                     Kind.POWER), 2:  ('5V',                       Kind.POWER),
-    3:  ('I2C1_SDA (i2c-2)',          Kind.I2C),   4:  ('5V',                       Kind.POWER),
-    5:  ('I2C1_SCL (i2c-2)',          Kind.I2C),   6:  ('GND',                      Kind.GND),
+    3:  ('I2C1_SDA ({})'.format(lookup_i2c_bus(I2C_DEVICES['I2C1'])), Kind.I2C),
+    4:  ('5V',                        Kind.POWER),
+    5:  ('I2C1_SCL ({})'.format(lookup_i2c_bus(I2C_DEVICES['I2C1'])), Kind.I2C),
+    6:  ('GND',                       Kind.GND),
     7:  ('GPIO (gpio409)',            Kind.GPIO),  8:  ('UART0_TX (ttyS0)',         Kind.UART),
     9:  ('GND',                       Kind.GND),   10: ('UART0_RX (ttyS0)',         Kind.UART),
     11: ('GPIO (gpio396)',            Kind.GPIO),  12: ('GPIO (gpio423) / I2S_BCK', Kind.SAI),
@@ -55,7 +67,8 @@
     21: ('SPI_MISO (spidev0)',        Kind.SPI),   22: ('GPIO (gpio394)',           Kind.GPIO),
     23: ('SPI_SCLK (spidev0)',        Kind.SPI),   24: ('SPI_CSB (spidev0.0)',      Kind.SPI),
     25: ('GND',                       Kind.GND),   26: ('GPIO (gpio395)',           Kind.GPIO),
-    27: ('I2C2_SDA (i2c-3)',          Kind.I2C),   28: ('I2C2_SCL (i2c-3)',         Kind.I2C),
+    27: ('I2C2_SDA ({})'.format(lookup_i2c_bus(I2C_DEVICES['I2C2'])), Kind.I2C),
+    28: ('I2C2_SCL ({})'.format(lookup_i2c_bus(I2C_DEVICES['I2C2'])), Kind.I2C),
     29: ('UART1_TX (ttyS1)',          Kind.UART),  30: ('GND',                      Kind.GND),
     31: ('UART1_RX (ttyS1)',          Kind.UART),  32: ('PWM (pwmchip0.0)',         Kind.PWM),
     33: ('PWM (pwmchip0.1)',          Kind.PWM),   34: ('GND',                      Kind.GND),
