Mostrando postagens com marcador plaquinhas. Mostrar todas as postagens
Mostrando postagens com marcador plaquinhas. Mostrar todas as postagens

quinta-feira, 30 de novembro de 2023

NodeMCU ESP8266

Aqui estão apenas informações básicas para que eu não esqueça e resolvi juntar tudo neste pequeno texto para consulta rápida no futuro.


Vários ângulos do NodeMCU ESP8266 V2



Existem diferentes versões do NodeMCU ESP8266, como pode ser observado em Compare Versions and Types of NodeMCU ESP8266 Boards, a que tenho é a versão 2 com o chip 2102.


Características Técnicas

O NodeMCU esp12, combina o chip ESP8266 e a interface de comunicação usb-serial com um regulador de tensão 3.3 V. Sua programação pode ser realizada utilizando LUA ou a IDE do Arduino.

O NodeMCU vem com antena de wifi embutida e conexão micro-usb, possui 11 pinos I/Os.

O seu controlador é o ESP-12F aumentando o alcance da sua antena wifi.
 
Dados Técnicos:
Controlador: ESP8266 ESP-12E
Tensão de operação: 4,5V - 9VDC
Nível lógico: 3.3V (não tolerante a 5V)
Corrente de operação: 270mA
Portas digitais (GPIO): 11
Entrada analógica (ADC): 1 (limitado a 1,8V)
GPIO: função PWM, I2C e SPI
Pinos UART: 2
Suporte a redes: 802.11 b/g/n
Potência de saída: +20dBm no modo 802.11b
Conexão micro USB (alimentação e programação)
Suporta alimentação externa através do pino VIN
Alcance: ~90m
Taxa de dados: 110 - 460800bps
Processador: Arm 32 bits
Comunicação: TCP IP
Criptografia: WEP, WPA, TKIP, AES
Modos de operação: STA/AP/STA+AP


Pinagem

Pinagem do NodeMCU V2 CP2102 - Fonte: mischianti.org



Ambiente de Programação


Ferramentas -> Placa -> Gerenciador de Placas

Ao abrir a caixa de seleção, no campo de procura digite esp8266 e selecione a opção esp8266 by ESP8266 Community





Ou se preferir ver o vídeo:





Consumo do ESP8266

Como o Hello World! das plaquinhas é o Blink (piscar LED), vamos iniciar o consumo com o LED azul piscando no exemplo básico que já acompanha a biblioteca padrão, para não ficar com dúvidas tem até o print screen do script no IDE do Arduino.


Print screen do Arduino IDE com o exemplo do Blink (pisca LED)


O consumo no Blink é tão baixo que o meu medidor não saiu do 0.


Medição do NodeMCU executando um blink dos exemplos básicos


Continuando nos exemplos de biblioteca padrão, desta vez vamos para o WiFiScan, e ao abrir o monitor serial não se esqueça de alterar a velocidade para 115200 (seta vermelha), caso contrário fica ilegível como nas primeiras linhas desta tela da imagem.


Print screen do exemplo do WiFiScan no Arduino IDE com o Monitor Serial


Com o uso do WiFi o consumo já aumenta, e vai para a casa dos 60 mA.


Consumo do NodeMCU executando o script de exemplo WiFiScan





Links para o estudar o Deauther:

terça-feira, 25 de abril de 2023

Conversor Serial/USB

É uma das plaquinhas mais baratas e úteis para iniciar e aprender hardware hacking.


Conversor USB Serial que usarei para extrair informações de alguns dispositivos




A placa da FTDI (Future Technology Devices International) FT232RL é um conversor serial para USB.




Conversor USB Serial que usarei para extrair informações de alguns dispositivos



Ao adquirir verifique quantos pinos existem na placa, o recomendado é a de 6 pinos, que já possuem o DTR (Data Terminal Ready) e o CTS (Clear To Send). 




PinoIn / OutDescrição
DTROutputData Terminal Ready
RXInputSerial Receive
TXOutputSerial Transmit
Vcc+CC 3,3V ou 5V
CTSInputClear To Send
Gnd-Ground 0V


