Seeed Studio XIAO nRF52840 no Amazon Sidewalk

Introdução
A Seeed Studio tem orgulho de fazer parte do ecossistema de parceiros do Amazon Sidewalk, fornecendo produtos e soluções habilitados para Sidewalk que possibilitam diversos casos de uso de IoT na rede Sidewalk.
O Amazon Sidewalk é uma rede comunitária sem fio segura que usa Amazon Sidewalk Gateways (também chamados de Sidewalk Bridges), como dispositivos Amazon Echo e Ring compatíveis, para fornecer conectividade em nuvem para dispositivos de endpoint de IoT.
O Amazon Sidewalk permite conectividade de baixa largura de banda e longo alcance em casa e além, usando Bluetooth Low Energy para comunicação de curta distância e os protocolos de rádio LoRa e FSK em frequências de 900 MHz para cobrir distâncias maiores. Os Sidewalk Gateways compartilham uma pequena parte da largura de banda de internet do usuário, que é então usada para conectar os endpoints à rede. A força da rede Amazon Sidewalk aumenta com o aumento do número de gateways. Saiba mais sobre o Amazon Sidewalk.
O Amazon Sidewalk está atualmente disponível nos EUA. Os desenvolvedores podem utilizar a funcionalidade de gateway do Sidewalk fora dos EUA apenas para fins de desenvolvimento e testes de endpoints habilitados para Sidewalk. Além disso, recomendamos que você consulte os órgãos reguladores locais e verifique se o gateway tem permissão para operar seu rádio em sua localidade, pois os dispositivos em faixa isenta de licença dos EUA se destinam apenas a fins de desenvolvimento.
Diferenciais do Amazon Sidewalk
O que torna o Sidewalk diferente de outras redes disponíveis hoje:
-
Conectividade persistente
A rede Amazon Sidewalk é alimentada por milhões de dispositivos Amazon Echo e Ring participantes como Amazon Sidewalk Bridges, para fornecer conectividade em nuvem a dispositivos de IoT. Isso garante conectividade persistente para dispositivos que estão fora do alcance de uma rede Wi‑Fi doméstica ou que dependem de um aplicativo móvel ou gateway proprietário para uma conexão com a nuvem.
-
Versatilidade de conexão
O Amazon Sidewalk permite que dispositivos inteligentes se comuniquem por meio de protocolos sem fio como Bluetooth Low Energy (BLE) e ondas de 900 MHz/sub‑GHz. Isso oferece uma conexão segura, confiável e versátil para suportar uma ampla variedade de casos de uso de IoT.
-
Provisionamento automático de dispositivos
O processo de registro sem toque do Amazon Sidewalk começa automaticamente quando o gateway Sidewalk e um endpoint não registrado estão próximos um do outro. Os clientes podem conectar seus dispositivos habilitados para Sidewalk à rede Amazon Sidewalk sem qualquer configuração complexa. Essa facilidade de configuração melhora a experiência geral do usuário.
-
Custo
O Amazon Sidewalk é uma rede com conexão gratuita que oferece cobertura para mais de 90% da população dos EUA. Você não precisa construir ou gerenciar uma infraestrutura de rede separada, o que ajuda a reduzir o investimento de capital e os custos operacionais."
-
Experiência de desenvolvimento simples
Os dispositivos habilitados para Sidewalk vêm pré‑provisionados com certificados de segurança necessários para estabelecer uma conexão criptografada com o AWS IoT Core. Isso permite que você crie soluções de IoT que conectem rapidamente seus dispositivos de borda à AWS, proporcionando uma experiência de configuração plug‑and‑play perfeita para os clientes."
-
Privacidade e segurança
O Amazon Sidewalk é projetado com vários recursos de privacidade e segurança para proteger os dados que trafegam na rede, garantindo a proteção dos dados e da privacidade dos clientes.
Seeed Studio XIAO nRF52840 para Amazon Sidewalk
O XIAO nRF52840 é um módulo sem fio qualificado para o Amazon Sidewalk, fornecendo conectividade de dispositivos de IoT via tecnologia de rádio Bluetooth Low Energy na rede Amazon Sidewalk.
O modelo possui um design de SoM (System‑on‑Module) poderoso e compacto para integração com o Amazon Sidewalk. Com seu chipset nRF52840 integrado, este módulo oferece recursos de BLE, possibilitando conectividade perfeita para aplicações de IoT. O Seeed Studio XIAO possui um fator de forma reduzido, tornando‑o ideal para implantações com restrição de espaço. Com seu desempenho confiável e suporte ao Amazon Sidewalk, ele simplifica e acelera o desenvolvimento de soluções de IoT seguras e confiáveis.
Para mais detalhes sobre as especificações técnicas do módulo, clique aqui.
A documentação irá guiá‑lo por:
-
Instalar e configurar o ambiente de desenvolvimento do Amazon Sidewalk.
-
Configurar seus serviços em nuvem e gerenciar seu XIAO nRF52840.
-
Executar o programa de exemplo BLE do Amazon Sidewalk.
Quando terminar, você poderá executar um aplicativo de exemplo e testá‑lo com o Amazon Sidewalk.
Preparação de hardware
O conteúdo deste tutorial minimizará a necessidade de soldagem ou cabeamento adicional. Portanto, usaremos duas placas de expansão atualmente disponíveis para nos ajudar a concluir o projeto o mais rápido possível. Claro, se você não quiser a despesa extra, também pode optar por conectar o dispositivo diretamente ao XIAO por meio de uma protoboard ou cabo duplex. Dito isso, os dispositivos em Essential são o hardware básico que você deve ter e Optional não é essencial.
Essential
Para completar o conteúdo deste tutorial de exemplo, pode ser necessário preparar o seguinte.
| XIAO nRF52840 Sense | Amazon Sidewalk gateway (Echo Gen4) | Grove - Red LED Button | J-Link | USB para UART |
|---|---|---|---|---|
![]() | ![]() | ![]() | ![]() | ![]() |
Para facilitar os testes do Amazon Sidewalk e o desenvolvimento de endpoints para desenvolvedores não residentes nos EUA que trabalhem fora da região US-East-1 (Norte da Virgínia), é necessária a configuração de uma VPN. Isso permite um acesso contínuo e garante uma participação eficiente no processo de desenvolvimento.
Optional
Para facilitar a fiação e a expansão Grove, ou para uma conexão fácil ao XIAO via JLink, você pode precisar das seguintes placas de expansão.
| Seeed Studio Expansion board for XIAO | Seeed Studio Grove Base for XIAO |
|---|---|
![]() | ![]() |
Configurar o ambiente de desenvolvimento do Amazon Sidewalk
O tutorial original para a instalação rápida do nRF Connect SDK pode ser lido aqui.
A solução Amazon Sidewalk da Nordic Semiconductor é baseada no nRF Connect SDK v2.3.0. Você pode configurar seu ambiente de desenvolvimento seguindo um dos métodos de instalação abaixo:
- Instalação automática (Toolchain Manager)
- Instalação manual
Esta seção se concentrará em como instalar o nRF Connect SDK por meio do Toolchain Manager, o método de instalação automática. O sistema é baseado em Windows 11.
Conclua as etapas abaixo para instalar o nRF Connect SDK automaticamente usando o aplicativo Toolchain Manager. O aplicativo instala a cadeia de ferramentas completa para o nRF Connect SDK, incluindo a extensão nRF Connect para VS Code e o código‑fonte do nRF Connect SDK.
Instalar pré-requisitos
Antes de começar a configurar a toolchain, instale as atualizações disponíveis para o seu sistema operacional. Consulte os Requisitos para obter informações sobre os sistemas operacionais compatíveis e os recursos do Zephyr.
Além disso, certifique-se de instalar a versão Universal do SEGGER J-Link. Isso é necessário para que o SEGGER J-Link funcione corretamente com assemblies Intel e ARM.
Instalar o Toolchain Manager
O Toolchain Manager está disponível no nRF Connect for Desktop, uma ferramenta multiplataforma que fornece diferentes aplicativos que simplificam a instalação do nRF Connect SDK. Tanto a ferramenta quanto o aplicativo estão disponíveis para Windows, Linux e macOS.
Passo 1. Baixe o nRF Connect for Desktop para o seu sistema operacional.

