https://github.com/yasir-shahzad/softi2c
Software-based I2C communication library for Arduino
https://github.com/yasir-shahzad/softi2c
arduino esp32 esp8266 i2c-bus i2c-sensors softi2c
Last synced: 8 months ago
JSON representation
Software-based I2C communication library for Arduino
- Host: GitHub
- URL: https://github.com/yasir-shahzad/softi2c
- Owner: yasir-shahzad
- License: mit
- Created: 2023-08-20T21:00:14.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2025-03-20T19:54:39.000Z (9 months ago)
- Last Synced: 2025-03-28T22:32:30.321Z (9 months ago)
- Topics: arduino, esp32, esp8266, i2c-bus, i2c-sensors, softi2c
- Language: C++
- Homepage:
- Size: 41 KB
- Stars: 44
- Watchers: 2
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# SoftI2C Arduino Library
[](https://opensource.org/licenses/MIT)
[](https://www.ardu-badge.com/SoftI2C)
[](https://github.com/yasir-shahzad/SoftI2C/commits/master)
[](https://github.com/yasir-shahzad/SoftI2C/issues)
[](https://github.com/free-pdk/easy-pdk-programmer-software/releases/latest)

If you like **SoftI2C** - give it a star, or fork it and contribute!
[](https://github.com/yasir-shahzad/SoftI2C/stargazers)
[](https://github.com/yasir-shahzad/SoftI2C/network)
The SoftI2C library provides an Arduino-compatible implementation of the I2C communication protocol using software-based methods. It allows you to perform I2C communication without relying on hardware I2C pins, which can be useful in situations where hardware I2C is unavailable or needs to be emulated.
## Features
- Software-based I2C communication.
- Emulates I2C communication over GPIO pins.
- Provides read and write functionality.
- Easy-to-use API for I2C operations.
## Installation
1. Download the library ZIP file from the [GitHub repository](https://github.com/yasir-shahzad/SoftI2C).
2. In the Arduino IDE, go to `Sketch` > `Include Library` > `Add .ZIP Library...`.
3. Select the downloaded ZIP file and click `Open`..
## Usage
1. Include the library at the beginning of your sketch:
```cpp
#include
## Contributing
Contributions to the SoftI2C library are welcome! If you find any issues or have suggestions for improvements, please feel free to submit a pull request or open an issue on the GitHub repository..
## License
This project is licensed under the MIT License.