Pular para o conteúdo principal

Introdução ao Seeed Studio XIAO RP2040

pir

Visão geral

A série Seeed Studio XIAO RP2040 inclui o XIAO RP2040 e o XIAO RP2040 Plus. Ambas as placas são alimentadas pelo mesmo microcontrolador Raspberry Pi RP2040, que possui um processador Arm Cortex-M0+ dual-core rodando a até 133 MHz e 264 KB de SRAM. Cada placa também inclui 2 MB de memória Flash onboard. Como resultado, elas oferecem o mesmo desempenho de processamento central e compartilham o mesmo ecossistema de software RP2040.

As principais diferenças entre as duas placas são o número de GPIOs expostos, as conexões periféricas disponíveis e os recursos de gerenciamento de energia onboard.

O XIAO RP2040 padrão usa o footprint XIAO comum de 14 pinos, composto por 11 pinos GPIO e três pinos de alimentação. Seus 11 pinos de E/S digitais são compatíveis com PWM, sendo que quatro também suportam entrada analógica. A placa fornece interfaces I2C, UART, SPI e SWD em um formato compacto de 21 × 17,8 mm.

O XIAO RP2040 Plus mantém o mesmo layout XIAO comum de 14 pinos e adiciona 15 pads de GPIO soldados na parte traseira e nas laterais da placa. Isso aumenta o número total de pinos de E/S digitais expostos de 11 para 26. Ele também adiciona uma segunda interface I2C, pads dedicados para USB D+/D− e conexões relacionadas à bateria, incluindo BAT+, BAT− e BAT_EN.

Para aplicações alimentadas por bateria, o XIAO RP2040 Plus integra um PMIC onboard, um indicador de carregamento de bateria e proteção contra retorno de corrente de BAT para 3V3. Esses recursos adicionais tornam a versão Plus mais adequada para placas-carrier personalizadas, montagem SMD, dispositivos alimentados por bateria e projetos que exigem mais recursos de E/S.

O Seeed Studio XIAO RP2040 é compatível com a placa de expansão Seeed Studio XIAO.

Recursos

  • Poderoso MCU RP2040: Processador Arm Cortex-M0+ dual-core rodando a até 133 MHz
  • Ricos recursos de memória: 264 KB de SRAM e 2 MB de memória Flash onboard
  • Ampla compatibilidade de software: Suporta Arduino, PlatformIO, MicroPython, CircuitPython, TinyGo, Rust, Zephyr e mais
  • Footprint XIAO comum: Ambas as versões mantêm o layout XIAO padrão de 14 pinos, incluindo 11 pinos GPIO e três pinos de alimentação
  • Formato compacto: Design do tamanho de um polegar de 21 × 17,8 mm para dispositivos vestíveis e aplicações com restrição de espaço
  • Interfaces padrão do XIAO RP2040: 11 pinos de E/S digitais, quatro pinos de entrada analógica, 11 pinos compatíveis com PWM, I2C, UART, SPI e SWD
  • E/S expandida do XIAO RP2040 Plus: Adiciona 15 pads de GPIO para um total de 26 pinos de E/S digitais, juntamente com uma segunda interface I2C e pads dedicados para USB D+/D−
  • Gerenciamento de bateria integrado: O XIAO RP2040 Plus inclui um PMIC onboard, indicação de carregamento de bateria, conexões dedicadas de bateria e proteção contra retorno de corrente de BAT para 3V3
  • Opções flexíveis de montagem: Pinos comuns compatíveis com protoboard combinados com bordas metalizadas e pads compatíveis com SMD para placas-carrier personalizadas

Especificação

Nome do produtoSeeed Studio XIAO RP2040Seeed Studio XIAO RP2040 Plus
Chipset

Raspberry Pi RP2040

ProcessadorDual Cortex-M0+ até 133 MHz
RAM264 KB SRAM
Flash2 MB Flash onboard
Interface