Passo 2. Instale e execute a ferramenta em sua máquina.
Passo 3. Na seção APPS, clique em Install ao lado de Toolchain Manager.

Passo 4. O aplicativo é instalado em sua máquina e o botão Install muda para Open.
Passo 5. Abra o Toolchain Manager no nRF Connect for Desktop.
Clique em SDK ENVIRONMENTS na barra de navegação para especificar onde você deseja instalar o nRF Connect SDK.

Passo 6. Em SDK ENVIRONMENTS, clique no botão Install ao lado da versão do nRF Connect SDK que você deseja instalar.
A versão do nRF Connect SDK da sua escolha é instalada em sua máquina. O botão Install muda para Open VS Code.

O tempo de instalação está relacionado à rede do seu ambiente e espera-se que a instalação leve cerca de uma hora. O software pode não fazer nada durante esse tempo, então, por favor, não presuma que está travado; você pode verificar o progresso da instalação através do log.

Baixando o repositório Amazon Sidewalk
Após a instalação, há duas maneiras de compilar um aplicativo:
- Usando o Visual Studio Code e a extensão nRF Connect for VS Code
- Usando a linha de comando
Passo 7. Para o nosso projeto, o uso da linha de comando é suficiente. Clique na seta para baixo ao lado da versão que você instalou e selecione Open bash.

