Raspberry Pi Pico (RP2040): Hardware e Arquitetura em Sistemas Embarcados

Introdução

O Raspberry Pi Pico é uma plataforma de desenvolvimento baseada no microcontrolador RP2040, projetada para aplicações embarcadas com foco em controle direto de hardware.

Diferente de computadores convencionais, o Pico opera de forma determinística, executando firmware diretamente no hardware, sem sistema operacional tradicional.

Isso o torna ideal para:

  • Automação
  • Controle industrial leve
  • Dispositivos IoT
  • Sistemas embarcados dedicados

Arquitetura do RP2040 (visão modular)

A arquitetura do RP2040 segue um modelo claro e funcional:

✔ Entrada ≠ Processamento ≠ Memória ≠ Saída

Blocos principais

  • CPU (Dual-Core ARM Cortex-M0+)
  • Memória (SRAM + Flash externa)
  • Periféricos (GPIO, ADC, PWM, UART, SPI, I2C)
  • Controladores internos (PIO, DMA, Timers)

CPU: Processamento Determinístico

https://images.openai.com/static-rsc-4/Dktlbag4e1EwlVct0LKMuykINaYpqJBcfEKHacz9ZTL1rix9HTR0qoxAFSJ4oPJComwSeLDiOeeaDrZ7Ow8l40oR5mc7ASNUnhDhdEvRcQ7UvRcBsQz5bS5sPC7ekv3I8tIYo6kJhPCTChpgX948OI7RK28aRENCVCMLvkCOdydM0l1RqCldcffAY9XhJ5Is?purpose=fullsize
https://images.openai.com/static-rsc-4/XkP5JSSnZfJQvs7w28j-FI2ToO3QPVNgMFHhAxbtfcbB0NHfVB_Nn_KUJ39rb0J3xHnUmhBmYrkYrjNFM0dmr8Id_TngGmXv8FkABp65uQgs7WV3XDjJrcphZeLlhMn-Rhfp8v5DWniDNHWvPJCbkK7G2pOwZWLwMK2KPVCBpPCEo_ty1Y7vm-13iUy50vKv?purpose=fullsize
https://images.openai.com/static-rsc-4/V3XD4vsr5BlPojzFl_17YNGHoRYkx8GKNHw1wow8qiZRjEW_9iF3gqyJr6a5QCBSERfx3-hoOPTmjn24hzhh9I6dw764maevGJO3Mh5FnAewFK_my2G_ZjuRXB6RRNDawdTr_ZbQ2DUSc2Rqj2QmnttwXaglm9UwDprsxiSFpffg4DcNMPG8_AXxJTCmR85L?purpose=fullsize

O RP2040 possui:

  • 2 núcleos ARM Cortex-M0+
  • Clock de até 133 MHz

Características práticas:

  • Execução paralela (multitarefa real)
  • Baixo consumo
  • Alta previsibilidade

✔ Ideal para controle de tempo crítico (real-time)


Memória: Estrutura e Limitações

https://images.openai.com/static-rsc-4/wzBAChnaMuKMAnDTAM2w0vpzllxLEwgM7N_8h85XpJjGVA60fA8JmD0F7d8pd88jWCCvR5i8PjvKhOOIqapQHrk_X109ULTvSLMRLIPo1w1tN7LsDJMiYCpSwMQomoLGSHKBBFUbpR2icLrchHvkoUhe5FLcSiVBBouL42CQU50yc3iGxf0fW9aZw_hhN7sF?purpose=fullsize
https://images.openai.com/static-rsc-4/4mHcdIelFRyFnpLhgNZN77kwUoeGMFuoJt1tagodSLWvkryZJvPEfmZBqpIk-lpnTx3eybSeVZB_9Bn9HSbQ73P6A3iqJu7cWPIzYOp_JWERC2huGW4F7HP6n9B9Rij4ikUk3qQPtNbHtKI4cw9Y1XrzcktP2uSo4wO9flOCWHuMCOqnkNjNFnuGnO9UEJ_7?purpose=fullsize
https://images.openai.com/static-rsc-4/UENUszImSd8g2l0LfIF2PVwc22TwF-IcY9Q0yZn4CqtCfyLp648r3hyUjorEG-qkKmQgj8ZR1cqOehm2wA2lskBHJKKe2cELCaoUO0wV9TJrAiBuf7oNjoWs7Woj054RLSPNV9kn4mNiLrVm6tG3kyugT3dSO4rXlRzkKAXkpdb73AtltTGxjQfPypbf22nB?purpose=fullsize

