I2C Tiny USB - znoxx/ARCAdaptor GitHub Wiki
Оригинальный проект I2C-Tiny-USB за авторством Till Harbaum -- это простой адаптер, позволяющий обеспечить подключение I2C устройств (в т.ч. и самодельных) по шине I2C. Причем, при работе с актуальными версиями Linux драйвера не требуются, ибо уже находятся в ядре (и давно).
На диаграмме ниже указаны контакты SCL и SDA, к которым нужно подключать оконечное устройство. Так же отмечены PULL-UP резисторы. I2C требует три провода - SCL, SDA и GND. Pull-up резисторы, НЕ нужно ставить в случаях, если:
- Они есть на оконечном устройстве
- Используется конвертер уровней, на котором они уже есть (а как правило, на дешевых массовых моделях они присутствуют).
Вообще, хороший туториал можно почитать тут.
Несмотря на то, что I2C присутствует в большинстве одноплатных компьютеров, использование описанного USB-I2C адаптера является хорошим решением.
- Драйвер устройства давно присутствует в ядре.
- Если одноплатный компьютер имеет GPIO с уровнями 3.3в, то можно избежать использования конвертера уровней, что добавит схеме стабильности.
- Новые модели SBC не всегда получают поддержку I2C сразу.
Проект находится здесь