Sua estrutura de diretórios deve ser semelhante à seguinte:
.
|___ .west
|___ bootloader
|___ modules
|___ nrf
|___ nrfxlib
|___ zephyr
|___ ...
Passo 8. Clone o repositório de aplicativo Amazon Sidewalk do repositório sdk-sidewalk para a pasta do nRF Connect SDK e nomeie-o como sidewalk executando o seguinte comando:
git clone https://github.com/nrfconnect/sdk-sidewalk.git sidewalk
Passo 9. Instale os requisitos do Python para o Amazon Sidewalk.
pip install -r sidewalk/requirements.txt
Se o seu computador ainda não tiver um ambiente Python instalado, leia o tutorial aqui para instalar o Python 3 mais recente em seu computador.
Passo 10. Configure o manifesto do aplicativo Amazon Sidewalk e atualize.
Verifique o caminho atual do manifesto:
west manifest --path
O caminho retornado deve ser semelhante ao seguinte formato.
> /path-to-ncs-folder/nrf/west.yml
Defina o caminho do manifesto para o repositório Amazon Sidewalk:
west config manifest.path sidewalk
Atualize todos os repositórios:
west update

Dependendo da sua conexão, a atualização pode levar algum tempo.
Verifique o novo caminho do manifesto:
west manifest --path
O caminho retornado deve ser semelhante ao seguinte formato.
> /path-to-ncs-folder/sidewalk/west.yml

Por favor, mantenha a janela do Bash aberta, voltaremos a ela em alguns minutos.
Configure seus serviços de nuvem AWS
O tutorial original para a configuração do seu produto Amazon Sidewalk pode ser lido aqui.
Em seguida, precisamos configurar os serviços de nuvem AWS para que o dispositivo seja conectado à sua conta AWS por meio de uma chave.
Passo 1. Baixe o repositório Amazon Sidewalk Sample IoT App para sua máquina local. Abra um novo terminal (se você estiver usando Windows, então abra um novo Powershell) e insira o seguinte comando para clonar o repositório.
git clone https://github.com/aws-samples/aws-iot-core-for-amazon-sidewalk-sample-app.git
Passo 2. Se você está usando o Amazon IoT Core pela primeira vez, talvez precise se inscrever para uma conta raiz ou, se já tiver uma conta raiz ou IAM, faça login no console do Amazon IoT Core.

Passo 3. Obtenha a chave de conta.
Depois de fazer login, no canto superior direito do console, clique no seu nome de usuário e selecione Security credentials.

Em seguida, crie uma nova credencial e salve seu Access Key ID e Secret Access Key. Nós os usaremos em etapas posteriores.