Ligação


Na hora de ligar o RX (RX - Serial Receive - Input) lembre-se de coloca-lo no TX (TX - Serial Transmit - Output) do dispositivo, e ao ligar o pino TX coloque a ponta no RX  do dispositivo.

Um outro detalhe que não pode esquecer é de confirmar a tensão que sai do dispositivo pelo TX (TX - Serial Transmit - Output), se é de 5Vcc ou de 3,3Vcc, e mudar o jumper, que neste caso funciona como uma "chave seletora de voltagem",  para a tensão correspondente.

Outra forma de usar o Conversor serial USB já foi explicada para gravar firmware no ESP01.


Esquema de ligação do ESP01 com o Conversor - Modificado a partir de Fernando K




A principio usaremos apenas o terra (Ground), transmissor (TX - Serial Transmit - Output) e receptor (RX - Serial Receive - Input) para fazer a "leitura" das informações dos dispositivos conectados através do SSH (Secure Shell), e para os usuários de ®windows podem usar o Putty.


Algumas informações que podem ser coletadas com o conversor serial/USB em dispositivos de rede:
Total Flash size
Chip ID
Total Memory
Board IP
Host IP
Number of MAC Adress
Base Mac Adress
PSI Size
Versão do Busybox

Esse assunto será abordado com mais detalhes em futuro post sobre BusyBox.

Links Complementares:
Arduino as a usb to serial(TTL) converter

segunda-feira, 6 de fevereiro de 2023

ESP01

Esta é uma das menores placas do mundo maker com microcontrolador, e possibilita o uso do Arduino IDE para programar "diretamente".  


Frente e verso da plaquinha além de alguns nomes que ficou conhecida.


ESP-01 , Módulo ESP8266 WiFi  ou ainda Ponte Serial Wifi, qualquer um desses nomes serve para esta plaquinha, que para saber mais detalhes dos componentes do módulo ESP8266 basta conferir na imagem.


Componentes do módulo ESP8266 Wifi    Reprodução: Pinterest


Apenas para fins históricos e curiosidade, no principio do ESP8266 usavam comandos AT para programar.

Atenção:
Existem muitas diferenças entre o módulo ESP8266 e o nodeMCU ESP8266, fique atento ao comprar.

Comunicação com o PC



Podemos usar o Conversor Serial/USB para efetuar a comunicação com o PC. Se o seu for do mesmo modelo com a chave seletora de tensão basta seguir o vídeo Gravando no ESP-01, ou seguir o esquema da imagem.

Fique atento que são necessários 2 jumps, um no VCC e outro no GND, além de mudar o jumper para a tensão de 3,3 V.


Esquema de ligação do ESP01 com o Conversor - Modificado a partir de Fernando K




Agora se o seu conversor não tem o jumper seletor de tensão pode seguir este Programando o ESP01 utilizando o Adaptador USB Serial para ESP8266 / ESP-01.


Cuidado com as Semelhanças


Apesar de parecidas fisicamente, não confunda com o módulo NRF24L01, para entender a diferença sugiro assistir Estão Vendendo Gato por Lebre! NRF24L01 não é ESP01.

Por curiosidade não é possível usar o Spacehuhn's esp8266_deauther project que é exclusivo para o ESP8266 conforme explicado em mais detalhes neste texto, mas inspirou outros para desenvolver o ESP32 Marauder.

Links Interessantes:




WiFi Duck
WiFi Deauthentication Frame
How to Install ESP8266 Deauther using Arduino IDE
ESP8266 As a Microcontroller ainda falta testar

terça-feira, 24 de janeiro de 2023

Labrador - Caninos Loucos

Fui em um evento na USP em 08/12/2022, Aplicações IoT com a single board computer Labrador, para ser mais exato no Ocean, mantido pela Samsung, lá o Lucas apresentou a placa principal da Caninos Loucos, que é a Labrador.