GPIO Pin x14
Digital Pin × 11
Analog Pin × 4
PWM Pin × 11
I2C × 1
UART × 1
SPI × 1

GPIO Pin x29
Additional GPIO Pad × 15
Digital Pin x26
Analog Pin × 4
PWM × 26
I2C × 2
UART × 1
SPI × 1

Onboard

User LED × 1
Power LED × 1
Green LED × 1
Blue LED × 1
Red LED × 1
RGB LED × 1
Reset Button × 1
Boot Button × 1

User LED × 1
Power LED × 1
Charge LED (Battery Charging Indicator) × 1
RGB LED × 1
Reset Button × 1
Boot Button × 1

Gerenciamento de bateria (PMIC)NenhumPMIC onboard
Alimentação

Tensão de entrada (Type-C): 5V
Tensão de entrada (BAT): 5V

Proteção contra retorno de corrente de BAT para 3V3NãoSim
Compatibilidade de software

Arduino, PlatformIO, MicroPython, CircuitPython, TinyGo, Rust, Zephyr e mais por vir

Temperatura de trabalho-40°C a 85°C
Dimensões21 x 17,8 mm
Variantes

Pacote Seeed Studio XIAO RP2040 3PCS

Seeed Studio XIAO RP2040 pré-soldado

Seeed Studio XIAO RP2040 Plus

Visão geral de hardware

Frente do XIAO RP2040

Verso do XIAO RP2040

cuidado

Para pinos de E/S gerais: A tensão de trabalho do MCU é 3,3 V. Uma tensão de entrada conectada aos pinos de E/S gerais pode causar danos ao chip se for maior que 3,3 V.

Para pinos de alimentação: O circuito conversor DC-DC integrado capaz de transformar 5 V em 3,3 V permite alimentar o dispositivo com uma fonte de 5 V via VIN-PIN e 5V-PIN.

O XIAO RP2040 atualmente só suporta alimentação por bateria e não pode ser conectado ao Type-C enquanto uma bateria estiver conectada, pois isso pode representar um risco de segurança.

Por favor, preste atenção ao usar, não levante a tampa de blindagem.

Mapa de pinos