Passo 4. Configure o arquivo credentials na sua máquina local.
Se você ainda não instalou o AWS CLI, talvez seja necessário instalá-lo.
Se você tiver o AWS CLI instalado, poderá usar o comando aws configure para configurar o seu arquivo de credenciais. Se você estiver usando um sistema Windows, precisará executar o comando em uma janela CMD com privilégios de administrador.
aws configure
Em seguida, a janela pedirá que você insira suas chaves, por favor insira-as separadamente e pressione Enter para confirmar.
aws_access_key_id = YOUR_ACCESS_KEY
aws_secret_access_key = YOUR_SECRET_KEY
Em seguida, vem a escolha de país e região; aqui precisamos selecionar us-east-1.
region=us-east-1
Para o restante, simplesmente pressionamos Enter e deixamos o padrão.

Passo 5. Adicione permissões de usuário para criar recursos.
Se o seu usuário tiver permissões de administrador, o pré-requisito já está satisfeito; você pode pular este ponto.
Este tutorial usa por padrão uma conta com direitos de administrador; se você estiver usando uma conta IAM, entre em contato com o seu administrador para habilitar permissões específicas para a sua conta.
- Execute o script
python aws-iot-core-for-amazon-sidewalk-sample-app/ApplicationServerDeployment/policies/generate_policy.py, que irá gerar documentos de política personalizados no diretório ApplicationServerDeployment/policies/ - vá para o console IAM, crie a política usando o conteúdo de DeployStackPolicy.json
- atribua a política criada ao seu usuário Consulte o tutorial do IAM: Create and attach your first customer managed policy para orientações adicionais.
Certifique-se de que o Simplicity Commander (para SiLabs) esteja presente na variável de ambiente PATH do seu sistema.
Tente chamar commander --version no terminal para garantir que o Simplicity Commander esteja disponível.
Execute o exemplo BLE do Amazon Sidewalk
O tutorial original para o Template Bluetooth LE pode ser lido aqui.
Geração de provisionamento
Passo 1. Vá para as ferramentas AWS IoT Core for Amazon Sidewalk.
Abra a pasta aws-iot-core-for-amazon-sidewalk-sample-app que clonamos anteriormente.
Passo 2. Preencha o arquivo de configuração config.yaml. Defina a plataforma de hardware NORDIC.
Abra o arquivo chamado config.yaml na pasta (use um editor adequado, por exemplo, VS Code). Cole o seguinte conteúdo e mantenha-o.
Config:
AWS_PROFILE: default # Name of your AWS profile from .aws/credentials
DESTINATION_NAME: SensorAppDestination # Sidewalk destination used for uplink traffic routing
HARDWARE_PLATFORM: NORDIC # Available values: NORDIC, TI, SILABS or ALL
USERNAME: null
PASSWORD: null
INTERACTIVE_MODE: True
Outputs:
DEVICE_PROFILE_ID: null
WEB_APP_URL: null
_Paths:
PROVISION_SCRIPT_DIR: tools/provision
SILABS_COMMANDER_TOOLS_DIR: null # Not needed if Silabs Commander is already in system Path. Only needed for SILABS.

Passo 3. Configure o ambiente virtual Python para as ferramentas de provisionamento:
cd aws-iot-core-for-amazon-sidewalk-sample-app
python -m pip install --user virtualenv
python -m venv sample-app-env
sample-app-env\Scripts\activate.bat
pip install pip==22.3.1
python -m pip install -r requirements.txt
python -m pip install pyjwt -t .\ApplicationServerDeployment\lambda\authLibs
Passo 4. Neste ponto, você pode querer executar o script helper env_check.py para verificar se o seu ambiente está correto em relação aos erros mais comuns.
python env_check.py
Se a mensagem aparecer como mostrado, então a instalação do seu ambiente ocorreu corretamente.

Passo 5. Execute os scripts de provisionamento do dispositivo:
python EdgeDeviceProvisioning/provision_sidewalk_end_device.py
Você deverá ver a seguinte saída:

Precisamos do arquivo Nordic_MFG.hex que foi gerado aqui, o qual será eventualmente gravado no XIAO nRF52840.
Nordic_MFG.hex é a única credencial para que um dispositivo estabeleça um link de comunicação com o seu Amazon IoT Core, sendo diferente para cada dispositivo ou conta.
Seu arquivo de provisionamento está localizado no diretório EdgeDeviceProvisioning. Os dispositivos são agrupados no subdiretório do perfil de dispositivo, como mostrado na estrutura abaixo:
EdgeDeviceProvisioning \
- DeviceProfile_<profile-id> \
- DeviceProfile.json
- WirelessDevice_<device-id>\
-- Nordic_MFG.bin
-- Nordic_MFG.hex
-- WirelessDevice.json
Copie os arquivos Nordic_MFG.hex e salve-os em um local onde você possa encontrá-los facilmente.
Passo 6. Saia do ambiente virtual Python:
deactivate
Adicionar MQTT ao destino
Para esta parte do tutorial, você pode ler os tutoriais oficiais fornecidos pelo Sidewalk.
Visão geral dos exemplos
O exemplo demonstra um modelo para aplicação Amazon Sidewalk End Node. Ele é otimizado para Bluetooth LE.
O exemplo oferece suporte aos seguintes kits de desenvolvimento:
| Plataformas de hardware | PCA | Nome da placa | Alvo de build |
|---|---|---|---|
| nRF52840 DK | PCA10056 | nrf52840dk_nrf52840 | nrf52840dk_nrf52840 |
Como o Amazon Sidewalk ainda não mesclou nossa PR submission, atualmente daremos suporte ao XIAO nRF52840 modificando a plataforma nRF52840 DK suportada.
| Plataformas de hardware | Nome da placa | Alvo de build |
|---|---|---|
| Seeed Studio XIAO nRF52840 | nrf52840dk_nrf52840 | nrf52840dk_nrf52840 |
O exemplo mostra a implementação da Amazon Sidewalk API para o protocolo de transporte Bluetooth LE. É um exemplo otimizado em memória da configuração Amazon Sidewalk, onde apenas o protocolo de transporte Bluetooth LE é suportado. Devido ao menor tamanho, ambas as partições de bootloader para a aplicação são colocadas na memória flash interna do SoC suportado (nRF52840).
Interface do Usuário
Uma ação de botão é acionada quando você solta o botão. Para usar uma ação de pressionamento longo, mantenha um botão pressionado por 2 segundos ou mais e solte-o.
A atribuição dos botões é a seguinte:
-
Botão 1 (pressionamento longo) -- D1:
Restauração de Fábrica - O aplicativo informa a pilha Amazon Sidewalk sobre o evento de restauração de fábrica. A biblioteca Amazon Sidewalk limpa sua configuração do armazenamento não volátil. Após uma restauração bem-sucedida, o dispositivo precisa ser registrado novamente com os serviços em nuvem.
-
Botão 2 -- D3:
Alternar Pedido de Conexão - O dispositivo solicita ao Gateway Amazon Sidewalk que inicie uma conexão enquanto o dispositivo está anunciando via Bluetooth LE. Após a conexão ser encerrada, o usuário precisa definir novamente o estado do beacon. Gateways podem nem sempre conseguir processar esse pedido, pois isso depende do número de dispositivos conectados a eles.
-
Botão 3 -- D4:
Enviar Hello - Essa ação colocará em fila uma mensagem para a nuvem. Se o Amazon Sidewalk não estiver pronto, ele simplesmente exibirá um erro sem enviar a mensagem. A fila será processada eventualmente e todas as mensagens em fila serão enviadas.
-
Botão 4 (pressionamento curto) -- D9:
Definir nível de bateria falso - A ação define um nível de bateria simulado.
-
Botão 4 (pressionamento longo) -- D9: Entrar em estado DFU - Essa ação desativa a pilha Amazon Sidewalk e inicia o Servidor SMP Bluetooth LE. Você pode atualizar a imagem de firmware usando o aplicativo nRF Connect para dispositivos móveis. Para sair do estado DFU, realize um ciclo de energia no seu dispositivo.
Os LEDs representam o estado atual da aplicação (Ainda não implementado):
-
LED 1 -- D0:
Aplicação conectada com sucesso.
-
LED 2 -- D2:
Aplicação registrada com sucesso.
-
LED 3 -- D5:
Sincronização de horário da aplicação bem-sucedida.
-
LED 4 -- D8:
Link da aplicação ativo.
Preparando o firmware de exemplo
Este exemplo usa o programa de exemplo BLE fornecido pela Amazon Sidewalk; o firmware do driver de hardware é comum a todos os XIAO nRF52840. Se você não quiser passar pelas etapas desta seção, também pode baixar diretamente o arquivo merged.hex fornecido por nós.
Aqui estão os passos exatos a serem seguidos.
Passo 1. Baixe o programa escrito para o XIAO nRF52840 a partir do Github.
Passo 2. Depois de baixado, descompacte a pasta no diretório ncs. O caminho padrão é o seguinte:
C:\ncs\v2.3.0\zephyr\boards\arm\nrf52840dk_nrf52840
O diretório de arquivos originalmente continha os arquivos de desenvolvimento para o nRF52840 DK. Para simplificar, substituímos a placa de desenvolvimento renomeando o programa do XIAO nRF52840.
Portanto, tudo o que você precisa fazer é sobrescrever todos os arquivos do arquivo original nrf52840dk_nrf52840 com todos os arquivos do arquivo zip.
Passo 3. Vamos voltar à janela Bash do nRF Connect SDK. Digite o seguinte comando para realizar a geração do firmware.