SBC Labrador ligada com algumas atividades em execução


Já tinha visto a placa na Visita do Maddog ao WikiLab, porém na época meu conhecimento em SBC (Single Board Computer) era bem limitado.

Também comentou sobre a outra placa, mais compacta, a Flea (Pulga). mas ficamos apenas na citação mesmo.

Para não esquecer sobre o assunto, e também futuras consultas, compartilho aqui algumas anotações que fiz para possíveis estudos.

Em segurança das placas citou dois conceitos que eu não conhecia:

SSI (Self Soreveign Identity)


ABAC (Attribute Based Access Control)


Detalhes da placa Labrador da Caninos Loucos, usada no dia 


Alguns outros tópicos apenas citados:

Vigilância distribuída

Blink Labrador
Mbed
Riot
Zephyr

Lora é diferente de LoraWan


Por curiosidade o sistema usado é baseado no Debian 10 com kernel 4.14.

terça-feira, 9 de agosto de 2022

NRF24L01

Frente e verso da placa de módulo de rádio frequência NRF24L01



 

Atenção para não confundir com o ESP01 que tem o tamanho similar e muitos vendedores de internet se confundem ao anunciar, como explicado no vídeo Estão Vendendo Gato por Lebre! NRF24L01 não é ESP01 - #IDEIASAOVIVO.

Módulo de rádio frequência NRF24L01, e como normalmente é usado em dupla, com um sendo o transmissor e o outro o receptor, e ganhei apenas este, não foi possível executar testes práticos.

Vou deixar algumas anotações do que aprendi pesquisando sobre o assunto, como a página de downloads do nRF24 Series que é um Single Chip 2.4GHz Transceiver.

É uma plaquinha barata para adicionar comunicação wireless em arduino e similares como pode ser visto em NRF24L01 Wireless Transceiver 2,4GHz.

Lembre de adicionar a Lib do NRF24L01 no Arduino IDE para poder usá-lo.


Para passar o programa do PC para a placa é necessário um adaptador USB Serial, existem dois tipos diferentes, para o segundo tipo tem um bom tutorial em Programando o ESP01 utilizando o Adaptador USB Serial para ESP8266 / ESP-01




Descobri hoje 26/09/2022 por um grupo do telegram que também é usado no projeto da baratas ciborgues. 


Assim que descobrir a origem da imagem adiciono os créditos



Como usar o módulo de Rádio Frequência NRF24L01 no Arduino

Vídeo Módulos para Arduino - Vídeo 02 - Comunicação Wireless NRF24L01

Neste vídeo ele usa um arduino nano e afirma que a tensão de trabalho do nRF24L01 é de 3,3 V #73 nRF24L01 Send (and receive) data with your Arduino!

terça-feira, 2 de agosto de 2022

Badges #badgelife

Badges

Existem badges que não fazem nada de útil, apenas piscam LEDs  como o Encrypted Wall, existem os didáticos como o TCP Packet, os saudosistas como o floppy disk e o Floppy do Lonely Hackers Club.



Badges Encrypted Wall, TCP Packet, floppy v1 e Lonely Hackers Club



Alguns outros badges interessantes são o do Tor, que é um detector de mentiras (poligrafo) e pode ser visto em Hooked to a Lie Detector [Tor Badge] | DEF CON 29.

DEF CON 30 será entre 11 e 14 de agosto de 2022 e por enquanto essa é a lista das badges de 2022.

Tem até um mini documentário como o BadgeLife - A Hackaday Documentary de 2018.

Além dos Badges, também existem os Pins ou Shitty Add-Ons, e são em sua maioria apenas uns penduricalhos para enfeitar o Badge. 

Para isto seguem um padrão de pinagem com alimentação de 3,3V e GND, SDA (GPIO 21 no ESP32) e SCL (GPIO 22 no ESP32) da comunicação I2C, GPIO1 (TX0 no ESP32) e GPIO2 (D2 no ESP32).


Pinagem do SAO - Fonte: YouTube HackADay