Pino XIAOFunçãoXIAO RP2040XIAO RP2040 PlusDescrição
5VVBUSVBUSVBUSEntrada/saída de alimentação USB 5 V
GNDGNDGNDGNDTerra
3V33V3_OUT3V3_OUT3V3_OUTSaída de alimentação de 3,3 V
D0A0GPIO26GPIO26GPIO, ADC0
D1A1GPIO27GPIO27GPIO, ADC1
D2A2GPIO28GPIO28GPIO, ADC2
D3A3GPIO29GPIO29GPIO, ADC3
D4SDA0GPIO6GPIO6GPIO, dados I2C0
D5SCL0GPIO7GPIO7GPIO, clock I2C0
D6TXGPIO0GPIO0GPIO, transmissão UART
D7RXGPIO1GPIO1GPIO, recepção UART
D8SCKGPIO2GPIO2GPIO, clock SPI
D9MISOGPIO4GPIO4GPIO, entrada de dados SPI
D10MOSIGPIO3GPIO3GPIO, saída de dados SPI
D11Não disponível como pino externo
D12GPIOGPIO18GPIO de expansão exclusivo da versão Plus
D13SCL1GPIO21Clock I2C1 exclusivo da versão Plus
D14SDA1GPIO20Dados I2C1 exclusivos da versão Plus
D15GPIOGPIO19GPIO de expansão exclusivo da versão Plus
D16GPIOGPIO22GPIO de expansão exclusivo da versão Plus
D17GPIOGPIO23GPIO de expansão exclusivo da versão Plus
D18Não disponível como pino externo
D19GPIOGPIO5GPIO de expansão exclusivo da versão Plus
D20GPIOGPIO13GPIO de expansão exclusivo da versão Plus
D21GPIOGPIO14GPIO de expansão exclusivo da versão Plus
D22GPIOGPIO15GPIO de expansão exclusivo da versão Plus
D23GPIOGPIO16GPIO de expansão exclusivo da versão Plus
D24GPIOGPIO17GPIO de expansão exclusivo da versão Plus
D25GPIOGPIO10GPIO de expansão exclusivo da versão Plus
D26GPIOGPIO9GPIO de expansão exclusivo da versão Plus
D27GPIOGPIO8GPIO de expansão exclusivo da versão Plus
ResetRUNRUNRUNEntrada de reset
BootRP2040_BOOTRP2040_BOOTRP2040_BOOTEntrar no modo bootloader
USER_LED_RCanal vermelhoGPIO17Controle direto do canal vermelho do LED RGB no XIAO RP2040
USER_LED_GCanal verdeGPIO16Controle direto do canal verde do LED RGB no XIAO RP2040
USER_LED_GCanal azulGPIO25Controle direto do canal azul do LED RGB no XIAO RP2040
RGB_LEDDados WS2812BGPIO12/NEOPIXControle de dados de cor WS2812B de fio único
RGB_ENHabilitar WS2812BGPIO11Habilita a alimentação do WS2812B; não é um pino de dados de cor
User LEDLED controlado pelo usuárioGPIO25LED separado controlado pelo usuário no XIAO RP2040 Plus
BAT_ENHabilitar bateriaGPIO24Controle de alimentação da bateria na versão Plus
CHARGE_LEDIndicador de carregamentoLED de status de carregamento controlado por hardware; não é um GPIO de usuário
SWDIODepuração SWDSWDIORP2040_SWDIODados Serial Wire Debug
SWCLKDepuração SWDSWCLKRP2040_SWCLKClock Serial Wire Debug
USB_D+USB-USB_DPDados positivos USB 1.1 Full-Speed
USB_D-USB-USB_DMDados negativos USB 1.1 Full-Speed

Entrar no modo Bootloader

Às vezes, a porta do Seeed Studio XIAO RP2040 pode desaparecer quando o processo de programação do usuário falha. Podemos resolver esse problema com a seguinte operação:

  • Pressione e segure o botão B.
  • Conecte o Seeed Studio XIAO PR2040 ao seu computador.
  • O computador exibirá uma unidade de disco.

Neste ponto, o chip entra no modo Bootloader e a porta de gravação aparece novamente. Como o chip RP2040 possui duas partições, uma é o Bootloader e a outra é o programa do usuário. O produto grava um código de bootloader na memória do sistema quando sai de fábrica. Podemos alternar os modos executando as etapas acima.

Resetar

Se você quiser resetar o Seeed Studio XIAO RP2040, execute os seguintes passos:

  • Conecte o Seeed Studio XIAO RP2040 ao seu computador.
  • Pressione os pinos R uma vez.

Atenção: O comportamento dos LEDs monocromáticos programáveis integrados (eles são vermelho, azul e verde) é o inverso daquele em um Arduino. No Seeed Studio XIAO RP2040, o pino deve ser puxado para nível baixo para habilitar.

pir

Uso da bateria

nota

Somente o XIAO RP2040 Plus possui um conector de bateria BAT na parte traseira, por favor, observe isso.

O XIAO RP2040 Plus é capaz de usar uma bateria de lítio de 3,7 V como entrada de alimentação. Você pode consultar o diagrama a seguir para o método de fiação.


cuidado

Tenha cuidado para não causar curto-circuito entre os terminais positivo e negativo e queimar a bateria e o equipamento durante a soldagem. Se a bateria estiver com carga, nunca a solde diretamente na placa, pois isso pode queimar a placa de circuito. Um curto-circuito enquanto o circuito estiver energizado representa um risco significativo; é recomendável usar um adaptador.

Exemplo de leitura da tensão da bateria

