Uma reimplementação completa do firmware driver do kernel I2C-Tiny-USB, o Firmware RP2040 converte o RPi Pico em uma ponte I2C para USB.
Sim. O firmware de código aberto rp2040-ic2-interface da Nicolai Electronics para o Raspberry Pi Pico (ou outras placas Raspberry Pi RP2040) converte a placa em uma ponte I2C para USB para conectar qualquer sensor ou módulo I2C a um PC ou outro hardware sem GPIOs.
Firmware RP2040 converte o RPi Pico em uma ponte I2C para USB
O I2C ou I²C é um tipo de interface serial utilizada para comunicar com diversos dispositivos, como o acelerômetro MPU 6050.
O firmware RP2040 implementa o protocolo USB esperado pelo driver do kernel I2C-Tiny-USB usado pelo projeto original I2C-Tiny-USB para microcontroladores Microchip ATMega AVR de 8 bits.
O RP2040, no entanto, não é um fork do projeto original, mas sim uma reimplementação completa do firmware.
Você precisará conectar seu sensor I2C, display ou outro módulo aos pinos SDA (GPIO 2) e SCL (GPIO 3) do microcontrolador Raspberry Pi RP2040 e fazer o flash do firmware “pré-lançamento” na placa.
Você o encontrará junto com o código-fonte escrito em linguagem C no GitHub. Observe que o projeto tem um “status de prova de conceito” e mais testes são necessários para garantir que tudo funcione conforme o esperado.
O projeto é melhor usado com um host Linux como parte do kernel i2c-tiny-usb da árvore de origem oficial do kernel.
Você pode carregar o drive facilmente no Ubuntu 20.04 com esse comando:
sudo modprobe i2c-tiny-usb
Para verificar o carregamento, basta usar este comando:
lsmod | grep tiny
E o resultado será essa saída:
i2c_tiny_usb 20480 0
Mas você também encontrará drivers para Windows e macOS e documentação no projeto I2C-Tiny-USB vinculado anteriormente.
Depois de conectar a placa RP2040 ao seu host através de um cabo USB, o sensor/módulo I2C deve estar visível com aplicativos cliente padrão, como os encontrados na estrutura lm_sensors (sensores-detect, sensores, etc…).
Via Hackster.io