Alguns exemplos de arte muito bem feita em SAOs são o Baphomet Defcon SAO, Tor SAO Def Con


Badges H2HC

Um costume interessante nas conferencias americanas é o uso de badges, mas aqui no Brasil é muito difícil de ver alguma, com exceção da H2HC que faz os próprios badges.


Badges da H2HC de 2015, 2016, 2017, 2018 e 2019


Badge H2HC de 2015 é basicamente um Arduino Leonardo que funciona com 5V.

Badge H2HC de 2016 é um contador binário simples baseado no nodeMCU. Usando o uplink WiFi do ESP, ele pode ser facilmente transformado em um relógio NTP.

Badge H2HC de 2017 é um pequeno injetor USB HID baseado no ATTiny85. Depois que foi descoberto que o ATTiny85 poderia ser usado para BitBang USB (ele não possui uma interface USB nativa).

Badge H2HC de 2018 é um Espressif ESP32 WROOM, que é um pequeno WiFi & Bluetooth LE System on Chip.

Badge H2HC de 2019 não consegui encontrar informações detalhadas.

Atualizado em janeiro de 2023:

Coleções de Badges

E existem alguns colecionadores de respeito.


Coleção de Badges do @hamster  Reprocução: @hamster



Coleção do d1g1t4l_t3mpl4r que estava a venda



Vídeos e Links Complementares



Neste vídeo da DEF CON 27: #badgelife Art and SAOs with Twinkle Twinkie - Hak5 2605 Twinkle Twinkie explica como fez a badge e alguns SAOs, e deixa alguns exemplos no site

Alex Chaveriat comenta sobre alguns Unofficial DEF CON 29 Badges #badgelife | Pre-Con Look. E já na DEF CON 29 conversa com o criador do Incredible DC801 Badge | DEF CON 29, os códigos podem ser encontrados no GItHub como o DC801 Black Mage Badge

Aqui vão alguns outros links para inspirar:



Se chegou até aqui e gostou, deixa um comentário ou entre em contato comigo, estou querendo desenvolver uma badge com ESP32 e um Display 2.4 TFT SPI 240 X 320 com touch e slot para cartão SD, mas vou precisar de mais gente no processo, até porque muitas coisas ainda estou aprendendo.a intenção é ser um projeto aberto e colaborativo.

quinta-feira, 7 de julho de 2022

Digispark - parte 2

Aqui vou apenas deixar registrado algumas anotações de comandos usados nos scripts para o HH - Digispark (54), além de observações sobre as bibliotecas usadas e até o consumo executando alguns scripts.







Consumo

Como na época do primeiro post ainda não tinha o USB Color Display Tester, aqui deixo registrado o valor consumido quando executa  um blink (Arquivo -> Exemplos -> Digispark_Examples -> Start), são 5 V e 0,011 A com a potência de 0,062 W.






Com um script simples para digitar texto no PC o consumo tem pouquíssima alteração.



Este script inclusive com algumas pequenas alterações, pode ser usado como "cofre" de uma parte de uma senha complexa, onde o digispark digita uma parte da senha a depois o usuário completa a senha digitando outra parte manualmente.


Bibliotecas

A biblioteca mais usada para "simular" o teclado é a DigiKeyboard.h.

Em alguns casos como o uso em computadores com teclado ABNT2 é necessário trocar a biblioteca padrão desses scripts por uma biblioteca adaptada,  no caso a digisparkABNT2 ou a DigiKeyboardPtBr.h

Enquanto no ®windows o arquivo scancode-ascii-table.h deve ser colocado dentro do diretório C:\Users\USUÁRIO\AppData\Local\Arduino15\packages\digistump\hardware\avr\1.6.7\libraries\DigisparkKeyboard no Linux o equivalente é home/nome_do_usuario/sketchbook/libraries.

Comando



Os comandos mais usados são:
DigiKeyboard.println ("Mensagem sempre entre aspas");
DigiKeyboard.delay (tempo em milisegundos);
DigiKeyboard.sendKeyStroke (código da tecla);


