1 pontos por GN⁺ 22 시간 전 | 1 comentários | Compartilhar no WhatsApp
  • ESP32-S31 é um microcontrolador RISC-V dual-core de 32 bits que opera em até 320MHz, voltado para aplicações IoT avançadas que exigem conectividade multiprotocolo e uma HMI rica
  • Conectividade inclui 2.4GHz Wi‑Fi 6, Thread e Zigbee baseados em IEEE 802.15.4, Bluetooth 5.4 LE e Bluetooth Classic, além de Ethernet MAC de 1000Mbps
  • Sistema e memória trazem 60 GPIO, MMU, 6.86 CoreMark/MHz, 512KB de SRAM, conexão DDR PSRAM de 8 bits a 250MHz, acesso simultâneo a flash e PSRAM, e uma interface SPI dedicada compatível com Octal SPI de alta velocidade
  • HMI e áudio combinam câmera DVP, LCD paralelo RGB/I8080/MOTO6800, codec JPEG·PPA·2D-DMA, até 14 canais de toque, LE Audio baseado em LC3 e sincronização de áudio Bluetooth em hardware com dual I2S
  • Segurança e software oferecem TRNG, PUF baseado em RAM, secure boot, criptografia de flash e PSRAM, aceleradores AES/RSA/ECDSA/ECC, TEE/APM, com integração prevista com ESP-IDF, ESP-Matter, ESP-BLE-AUDIO, ESP-GMF e ESP Private Agents

Visão geral

  • O ESP32-S31 é um microcontrolador RISC-V dual-core de 32 bits de alto desempenho, operando em até 320MHz, voltado para aplicações IoT avançadas que exigem conectividade multiprotocolo abrangente e uma rica interface homem-máquina
  • Com 60 GPIOs, oferece flexibilidade para projetos complexos que integram vários protocolos sem fio, diferentes interfaces de display e uma ampla variedade de periféricos
  • É adequado para cargas de trabalho de edge AI e machine learning, com foco em lidar com inferência de redes neurais, processamento avançado de sinais, visão computacional e aplicações de áudio inteligente dentro da eficiência de uma plataforma embarcada

Conectividade e desempenho de processamento

  • O 2.4GHz Wi‑Fi 6 (802.11ax) busca melhorar a eficiência de transmissão e reduzir o consumo de energia, sendo uma opção adequada para dispositivos alimentados por bateria e sempre conectados
  • O IEEE 802.15.4 viabiliza os protocolos Thread e Zigbee, enquanto o Bluetooth 5.4 LE suporta LE Audio, Direction Finding e Bluetooth Mesh 1.1
  • O Bluetooth Classic (BR/EDR) cuida da compatibilidade com dispositivos de áudio legados e aplicações HMI de baixa latência, enquanto o Ethernet MAC de 1000Mbps oferece uma conexão cabeada estável e de alta largura de banda
  • O sistema adota uma arquitetura RISC-V dual-core de 32 bits com suporte a MMU, oferecendo desempenho de processamento de 6.86 CoreMark/MHz e 60 GPIOs
  • Um dos núcleos conta com caminho de dados de 128 bits e instruções SIMD para suportar processamento paralelo rápido
  • A memória é composta por 512KB de SRAM, conexão DDR PSRAM de 8 bits a 250MHz, acesso simultâneo a flash e PSRAM e expansão de memória externa baseada em interface SPI dedicada compatível com modo Octal SPI de alta velocidade

HMI e áudio

  • A entrada de câmera usa interface DVP de 8 a 16 bits, e o LCD suporta RGB paralelo de 8 a 24 bits, I8080 e MOTO6800
  • Suporta conversão entre RGB565, YUV422, YUV420 e YUV411, e aumenta a eficiência do processamento de imagem e da atualização de display com aceleradores de hardware JPEG codec, PPA e 2D-DMA
  • Oferece até 14 canais de detecção de toque capacitivo, sendo adequado para smart displays, video doorbells, painéis multimídia e aplicações que integram toque, visão e áudio
  • O Bluetooth 5.4 LE Audio suporta streaming de alta qualidade e baixo consumo com base no codec LC3 e em áudio multistream
  • O Bluetooth Classic garante compatibilidade com fones de ouvido, alto-falantes e sistemas automotivos, enquanto os controladores dual I2S fornecem sincronização de áudio Bluetooth em nível de hardware para timing preciso e baixa latência

