Trong trường hợp nếu vi điều khiển ko có module hỗ trợ I2C thì có thể dùng bất cứ chân nào có chức năng I/O để giao tiếp, tuy nhiên viết chương trình cũng khá phức tạp. Trình dịch MikroC có hỗ trợ thư viện dùng cho dạng này, ví dụ:
Code:
Soft_I2C_Config
Soft_I2C_Start
Soft_I2C_Read
Soft_I2C_Write
Soft_I2C_Stop