Exemplo de comandos bastante usados para scripts no Digispark no Arduino IDE




O ATtiny 85, microcontrolador do Digispark, tem 8 KB de memória flash, que em teoria significariam 8192 caracteres para uso, mas ainda existe o programa que lê o script, então considere usar no máximo a metade.

Muitas das vezes o HH - Digispark pode ser usado como um teclado para digitar alguns comandos no PC, e para facilitar o entendimento dos scripts que estou estudando vai uma tabela das teclas e os códigos usados na Arduino IDE.


Tabela com as principais teclas e seus códigos usados no Arduino IDE para o Digispark




Para usar duas teclas simultaneamente basta usar uma vírgula entre elas, como por exemplo as teclas de atalho.

A tecla TAB é nornalmente acionada por :
DigiKeyboard.sendKeyStroke (KEY_TAB); 
Em alguns casos para navegar pela tela sem o mouse, usamos a tecla TAB, em alguns casos é preciso usar diversas vezes seguidas (no exemplo esta com 3 ), e o comando pode ser substituído e simplificado por: 
DigiKeyboard.print ("\t\t\t");

Para ver como seria o resultado com a biblioteca incorreta no Digispark, basta comparar a grafia no Arduino IDE para o resultado no bloco de notas, no video abaixo:



 

Uma sugestão é criar os próprios scripts, e para ajudar sugiro ver Para que servem as teclas de F1 a F12 nos computadores.



quarta-feira, 20 de abril de 2022

Intel Edison e Wireshark

O pessoal do ABC Makerspace resolveu corrigir um erro na instalação do suporte para a placa Intel Edison, e descobriu que o mesmo acontece com a Intel Galileo, mas para corrigir é necessário saber onde o Arduino IDE vai buscar  os repositórios, a pendência era esse link de quando é instalado o suporte de uma nova placa.




Em conversa com o grupo, um corrigiu o erro localmente, porém é necessário enviar essa correção para os repositórios oficiais, e para descobrir a resposta deste caso foi usado o Wireshark.




As placas que usaremos para fazer o estudo são a Intel i686 Boards que é correspondente da linha de placas Intel Edison e a Intel i586 Boards, que é referente a linha de placas Intel Galileo.

Para preparar a captura a tela foi dividida no meio e deixei em uma parte o wireshark já aberto e na outra parte abri o Arduino IDE.


Área de trabalho dividida e preparada com wireshark e Arduino IDE

Se for possível, antes de tudo, para minimizar o tamanho do pacote a ser capturado pelo wireshark, precisamos garantir que todos os outros programas estejam fechados, até para evitar confusão na hora da analise.


Arduino IDE

Depois de abrir o Arduino IDE, entre em Ferramentas -> Placa -> Gerenciador de Placas, na caixa que se abre, no canto superior direito basta digitar o nome  da placa a ser adicionada, e como as duas são da Intel, o resultado será semelhante a este:


Resultado da busca por placas da Intel no Arduino IDE


Infelizmente o link "more info" nos conduz ao http://maker.intel.com/ que esta desativado. 

Para instalar o suporte às placas é só clicar em instalar e aguardar a finalização, depois para usar não se esqueça de selecionar a placa correta no Arduino IDE, entre em Ferramentas -> Placa e basta escolher a que vai utilizar.


Intel Edison


A Intel i686 Boards é a Edison com a versão 1.6.7 + 1.0, e o pacote tem 78998 kb, o arquivo gerado pelo wireshark foi de 87 MB.

Para gravar o pacote do Wireshark, foi deixado aberto o Arduino IDE no ponto exato em que começa a instalação do suporte à placa, inicio o Wireshark e na sequencia a instalação no Arduino IDE, assim que concluida a instalação paro e salvo o pacote gerado pelo wireshark.


Wireshark e Arduino IDE abertos simultaneamente para gravação do pacote