Segurança

  • Os recursos de segurança baseados em hardware são voltados para aplicações com exigências industriais rigorosas
  • Integra TRNG e recursos PUF baseados em RAM para fornecer a base para geração de chaves e segurança do dispositivo
  • Suporta secure boot, criptografia de flash e PSRAM, e aceleradores criptográficos AES-128/256·RSA·ECDSA·ECC
  • O periférico de assinatura digital baseado em ECDSA protege a chave privada contra acesso por software, enquanto TEE e APM possibilitam isolamento de software para implantação segura de múltiplas aplicações

Software e recursos do produto

  • O ESP32-S31 deverá ser suportado pelo framework open source de desenvolvimento IoT da Espressif, ESP-IDF, pelo ESP-Matter para dispositivos Matter, pelo ESP-BLE-AUDIO e pelo ESP-GMF para aplicações multimídia
  • Também segue na direção de permitir a criação de dispositivos cliente capazes de executar ou interagir com agentes de IA por meio da plataforma ESP Private Agents e integração direta com LLMs gerais
  • Os recursos do produto listam o SoC ESP32-S31, o módulo ESP32-S31-WROOM-3, e os kits de desenvolvimento ESP32-S31-Korvo-1 e ESP32-S31-Function-Coreboard-1

1 comentários

 
Comentários do Hacker News
  • A Espressif está mandando muito bem, e até instruções SIMD entraram na CPU
    Em sistemas embarcados, ter um núcleo RISC-V é algo significativo. Isso porque compilar para SoC deixou de ser algo como baixar toolchains e SDKs proprietários meio quebrados, e ficou muito mais próximo de uma única linha: rustup target add riscv32imac-unknown-none-elf
    Para começar com desenvolvimento embarcado moderno em Rust, vale ver https://kerkour.com/introduction-to-embedded-development-wit... e https://kerkour.com/rust-esp32-pentest

    • As instruções SIMD estão lá mesmo, mas aparentemente não há ponto flutuante em hardware. A descrição do módulo CORDIC também aponta para cálculos em ponto fixo, o que é coerente com a ausência de qualquer menção a ponto flutuante
      Os módulos CAN-FD e Motor PWM são bem-vindos, mas o tempo de conversão do ADC não aparece em lugar nenhum. Em controle de motor, é preciso tempo de conversão abaixo de 1µs, e a transição de ponto fixo para ponto flutuante só aconteceu no ano passado, depois de uns 15 anos sendo adiada
    • Mesmo assim, no momento em que você precisa de blocos de IP como Wi‑Fi, Ethernet e USB, volta tudo à estaca zero
    • Fico curioso sobre o que significa o imac no nome do alvo da arquitetura
    • Precisamos de algo como o Claude Code para projetos de hardware, para de fato conseguir construir todos os projetos que imaginávamos com o ESP32
      Algo que juntasse impressão 3D, aquisição automática de componentes, escrita de software sob medida e talvez até um braço robótico; seria ótimo poder simplesmente colocar as peças numa caixa bonita em cima da mesa, como se fosse uma caixa de correio. PROFIT
    • Tentei usar Rust em um desses dispositivos, mas até agora tudo que vi no lado RISC-V parecia estranho, como se ARM e RISC-V estivessem misturados
  • Eu gostaria que não chamassem tudo de ESP32. A transição de ESP8266 e ESP8285 para ESP32 fazia sentido, mas agora já existem mais de 10 versões com recursos e arquiteturas diferentes
    É parecido com como, em toda thread sobre Raspberry Pi Pico (RP2030/RP2350), sempre aparece alguém confundindo com a versão computador de placa única
    Quando ouço ESP32, ainda penso primeiro no ESP32 Classic, geralmente no WROOM-32E

    • Parece haver um mal-entendido fundamental sobre como uma família de microcontroladores é estruturada
      Não é que existam mais de 10 “versões” com recursos diferentes. Falar em versões passa muito a ideia de uma evolução gradual ao longo do tempo que foi bagunçada por ir adicionando e removendo módulos
      Na prática, existem 4 ou 5 linhas de produto que compartilham o mesmo SDK, filosofia de projeto, estrutura de preços, cadeia de suprimentos e canais de suporte. Para equipes de engenharia que projetam produtos, cada uma delas é muito importante. Não é algo voltado só para quem aprende por hobby, embora eu ache que eles também ofereçam bastante suporte para esse público
      Dentro dessas linhas, aí sim existem versões reais. Por exemplo, hoje há principalmente as linhas S, C, H e P, e o ESP32-S2 já não é mais recomendado para novos projetos; deve-se usar o ESP32-S3
      No fim, o critério para entender isso é: “dá para colocar um chip com o nome ESP32 numa PCB e programá-lo com o mesmo SDK?”
      O mesmo vale para a série de microcontroladores RP2XXX. Se alguém confunde um microcontrolador com um computador de placa única, talvez não esteja no lugar certo
      De forma mais ampla, quando você se depara com algo assim, aprende mais rápido se não começar partindo da suposição de que “eu já entendi e os outros estão errados”. É melhor manter a mente aberta e fazer muitas perguntas; estamos numa era de ouro para autodidatas, mas isso só vale para quem consegue manter por bastante tempo uma curiosidade humilde
    • É um esquema de nomenclatura como STM32, EFM32, GD32 etc.
    • É um nome que indica compatibilidade com o ESP-IDF
    • Outras famílias de produtos fazem o mesmo. Existe STM32 e, abaixo disso, há muitas opções intermediárias, desde o STM32C0 de entrada até chips Linux completos como o STM32MP2
    • Engraçado que você acabou de misturar o nome da placa de desenvolvimento Pico com o chip dela, o RP2040
  • Estou fazendo projetos hobby de arte com LEDs usando WLED, e o WLED é construído exclusivamente sobre a plataforma ESP32. É muito divertido, e o desempenho dessas plaquinhas, junto com a comunidade open source, continua me impressionando
    Minha plataforma de controle preferida é a linha QuinLED. Ela inclui distribuição de energia, reguladores de tensão, trilhas grossas de cobre, resistores configuráveis nas linhas de dados e suporte a hardware auxiliar inteligente, e ainda é barata, algo em torno de 30 a 50 dólares por controlador. quinled.info
    <https://kno.wled.ge/> é o site do WLED e, pessoalmente, acho que é uma das URLs mais inteligentes de todos os tempos

    • Fico curioso sobre que hardware você usa. Quais LEDs ou matrizes você anda comprando, e qual modelo de controlador QuinLED você usa? Tenho me divertido bastante com displays HUB75 ultimamente, então queria conhecer outras opções e projetos
    • Faço muitos projetos com LEDs, mas uso só WS2812. Fico curioso sobre por que seria necessário um controlador. Seria por causa do alto brilho?
    • cr.yp.to/ também é uma URL bem legal, e existe há muito tempo
  • Pelo datasheet, há um periférico BitScrambler, e em termos de flexibilidade ele parece muito semelhante ao PIO do Raspberry Pi Pico

    Operações em nível de bit podem consumir bastante CPU, e como o DMA foi originalmente projetado para tirar esse tipo de trabalho da CPU, o ESP32-S31 integra dois periféricos dedicados chamados BitScrambler. Esses módulos foram projetados para transformar o formato dos dados durante transferências entre memória e periféricos. Um BitScrambler lida com transferências de memória para periférico ou de memória para memória, e o outro é dedicado a transferências de periférico para memória. O BitScrambler consegue lidar com as operações em nível de bit mencionadas anteriormente, mas na verdade é uma máquina de estados flexível e programável capaz de realizar transformações mais avançadas.
    Espero que seja tão útil quanto o PIO do Pi Pico

  • As especificações parecem boas, e resta ver quanto tempo vai levar até sair no meu formato preferido da Espressif, o módulo WROOM, ou em uma placa de desenvolvimento pequena. Também fico curioso com o preço, mas até agora tem sido impressionante ver gerações oferecendo muito mais por preços parecidos
    Se a expectativa é por um núcleo RISC-V relativamente rápido e SIMD, o P4, que já está disponível, também vale a pena conferir. O clock é um pouco mais alto, mas não tem wireless: https://products.espressif.com/#/product-comparison?names=ES...
    Também há trabalhos interessantes que processam muitos dados de pixels usando recursos de DSP e processamento de imagem embutido, e parece que o S31 deve funcionar de forma parecida: https://www.reddit.com/r/WLED/comments/1ry2jd7/wledmmp4_with...

    • Se o preço continuar relativamente parecido, o custo-benefício vai ser absurdo. Talvez eu tenha que adiar de novo o projeto paralelo em que estou trabalhando agora para voltar a outros projetos paralelos que deixei de lado por problemas de otimização no ESP32 antigo
    • O ESP32-S31-WROOM-3 e duas placas de desenvolvimento baseadas nele, a ESP32-S31-Function-CoreBoard-1 e a ESP32-S31-Korvo-1, já foram lançados. Todos podem ser encontrados na loja oficial da Espressif no Aliexpress
  • Discussão anterior de quando foi anunciado, há dois meses: https://news.ycombinator.com/item?id=47561678

  • É bom ver Wi‑Fi e Ethernet com fio de volta na mesma peça
    Por outro lado, perdeu o suporte a MIPI que existia na linha P4 de RISC-V dual-core

    • Seria muito bom ter os dois no mesmo chip
    • Fico curioso sobre como a Ethernet com fio funciona tecnicamente em um chip desses. É algo como usar 8 pinos GPIO dedicados?
  • Esses dispositivos pequenos são realmente fascinantes. Tenho um projeto paralelo que talvez eu comece algum dia: colocar 32 SoCs, ou um número menor de SoCs com mais núcleos, conectá-los por trilhas na PCB a um hub Ethernet e deixar uma ou mais portas de rede uplink para poder interligar várias placas
    A ideia é que cada núcleo acenda um LED vermelho na frente da placa por meio de suportes de LED em 90 graus
    Eu gostaria de juntar 16 dessas placas para fazer um pequeno cubo Connection Machine
    Só não sei muito bem para que serviria um cluster de 512 servidores extremamente fracos. Talvez para aprender a gerenciar uma quantidade irracional de nós

    • Sempre quis montar uma máquina n-cube. Pessoalmente prefiro o RP2350 e tenho bastante interesse em pensar no que daria para fazer com PIO↔PIO entre chips
      O objetivo principal seria descobrir como programar isso equilibrando facilidade de uso e desempenho
      Ideias como junções de PSRAM também são boas. Cada núcleo teria sua própria PSRAM, mas os vizinhos poderiam trocar a posse entre si
      Também já me perguntei o que aconteceria na faixa de radiofrequência se isso fosse feito com ESP32. Seriam 512 dispositivos gritando uns com os outros em um espaço pequeno
  • É bem-vindo ver uma adoção maior de RISC-V em toda a linha ESP32. As peças antigas baseadas em Xtensa também eram boas, mas com RISC-V as ferramentas, o suporte de compiladores e o ecossistema de longo prazo tendem a ficar mais organizados

  • Toco um pouco de instrumento, então tenho interesse em saída de áudio
    Fico curioso sobre como está hoje a saída de áudio por Bluetooth em microcontroladores. Será que dá para ter baixa latência e boa qualidade?

    • A baixa latência em áudio Bluetooth depende do codec, e os melhores codecs são proprietários
      Se você realmente quiser reduzir bastante a latência usando wireless nesse tipo de hardware, uma opção é usar outro ESP32 para enviar um fluxo de bits diretamente entre os dois
    • Os produtos da Espressif não são ideais para áudio Bluetooth. O suporte a Classic Bluetooth, ainda muito usado para áudio Bluetooth, é inconsistente e em vários modelos mais novos foi removido por completo
    • Fico curioso se há algum motivo específico para querer wireless. Pelo que sei, áudio por Bluetooth é ruim demais e eu não iria querer usá-lo para música. Melhor ir de cabo mesmo, ainda mais porque o espectro sem fio já está lotado demais
    • Para usos musicais mais sérios, do playback de áudio até entrada MIDI, concordo que o Bluetooth no Windows é um desastre
      Alguns anos atrás tentei montar um ambiente móvel de composição em DAW como hobby usando um notebook Windows de ponta. Só a latência real do áudio BT saindo do notebook para fones ou earbuds já tornava tudo inutilizável, e a latência de entrada de um controlador MIDI por BT separado também era inutilizável. Juntando os dois, a latência total ficava simplesmente ridícula
      Na época isso era um problema amplamente conhecido e bastante lamentado. Alguns blogs técnicos, inclusive blogs da MSFT, diziam que havia problemas em todas as camadas da pilha — drivers, firmware, silício etc. — e que havia trabalho em andamento para consertar essa bagunça de ponta a ponta
      A única solução viável para Windows mencionada online era usar algum dispositivo wireless específico que não fosse Bluetooth. Ter que plugar um dongle USB dedicado no notebook e escolher entre um dispositivo específico ou um dongle receptor compatível com todos os seus dispositivos era simplesmente menos atraente do que usar cabo
      Desde então voltei a pesquisar mais ou menos uma vez por ano, mas ainda não vi relatos de progresso significativo, e também diminuíram as discussões sobre qualquer trabalho em andamento. É muito decepcionante. A parte de qualidade de áudio por BT também não parece ter melhorado muito
      Para evitar degradação da qualidade de áudio, é preciso escolher dispositivos específicos que suportem codecs BT proprietários, ou mudar para hardware wireless com dongle não-BT. Ainda se fala em melhorias de qualidade de áudio, mas não parece haver sinais claros de que o padrão de áudio BT vá exigir um piso mínimo padrão de qualidade melhor
      Se houver alguma informação sobre melhorias de latência padrão, qualidade padrão ou entrada e saída em dispositivos BT padrão no ecossistema Windows, eu realmente gostaria de saber