De acordo com o esquemático, o XIAO RP2040 Plus usa o CI carregador de bateria de íon-lítio SGM40567-4.2XG/TR para fornecer carregamento de corrente constante e tensão constante para uma bateria de íon-lítio de célula única. O status de carregamento é indicado pelo piscar do Charge_LED.

O circuito de medição da tensão da bateria usa um chaveador de carga TPS22916CNYFPR para habilitar ou desabilitar o caminho de medição. Quando a tensão da bateria precisa ser medida, o MCU habilita o caminho de medição por meio de BAT_EN (GPIO24), reduzindo assim o consumo da bateria enquanto o dispositivo está em modo de espera.

Além disso, um chaveador analógico SGM4875XXDM6G/TR é usado para alternar o canal de entrada do ADC. Controlado por GPIO24/BAT_EN, ele seleciona se o sinal de medição da bateria ou outro sinal de entrada analógica é conectado ao pino A3 (GPIO29) ADC, permitindo o uso multiplexado do pino do ADC.

dica

Quando o pino A3 é usado como entrada ADC para medir a tensão da bateria, ele não pode ser usado como um pino de E/S de uso geral ao mesmo tempo. Certifique-se de levar isso em conta ao atribuir os pinos.


A tensão da bateria é medida usando um circuito divisor resistivo. A tensão lida pelo ADC é metade da tensão real da bateria, portanto o software deve multiplicar a medição do ADC por 2 para obter a tensão real da bateria.

Exemplo de leitura da bateria
constexpr float ADC_VREF = 3.3f;
constexpr float ADC_MAX = 4095.0f;
constexpr float DIVIDER_RATIO = 2.0f; // 10k / 10k voltage divider

float readBatteryVoltage() {
// Enable voltage divider circuit and analog switch simultaneously
digitalWrite(BAT_EN, HIGH);

// Wait for U2 output, RC filter and ADC input to stabilize
delay(10);

// Discard one possibly stale ADC reading
analogRead(A3);

// Multiple sampling and averaging to reduce noise
uint32_t sum = 0;
constexpr int samples = 16;

for (int i = 0; i < samples; i++) {
sum += analogRead(A3);
delay(2);
}

// Turn off immediately after measurement to avoid continuous power consumption by divider resistors
digitalWrite(BAT_EN, LOW);

float adcRaw = sum / (float)samples;
float a3Voltage = adcRaw * ADC_VREF / ADC_MAX;

return a3Voltage * DIVIDER_RATIO;
}

void setup() {
Serial.begin(115200);

pinMode(BAT_EN, OUTPUT);
digitalWrite(BAT_EN, LOW); // Disable detection circuit by default

analogReadResolution(12); // RP2040 Plus ADC: 0~4095
}

void loop() {
float batteryVoltage = readBatteryVoltage();

Serial.print("Battery: ");
Serial.print(batteryVoltage, 3);
Serial.println(" V");

delay(1000);
}

nota

Para aplicações de baixo consumo, desabilite BAT_EN após a conclusão da medição da tensão da bateria para reduzir o consumo de potência em repouso causado pelos resistores do divisor de tensão.

  • O Charge_LED pisca enquanto a bateria está carregando.

  • Resultado da medição da tensão da bateria: A tensão medida de uma bateria de íon-lítio pode diferir do valor nominal impresso na bateria. Sempre consulte o valor realmente medido.

Visualizador online do esquemático

Recursos

XIAO RP2040

Projeto de hardware

Projeto mecânico

XIAO RP2040 Plus

Projeto de hardware

Recursos do curso

Suporte técnico e discussão sobre o produto

Obrigado por escolher nossos produtos! Estamos aqui para fornecer diferentes tipos de suporte para garantir que sua experiência com nossos produtos seja a mais tranquila possível. Oferecemos vários canais de comunicação para atender a diferentes preferências e necessidades.

Loading Comments...