Pular para o conteúdo

ESP32-S3 12K da Ai-Thinker (e JTAG)

JTAG com ESP32

Do novo parceiro, Tar Eletrônica, lhes apresento o ESP32-S3 12K! E tem diferença dos outros ESP32, então, vamos aos detalhes.

Processador

O ESP32-S3 da Ai-Thinker vem com as tradicionais características de outros ESP32, como WiFi 2.4GHz, com bluetooth 5 LE. O chip é um Xtensa LX7 dual-core com clock de 240MHz. Adicionalmente, temos instruções para IA, além de mecanismo de encriptação!

Placa

A placa possui a tradicional antena na PCB e o pad para IPEX, para quem quiser colocar uma antena externa. Possui 38 IOs programáveis e 512KB de SRAM! Um espetáculo de placa!

Na parte de segurança tem o secure boot, assinatura digital e HMAC baseado no algoritmo RSA, com suporte a AES-XTS. É uma placa para depositar confiança, desde que as implementações sejam confiáveis, claro.

Essa placa tem algumas diferenças em relação dev-kit. Uma das principais é o fato de ter apenas uma entrada micro-USB.

Já há suporte ao ESP32-S3 na IDE do Arduino, porém alguns projetos já estão consagrados no ESP-IDF, como o do próximo artigo relacionado (e que é surpresa ainda). Esse ESP32 tem sido utilizado para reconhecimento facial e reconhecimento de voz, que são outros dois projetos que pretendo implementar, escrever e fazer vídeo a respeito. Tudo depende de tempo.

Pinout da ESP32-S3 12K

A placa é realmente nova e até o momento dessa publicação, sequer achei um desenho do pinout que fosse da própria placa. Nesse caso, estou usando como referência o modelo do dev-kit. A disposição dos IOs são diferentes, mas IO19 é IO19, não importa se está à direita no canto superior ou à esquerda no canto inferior:

Lembrando: Essa imagem é do dev-kit, não AI-Thinker. No AI-Thinker temos 38 GPIOs. Também, temos apenas 1 porta micro-usb.

Pinout para usar o ESP32-S3 12K como JTAG

Calma, porque não é um recurso nativo. No artigo anterior mostrei como transformar o ESP32-S2 ou ESP32-S3 em um JTAG e utilizei essa placa para o projeto. Concluí fazendo o flashing e mostrando a saída do monitor serial, mas não coloquei o pinout para usá-lo de fato. Se nunca utilizou um JTAG para depurar programas de alguma MCU, não sabe o que está perdendo. Nesse vídeo demonstro o procedimento, utilizando um JTAG próprio para ESP32.

Para a placa alvo, verifique seu pinout e identifique os pinos para fazer a interconexão. Na imagem a seguir está exemplificado o processo utilizando um ESP32-WROVER. Do lado do ESP32-S3 não muda nada:

Eu mesmo não gosto da representação como acima, mas basicamente, precisamos lembrar dos pinos:

  • GND
  • TMS
  • TCK
  • TDO
  • TDI
  • TX
  • RX
  • EN
  • IO0
  • VDD

A serial não é fundamental para depuração, mas sim para flashing. Considerando isso, os pinos TX, RX, EN e IO0 são opcionais.

Vídeo de apresentação

Claro que não pode faltar vídeo. Em alguns dias da data de publicação desse artigo, o vídeo deverá estar disponível no canal DobitaobyteBrasil no Youtube. Inscreva-se e clique no sininho para ser notificado assim que sair o vídeo! Além de ajudar o blog e o canal, ainda me motiva a produzir mais conteúdo para você. E se quiser artigo e/ou vídeo sobre algum tema específico, deixe nos comentários de qualquer vídeo em nosso canal no Youtube. Tendo conhecimento e material, será um prazer atendê-lo.

Sair da versão mobile