Tipos de memória:

  • SRAM (264 KB) → execução e variáveis
  • Flash externa (2 MB típica) → firmware

Implicações:

  • Código deve ser otimizado
  • Dados persistentes exigem controle manual
  • Sem sistema de arquivos robusto por padrão

✔ Limitação controlada → previsibilidade


GPIO: Interface com o Mundo Físico

https://images.openai.com/static-rsc-4/GWtS91ydLyKMAye9NQDNUpKQSAvepaZfZ02rZysbTMhv6zgpLpwou-bnLf3-OuXC5I-lU4CARpehFQxWwFBbDzhXL0IluKCQbEZAwEXem0Og_JOFBSrBaQTT1OqdgLKL99bNNrw1M8QJqY6gpEhzXUXuQ4L9H8mPfa7stB6Un66S5MkO5UFDLerHShEIeVbC?purpose=fullsize
https://images.openai.com/static-rsc-4/RtXk6Fvb-gmciVF_1DbOOGXu2AbqcG9C0dCT7wIagFs8fg3nhX0SemmhKbOaK5N2dmJk5rd1WkHckqWJBw5hT4pGNdKsK-78aq3dTDrwhHB5ZFSE8zNFYwWkLrhmOl81Tu76NBbq7ag2syBMwJS8vt_clLK_cJ5BjDrGLESsj1I7sp0YO6WF-CjZ45tS9tHt?purpose=fullsize
https://images.openai.com/static-rsc-4/MAUazoEZgDxfDoVrDk0UrynO2QYU7R5_abSc85trH1dx7WHxgpA6pE4eU74ncS-dFxYVp_amJTsfMPBReueaowpQDUQE7imFBpeur9jdwB_Axhsj-FJeynE-wHkQVPp47wjDaoo7O-mPKq85KNkZt6qv9yp1Nt2X-zPCrfpz_aKDvvkkM39dByWBSdaCxQfZ?purpose=fullsize

O Pico oferece:

  • 26 pinos GPIO utilizáveis

Funções:

  • Entrada digital (sensores)
  • Saída digital (LEDs, relés)
  • Interfaces multiplexadas (UART, SPI, I2C)

✔ GPIO = ponto de integração físico


Periféricos Integrados

https://images.openai.com/static-rsc-4/JsvOr9P0HmBfBd_f1cy5OTzmpVRzawPS8bAwwEYJg1NFbtAn5KT46qbm3wKiQETJhHijreX7wxZs-od96Ul7yTGTlfscvEhAb_ZCvpAjWlzbSuRVgZ_XZFmemlYPUGEVvVbTV6GpfgLy1nTbk15MyubImXzeOzsCI21sgdxOr7Hjcb0ZQ6XoX3GyRQKvwx1V?purpose=fullsize
https://images.openai.com/static-rsc-4/QJxe65HJasGbkxQIcarvbUgTh86jkAnpWlBc_nK264QGD2LPGX48naGKDx6KEWscWBdRLAkA4nX0zCwVSPDi2Ly7lPNb4FfgW_2LSiZk75silbS3nICl_pLNVna3CvXcrChjQRjPfU_4hd5KafJJlOArgdXJDxa-XxPz_VrKJeSWz-B_i2R2HA6NJJOPl_V4?purpose=fullsize
https://images.openai.com/static-rsc-4/RsQSF9RRyMZjirXHkkc0aL2peJva16XRqRrCDvhATzw9c--l4vGp6eR7s7yXn_61FqR01eJrnUE9Esexppqy4cRSGCN20ZVq6VilJXYaJx7ubeBFhumxqUD1_nnej2B5at5anQI21S8YMUwXQ5GkWQ_V00-Iv5cV0gQej1sO8gQxkQFentVsYlqPbRAA8SUK?purpose=fullsize

Principais periféricos:

  • ADC (Conversão analógica → digital)
  • PWM (controle de potência/sinal)
  • UART (serial)
  • SPI (alta velocidade)
  • I2C (comunicação com sensores)

✔ Reduz necessidade de hardware externo


PIO (Programmable I/O): Diferencial do RP2040

https://images.openai.com/static-rsc-4/WtU8xjBvEzlGFnoUAmHUfIWiS8-FP7kyg9_LUhpV44vTnwNrUduW7ldSCYzawmGOdYEarN8W0hoHAnuBW_nUQloo1KnaW_xbG4EMbAFKb8Up0pLDalwqqc2kxnAmIAHQYo2oedwSpcDbERINPkioGLJcjuQctzGcxOjvji3J0FFhLOuo6wJFiYs_gLjf6vC7?purpose=fullsize
https://images.openai.com/static-rsc-4/Xj5s1lp0Jc5rf30kTVik_2Q0dHro0kPohPWgkf86veCI5-AxtZio9Y7le5lenJfrvwOrvItfoKiT8P90QKDKdpXG689DdLm_nRrsXcEAtfSQAVlh-AQjgCyXfHCgONAHybZfItStd9SmzrJwF_K2E8bjlypRwDWY71vkvYID_j5UDNzhVX2fLubhhqoIzhYD?purpose=fullsize
https://images.openai.com/static-rsc-4/iULtT6ct2k5aWpEktqEKxpwrTqMF_H77VkAIImL3TcgFgxNoa-Z8I7uHSLgQc1wnWo5dFjaSleayuZP1o45DeTJe8aFC9DHFPDWCj0DZ0705G3r-oXkPd5Ut0dDO5Xvbzzt2yPvqYZZ6HLFJ23Smj6KQh3qjL3VeNbTCoZ8FK371-WCXAORdXNJxeJ3LrAhk?purpose=fullsize

O PIO permite criar:

  • Protocolos customizados
  • Interfaces não suportadas nativamente
  • Controle preciso de timing

Casos práticos:

  • Emulação de SPI/UART custom
  • Controle de LEDs endereçáveis (WS2812)
  • Geração de sinais digitais específicos

✔ Hardware programável sem sobrecarregar CPU


DMA: Transferência sem CPU

O DMA (Direct Memory Access) permite:

  • Transferência de dados entre periféricos e memória
  • Sem intervenção da CPU

Benefícios:

  • Melhor performance
  • Menor latência
  • Libera CPU para lógica principal

Modelo de Execução (Firmware)

O Pico executa firmware diretamente:

  • Sem Linux
  • Sem processos concorrentes complexos
  • Loop principal controlado pelo programador

Estrutura típica:

while True:
read_inputs()
process_logic()
update_outputs()

✔ Controle total do sistema


Comparação com Sistemas Tradicionais

CaracterísticaPico (MCU)Raspberry Pi (SBC)
Sistema operacionalNãoLinux
BootImediatoLento
DeterminismoAltoBaixo
ConsumoMuito baixoAlto
Controle hardwareDiretoAbstraído

✔ Pico = controle
✔ SBC = processamento


Aplicações Práticas (IoT / Automação)

Cenários reais práticos:

  • Controle de iluminação
  • Leitura de sensores industriais
  • Automação residencial
  • Sistemas embarcados dedicados
  • Interfaces homem-máquina simples

Integração com IA (visão estratégica)

O Pico não executa modelos de IA complexos, mas atua como:

  • Coletor de dados
  • Executor de decisões simples
  • Interface com sistemas inteligentes externos

Arquitetura típica:

Sensor → Pico → Gateway (Raspberry Pi / Servidor) → IA/ML

✔ Separação clara: aquisição ≠ inteligência ≠ decisão


Boas Práticas de Projeto

  • Separar leitura, lógica e atuação
  • Evitar dependências desnecessárias
  • Testar módulos isoladamente
  • Garantir comportamento determinístico

Encaminhamento

Este artigo estabelece a base estrutural.

Nos próximos, evoluímos para:

  • Programação
  • Controle de hardware
  • Aquisição de sinais
  • Comunicação
  • Integração IoT