cd sidewalk/samples/template_ble/
west build -b nrf52840dk_nrf52840
Se a execução ocorrer bem, você verá a seguinte saída.

Neste ponto, obtivemos o firmware de exemplo, que se chama: merged.hex e está armazenado no local padrão de:
C:\ncs\v2.3.0\sidewalk\samples\template_ble\build\zephyr
Você pode começar colocando este arquivo junto com o arquivo Nordic_MFG.hex que preparamos anteriormente e nós os usaremos juntos mais tarde.
Gravar firmware no XIAO nRF52840
Passo 1. Abra o nRF Connect for Desktop, encontre Programmer nos APPS e instale-o.

Passo 2. Conecte o XIAO nRF52840 via JLink.
Conecte o XIAO nRF52840 ao JLink através da interface SWD.
| Seeed Studio XIAO nRF52840 | JLink (Versão não educacional) |
|---|---|
| 3V3 | Vterf |
| GND | GND |
| SWDIO | SWIO |
| SWCLK | SWCK |

Se você não pretende usar a placa de expansão XIAO, então você pode consultar o XIAO nRF52840 Wiki sobre o uso da interface SWD para soldar adicionalmente fios duplex ao JLink.
Passo 3. Abra o Programmer e grave ambos os firmwares no XIAO nRF52840.
Clique no botão Add file no canto superior esquerdo do software e adicione, respectivamente, o arquivo merged.hex e o Nordic_MFG.hex preparado neste artigo.


Em seguida, conecte o JLink ao seu computador e clique no canto superior esquerdo para selecionar seu dispositivo.

Depois de conectado, clique no botão Read à esquerda para obter a partição de memória do XIAO.

Em seguida, clique em Erase & write para gravar o firmware no XIAO.

Quando terminar, você pode clicar em Read para ver se o formato da memória é aproximado; isso permite verificar se a gravação da memória flash foi bem-sucedida.

Etapa 4. Monte o dispositivo Amazon Sidewalk e faça-o funcionar.
Na prévia do exemplo, marcamos as posições dos pinos aos quais os LEDs e o botão estão conectados. Em seguida, precisaremos usar os quatro Grove LED Buttons, que não apenas nos permitem controlar o funcionamento do XIAO, mas também mostrar os diferentes estados de funcionamento por meio dos LEDs nos botões.
| Seeed Studio XIAO nRF52840 | LED | Botão | USB para UART |
|---|---|---|---|
| D0 | LED1 | ||
| D1 | Botão1 | ||
| D2 | LED2 | ||
| D3 | Botão2 | ||
| D4 | LED3 | ||
| D5 | Botão3 | ||
| D8 | LED4 | ||
| D9 | Botão4 | ||
| RX (D7) | TX | ||
| TX (D6) | RX |

O XIAO é alimentado via USB e então o XIAO nRF52840 é controlado usando botões de pressão, e o log de operação do XIAO está disponível via UART.

Recursos
Suporte Técnico & Discussão sobre o Produto
Obrigado por escolher nossos produtos! Estamos aqui para fornecer diferentes formas de suporte para garantir que sua experiência com nossos produtos seja o mais tranquila possível. Oferecemos diversos canais de comunicação para atender a diferentes preferências e necessidades.