Ao analisar o pacote gravado pelo Wireshark, utilizando o filtro HTTP conseguimos o seguinte resultado:


Resultado do Wireshark com filtro HTTP2 para instalação da Intel Edison



No resultado da análise conseguimos a URL onde esta o repósitório que o Arduino IDE vai buscar os arquivos para suporte da placa.


Por curiosidade tentei acessar o IP encontrado (http://108.139.182.103) usando o browser e o resultado foi um erro 403.




O mesmo procedimento depois foi feito para a Intel Galileo.


Intel Galileo


A única diferença foi que no caso da Intel Galileo foi usado o filtro "http2", e para entender melhor sugiro ler HTTP/1 to HTTP/2 to HTTP/3 (em inglês).



Resultado do Wireshark com filtro HTTP2 para instalação da Intel Galileo



A Intel i586 Boards é a Galileo com a versão 1.6.7 + 1.0, e o pacote tem 56227 kb, e o arquivo gerado pelo wireshark foi de 62 MB, o link encontrado foi:

http://downloadmirror.intel.com/24806/eng/galileo-toolchain-linux64-1.6.2-1.0.tar.bz2


Apenas por curiosidade, como o resultado deu um IP (http://108.139.182.109), tentei acessar pelo browser, e o resultado foi um erro 403.




Assim que finalizada a correção será upada no github do ABC Makerspace.


Se gosta de plaquinhas de prototipagem já escrevi mais sobre o assunto em:


Descobri agora que é possível medir potência do sinal wi-fi com o Wireshark, depois de ver o vídeo Pick a Wi-Fi Antenna for WiFi Hacking [Tutorial] (janeiro 2023)

quinta-feira, 23 de setembro de 2021

USB Color Display Tester - parte 1

USB Color Display Tester com o estojo 


Como adquiri um USB Color Display Tester fiz alguns testes e medições e compartilho os resultados aqui. Caso se interesse por mais detalhes do dispositivo tem o manual em inglês\chinês com 4 páginas no total, pode ser baixado escaneando o QR Code da embalagem.

Com esse aumento da energia elétrica criando até novas taxas na conta, vou soltar essas medições e vou atualizando com novos posts os dispositivos que tenho mas ainda não medi. 


Descrição de alguns campos do USB Color Display Tester

Como são muitos campos que o USB Color Display Tester mostra, vou focar apenas em tensão (Volts), corrente (Ampéres) e potência (Watts).


Carregadores


Cada carregador tem suas características técnicas , fique atento na capacidade pois caso não tenha potência suficiente não conseguirá carregar o dispositivo. Os que eu usei para testes foram da Motorola, da Xiaomi

Motorola SPN5863A identificado na Anatel pelo código 01339-14-05392 , características técnicas.



Carregador de celular Motorola SPN5863A




Xiaomi 





PowerBanks


Tenho dois tipos de power bank, e vou medir o carregamento de ambos por alguns carregadores. O primeiro é o Power Bank Kaidi 5.000 MAh Slim KD-952 e o outro é um daqueles genéricos que algumas empresas dão de brinde.


Os dois tipos de Power Bank que foram testados e o USB Color Display Tester




Power Bank Kaidi 5.000 MAh Slim KD-952 Original Preto obteve as seguintes medições:
  •   5,27 V     1,81 A e 9,55 W com o carregador Xiaomi;
  •   4,81 V     0,77 A e 3,74 W com o carregador Motorola;

Medições do Power Bank Kaidi no carregador Xiaomi e no carregador Motorola




Power Bank de "brinde" , daqueles que tem apenas uma célula e vendem em ambulantes, obteve as seguintes medições:
  •   5,23 V     0,75 A e 3,92 W com o carregador Xiaomi
  •   5,28 V     0,73 A e 3,89 W com o carregador Motorola
  •   4,96 V     0,47 A e 2,36 W pelo USB do notebook


Imagens das medidas do PowerBank de brinde


Tablets


Tablet Genesis GT-1240 e iPad 1ª geração com o USB Display Tester




O bom e velho Tablet Genesis GT-1240, que uso apenas como leitor de ebooks, sem acesso a rede wi-fi, obteve os seguintes resultados:
  •   5,23 V     0,91 A e  4,80 W com o carregador Xiaomi;
  •   4,80 V     0,78 A e  3,77 W com o carregador Motorola;
  •   4,89 V     0,91 A e  4,45 W pelo USB do notebook


Print sobre o tablet GT-1240 e medições no carregador Xiaomi, Motorola e notebook



No iPad 1ª geração 64 GB modelo A1337, as medidas foram:
  •   5,28 V     1,67 A e 8,81 W com o carregador Xiaomi
  •   5,16 V     0,47 A e 2,44 W com o carregador Motorola
  •   4,94 V     0,46 A e 2,30 W pelo USB do notebook


Medidas no carregador Xiaomi, Motorola e no notebook respectivamente


Na segunda parte vou medir alguns aparelhos de celular, e em breve mais medições compartilhadas.

quarta-feira, 14 de abril de 2021

HH - ESP32

Esse é apenas uma coletânea com alguns links úteis e  informações que considero interessantes, é meu primeiro contato com esta placa que é a ESP32 DEVKITV1, a partir daqui vou usar apenas ESP32 para me referir a placa, e conforme for aprendendo compartilho aqui.


ESP32 DEVKITV1 com o chip ESP-WROOM-32 

A Espressif Systems é a fabricante do ESP32 (daí a abreviação), que de tantas variações fez o fabricante criar até uma ferramenta chamada ESP Product Selector para facilitar a vida de seus clientes, tem um vídeo com uma demonstração feita pelo Fábio Souza ou ainda tem o comparativo no site.


Vista inferior do ESP32 DEVKITV1, vulgo ESP32


Características Técnicas

FCC ID do módulo ESP-WROOM-32 é 2AC7Z-ESPWROOM32 e podem ser encontrados diversos relatórios detalhados, incluindo as fotos internas do módulo, e aqui pode ser visto o datasheet.

O módulo é a parte do encapsulamento metálico, e as antenas ficam ao lado, mas o microcontrolador ESP32 de verdade é apenas o circuito integrado dentro do módulo, como pode ser visto nas  fotos internas do módulo.


Reprodução: Foto interna módulo


Algumas características dessa plaquinha que se destacam são:
Microprocessador dual core Tensilica Xtensa 32-bit LX6
Clock ajustável de 80MHz até 240MHz
Memória flash externa: 32Mb (4 megabytes)
Suporte a redes WiFi: 802.11 b/g/n (2,4 a 2,5GHz)
Segurança: WPA/WPA2/WPA2-Enterprise/WPS
Criptografia: AES/RSA/ECC/SHA
Modo de operação: Station / SoftAP / SoftAP + Station/ P2P
Bluetooth: v4.2 BR / EDR e BLE (Bluetooth Low Energy)

Pinagem




Esquema de pinagem do ESP32 DevKit1  - Reprodução: Circuits4you




Ambiente de Programação

Se assim como eu, optar por usar o Arduino IDE  para ambiente de programação, então sugiro que leia  Como instalar o instalar o Arduino IDE no Linux.

A fabricante disponibiliza o próprio ESP-IDF (IoT Developmant Framework). mas como já estou familiarizado com o Arduino IDE, e a versão estável é 1.8.13,  vamos continuar e adicionar a ESP32.

Antes de usar o ESP32 pela primeira vez é necessário configurar corretamente o Arduino IDE, e na barra de ferramentas, selecionar Arquivo - Preferencias, depois no campo URLs Adicionais para Gerenciadores de Placa basta colar o link https://dl.espressif.com/dl/package_esp32_index.json e clique em OK.




Atenção: Se já tem outras URLs no Arduino IDE, basta separar com uma virgula, por exemplo https://dl.espressif.com/dl/package_esp32_index.jsonhttps://raw.githubusercontent.com/digistump/arduino-boards-index/master/package_digistump_index.json.

Depois no Arduino IDE vá em Ferramentas - Placa, depois na janela Gerenciador de Placas  na caixa de busca digite "esp32", e quando aparecer "esp32 by espressif systems"  clique em Instalar.




Depois de concluída a instalação aparece a notificação INSTALLED.




Depois de instalado basta adicionar a placa DOIT ESP32 DEVKIT V1, para isso basta selecionar no menu Ferramentas - Placa - ESP32 Arduino - DOIT ESP32 DEVKIT V1.








Para verificar se a placa esta funcionando corretamente usaremos como exemplo o WIFISCAN, que se encontra em Arquivo - Exemplos - Exemplos para DOIT ESP32DEVKITV1 / WiFi - WiFiScan




Agora se ainda usa o ®windows sugiro ver esse tutorial do Fernado K.


Consumo do ESP32

Aproveitei que agora tenho um USB Color Display Tester e medi o consumo executando esse exemplo do WiFiScan, que foi de 137 mA, sendo alimentado com 5 V direto do USB do notebook.


Consumo do ESP32 quando executado o exemplo WiFiScan


Para saber o consumo sem usar o wifi com apenas um script que identifica o tipo do chip e quantos cores possui a plaquinha, usamos o GetChipID , cujo resultado pode ser visto no detalhe do monitor serial e o consumo deste é de 45 mA sendo alimentado com 5 V direto do USB do notebook.


No detalhe resultado do GetChipID, e na imagem principal o consumo


Projetos Interessantes

O Fernando K tem duas vídeo aulas introdutórias já com um programa para escanear as redes Wi-Fi e a  potência destas redes (vídeo 1 e vídeo 2) e ainda podem verificar o material usado nestas aulas, é focado em usuários do ®Windows na parte de instalação, mas para gravar o programa na plaquinha é o mesmo procedimento.

O Random Nerd Tutorials tem mais de uma centena de projetos com ESP32, e alguns que destaco são:

Alimentador para peixes Homemade Wi-Fi Fish Feeder With Camera (ESP32-Cam).

Servo motor com ESP32

WiFi Signal Strength Scanner Monitor or Checker

ESP32: Pocket Size Distance Measuring and Logger



Como fazer uma câmera de segurança IP

Um pouco mais trabalhoso é este ESP32 Wifi Robot.

ESP32 Robot Using Servos

Internet Radio Using an ESP32

Mais de 110 projetos usando ESP32 e Arduino IDE.


Variações do ESP32

Caso se interesse por outras variantes do ESP32 ainda sugiro uma lista de material bônus, no site da fabricante Espressif tem um Comparativo de Parâmetros entre os módulos disponíveis e uma lista dos DevKits com ESP32

O Laboratório Hacker de Campinas (LHC) tem uma série de lives chamada "LIVE - Hands On: Construindo o nodeLHC ESP32 com Kicad", usando o KiCad para desenhar a placa e o circuito, e até o momento são estas:

  1. Parte 01 - 28/08/2020 duração de 2h54m, introdução ao Ki-Cad e inicio do circuito:
  2. Parte 02 - 11/09/2020 duração de 3h10m:
  3. Parte 03 - 20/11/2020  sem vídeo, foi coleta de feedback do nodeLHC ESP32:
  4. Parte 04  sem vídeo gravado, foram as melhorias para o nodeLHC ESP32:
  5. Parte 05 - 22/01/2021 duração de 1h52m.

Mais detalhes sobre o projeto podem ser encontrados no GitHub do LHC e podem colaborar com o projeto pelo Discourse do LHC.
Também existe um vídeo Placa de desenvolvimento Open e Colaborativo nodeLHC-ESP32 - Palco: FLAHWL - Fórum de Hardware Livre da LatinoWare 2020 falando sobre o projeto.

O Pedro Minatel também fez algumas lives sobre o ESP32-C3 que usa RISC-V e até do ESP32-S3

Artigos:
Vídeos: