Desenvolvedor adicionou uma porta USB extra no Raspberry Pi RP2040

Usando seus talentos e as E/S programáveis ​​(PIO) do microcontrolador, um desenvolvedor adicionou uma porta USB extra no Raspberry Pi RP2040.

As especificações do Raspberry Pi RP2040 listam apenas uma interface de hardware host/dispositivo USB 1.1, mas o desenvolvedor Sekigon Gonnoc decidiu aproveitar as E/S programáveis ​​(PIO) do microcontrolador para adicionar uma porta USB extra que também funciona no modo host ou dispositivo.

Desenvolvedor adicionou uma porta USB extra no Raspberry Pi RP2040

Desenvolvedor adicionou uma porta USB extra no Raspberry Pi RP2040
Embora a biblioteca C ainda seja um trabalho em andamento, Sekigon implementou host de velocidade total (12 Mbps) e velocidade lenta (1,5 Mbps), dispositivo de velocidade total, hub USB e suporte a várias portas.

Há até uma demonstração com três teclados “Pico Pico USB” atuando como hubs USB e HID mais um mouse sem fio para mostrar os resultados.


A implementação usa um PIO para o transmissor USB usando 22 instruções e uma máquina de estado e outro PIO para o receptor USB usando 31 instruções e duas máquinas de estado, além de um temporizador de loop de 1 ms para o host e uma interrupção PIO para o receptor.

Você encontrará o código para implementar a porta USB extra no RP2040 MCU através do PIO no repositório Github Pico-PIO-USB, incluindo dois exemplos:

  • capture_hid_report.c Programa de amostra de host USB que imprime relatórios HID recebidos de um dispositivo.
  • usb_device.c Exemplo de dispositivo HID USB FS que move o cursor do mouse a cada 0,5s.

Outro exemplo mais avançado é o firmware QMK para a placa USB Pico Pico. O teclado físico também parece ter sido desenhado por Sekigon Gonnoc, mas não consegui encontrar nenhuma informação sobre ele.

Dito isso, ele projetou anteriormente a placa Pico Micro RP2040 e a vendeu através do Booth.pm, um “mercado de criadores” para o mercado japonês que se parece um pouco com o Tindie para mim, exceto que também funciona para artistas.

Sobre o Edivaldo Brito

Edivaldo Brito é analista de sistemas, gestor de TI, blogueiro e também um grande fã de sistemas operacionais, banco de dados, software livre, redes, programação, dispositivos móveis e tudo mais que envolve tecnologia.

Deixe um comentário

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.