{"id":313,"date":"2026-09-16T09:57:03","date_gmt":"2026-09-16T09:57:03","guid":{"rendered":"https:\/\/build-mode-ak.com\/?p=313"},"modified":"2026-09-16T11:25:41","modified_gmt":"2026-09-16T11:25:41","slug":"esp32-s3-cam-n16r8","status":"publish","type":"post","link":"https:\/\/build-mode-ak.com\/pt-pt\/esp32-s3-cam-n16r8\/","title":{"rendered":"ESP32-S3-CAM N16R8: a placa de c\u00e2mara que a ESP32-CAM devia ter sido"},"content":{"rendered":"<section class=\"sws-page-title alignfull wp-block-sws-theme-page-title\">\n\t<div class=\"sws-page-title__inner\">\n\t\t\n\t\t\t\t\t<nav class=\"sws-page-title__nav\" aria-label=\"Migalhas de p\u00e3o\">\n\t\t\t\t<ol class=\"sws-page-title__trail\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li class=\"sws-page-title__crumb\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a class=\"sws-page-title__link\" href=\"https:\/\/build-mode-ak.com\/pt-pt\/\">In\u00edcio<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/ol>\n\t\t\t<\/nav>\n\t\t\t<\/div><!-- .sws-page-title__inner -->\n\n\t\t\t<div class=\"sws-page-title__shapes\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t<span class=\"sws-page-title__shape sws-page-title__shape--accent\">\n\t\t\t\t\t<svg class=\"sws-page-title__icon\" aria-hidden=\"true\" focusable=\"false\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 64 64\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"4\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n  <path d=\"M7 32h10l4-10 6 20 6-20 6 20 6-20 4 10h8\"\/>\n<\/svg>\t\t\t\t<\/span>\n\t\t\t\t\t\t\t<span class=\"sws-page-title__shape sws-page-title__shape--secondary\">\n\t\t\t\t\t<svg class=\"sws-page-title__icon\" aria-hidden=\"true\" focusable=\"false\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 64 64\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"4\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n  <path d=\"M8 32h17M25 15v34M39 15v34M39 32h17\"\/>\n<\/svg>\t\t\t\t<\/span>\n\t\t\t\t\t\t\t<span class=\"sws-page-title__shape sws-page-title__shape--tertiary\">\n\t\t\t\t\t<svg class=\"sws-page-title__icon\" aria-hidden=\"true\" focusable=\"false\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 64 64\">\n  <path d=\"M7 32h50M46 16v32\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"4\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/>\n  <path d=\"M21.5 18.5c-.7-.4-1.5.1-1.5 1v25c0 .9.8 1.4 1.5 1l21.7-12.4c.8-.5.8-1.7 0-2.2z\" fill=\"currentColor\"\/>\n<\/svg>\t\t\t\t<\/span>\n\t\t\t\t\t\t\t<span class=\"sws-page-title__shape sws-page-title__shape--accent\">\n\t\t\t\t\t<svg class=\"sws-page-title__icon\" aria-hidden=\"true\" focusable=\"false\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 64 64\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"4\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n  <path d=\"M7 40h9C16 18 24 18 24 40C24 18 32 18 32 40C32 18 40 18 40 40C40 18 48 18 48 40h9\"\/>\n<\/svg>\t\t\t\t<\/span>\n\t\t\t\t\t<\/div>\n\t<\/section>\n\n\n\n<p class=\"wp-block-paragraph\">A cl\u00e1ssica ESP32-CAM da AI-Thinker p\u00f4s uma c\u00e2mara com Wi\u2011Fi ao alcance de quase toda a gente e, pelo caminho, ensinou paci\u00eancia a toda uma gera\u00e7\u00e3o de makers. N\u00e3o tem porta USB: cada grava\u00e7\u00e3o do firmware exige um adaptador USB\u2013UART externo e um jumper no GPIO0. Dos seus 16 pinos, os que ficam livres contam-se pelos dedos, e o LED do flash pisca sempre que o programa escreve no cart\u00e3o de mem\u00f3ria.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A placa deste artigo \u00e9 a mesma ideia, mas finalmente bem resolvida. Traz um ESP32-S3 com 16 MB de Flash e 8 MB de PSRAM, uma c\u00e2mara OV5640 de 5 MP, uma ranhura microSD, dois conectores USB\u2011C e os 36 GPIO do m\u00f3dulo, todos dispon\u00edveis nas filas de pinos. H\u00e1 apenas um sen\u00e3o: com a c\u00e2mara e o cart\u00e3o de mem\u00f3ria a trabalhar, os pinos realmente livres ficam reduzidos a seis. A seguir, um mapa detalhado da placa: o que est\u00e1 ligado a qu\u00ea, que conector serve para qu\u00ea, que pinos se podem ocupar e como configurar o Arduino IDE para que a c\u00e2mara n\u00e3o se transforme num quebra-cabe\u00e7as.<\/p>\n\n\n\n<figure class=\"wp-block-image alignwide size-large\"><a href=\"https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/esp32-s3-cam-n16r8-01-pinout.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1448\" height=\"1086\" src=\"https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/esp32-s3-cam-n16r8-01-pinout.png\" alt=\"Pinagem da ESP32-S3 WROOM CAM. Fila esquerda, de cima para baixo: 3V3, EN, GPIO4, 5, 6, 7, 15, 16, 17, 18, 8, 3, 46, 9, 10, 11, 12, 13, 14, 5V. Fila direita: GPIO43 (TX), 44 (RX), 1, 2, 42, 41, 40, 39, 38, 37, 36, 35, 0, 45, 48, 47, 21, 20, 19, GND. As etiquetas coloridas indicam c\u00e2mara, microSD, PSRAM, USB, UART, JTAG, ADC e entradas t\u00e1teis.\" class=\"wp-image-296\" srcset=\"https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/esp32-s3-cam-n16r8-01-pinout.png 1448w, https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/esp32-s3-cam-n16r8-01-pinout-300x225.png 300w, https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/esp32-s3-cam-n16r8-01-pinout-1024x768.png 1024w, https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/esp32-s3-cam-n16r8-01-pinout-768x576.png 768w\" sizes=\"auto, (max-width: 1448px) 100vw, 1448px\" \/><\/a><figcaption class=\"wp-element-caption\">A ESP32-S3 WROOM CAM: as duas filas de pinos e as fun\u00e7\u00f5es de cada um. Clique para ver a vers\u00e3o em tamanho real.<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">De que placa se fala exatamente<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Nas lojas, esta placa aparece com v\u00e1rios nomes: ESP32-S3-CAM, ESP32-S3 WROOM CAM, ESP32-S3 CAM Development Board. Na pr\u00f3pria placa l\u00ea-se apenas um modesto ESP32-S3 WROOM, e na blindagem met\u00e1lica do m\u00f3dulo, ESP32-S3-N16R8. \u00c9 precisamente essa marca\u00e7\u00e3o que revela a caracter\u00edstica principal: <strong>N16<\/strong> significa 16 MB de Flash e <strong>R8<\/strong>, 8 MB de PSRAM. O m\u00f3dulo propriamente dito \u00e9 um ESP32-S3-WROOM-1 com antena impressa na placa.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O desenho copia o da placa Freenove ESP32-S3-WROOM CAM: o mesmo lugar para a c\u00e2mara, os mesmos pinos, dois bot\u00f5es e dois USB\u2011C. A Freenove fornece a sua placa com uma c\u00e2mara OV2640 de 2 MP, ao passo que o exemplar deste artigo traz uma <strong>OV5640 de 5 MP<\/strong>, como mostra a inscri\u00e7\u00e3o no cabo flex\u00edvel. Placas destas saem de v\u00e1rias f\u00e1bricas, e o m\u00f3dulo da c\u00e2mara e a ponte USB\u2013UART podem mudar de lote para lote. Antes de procurar um controlador ou o exemplo de outra pessoa, vale a pena ver a marca\u00e7\u00e3o do exemplar que se tem na m\u00e3o.<\/p>\n\n\n\n<figure class=\"wp-block-gallery alignwide has-nested-images columns-2 is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/esp32-s3-cam-n16r8-02-front.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1200\" height=\"1800\" data-id=\"297\" src=\"https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/esp32-s3-cam-n16r8-02-front.jpg\" alt=\"Frente da placa: em cima, o m\u00f3dulo ESP32-S3-N16R8 com a antena e, sobre ele, a c\u00e2mara OV5640 num cabo flex\u00edvel cor de laranja; mais abaixo, o conector do cabo, os bot\u00f5es EN e BOOT, os LED ON, TX, RX, IO2 e 48 e dois conectores USB\u2011C. Nas margens, duas filas de 20 pinos cada, com os n\u00fameros marcados.\" class=\"wp-image-297\" srcset=\"https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/esp32-s3-cam-n16r8-02-front.jpg 1200w, https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/esp32-s3-cam-n16r8-02-front-200x300.jpg 200w, https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/esp32-s3-cam-n16r8-02-front-683x1024.jpg 683w, https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/esp32-s3-cam-n16r8-02-front-768x1152.jpg 768w, https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/esp32-s3-cam-n16r8-02-front-1024x1536.jpg 1024w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/esp32-s3-cam-n16r8-03-back.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1200\" height=\"1800\" data-id=\"298\" src=\"https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/esp32-s3-cam-n16r8-03-back.jpg\" alt=\"Verso da placa: a ranhura microSD, a legenda dos s\u00edmbolos \u00ab\u2014 Camera\u00bb, \u00ab~ SD Card\u00bb e \u00ab* PSRAM\u00bb, as inscri\u00e7\u00f5es dos conectores, USB-UART \u00e0 esquerda e USB-OTG \u00e0 direita, e pequenos componentes auxiliares.\" class=\"wp-image-298\" srcset=\"https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/esp32-s3-cam-n16r8-03-back.jpg 1200w, https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/esp32-s3-cam-n16r8-03-back-200x300.jpg 200w, https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/esp32-s3-cam-n16r8-03-back-683x1024.jpg 683w, https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/esp32-s3-cam-n16r8-03-back-768x1152.jpg 768w, https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/esp32-s3-cam-n16r8-03-back-1024x1536.jpg 1024w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><\/a><\/figure>\n<figcaption class=\"blocks-gallery-caption wp-element-caption\">Frente e verso. A legenda no verso explica os s\u00edmbolos junto aos n\u00fameros dos pinos: os sublinhados est\u00e3o ocupados pela c\u00e2mara, os marcados com til pelo cart\u00e3o microSD e os marcados com asterisco pela PSRAM.<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Caracter\u00edsticas t\u00e9cnicas<\/h2>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table><thead><tr><th>Elemento<\/th><th>Caracter\u00edstica<\/th><th>O que significa na pr\u00e1tica<\/th><\/tr><\/thead><tbody><tr><td>M\u00f3dulo<\/td><td>ESP32-S3-WROOM-1-N16R8, antena impressa na placa<\/td><td>M\u00f3dulo da Espressif j\u00e1 pronto, com 18 \u00d7 25,5 \u00d7 3,1 mm; os seus 36 GPIO est\u00e3o todos nas filas de pinos<\/td><\/tr><tr><td>Processador<\/td><td>2 n\u00facleos Xtensa LX7, at\u00e9 240 MHz, FPU<\/td><td>Chega para uma transmiss\u00e3o JPEG, o Wi\u2011Fi e a l\u00f3gica da aplica\u00e7\u00e3o em simult\u00e2neo; tem instru\u00e7\u00f5es que aceleram redes neuronais e o processamento de sinal<\/td><\/tr><tr><td>Mem\u00f3ria do SoC<\/td><td>512 KB de SRAM, 384 KB de ROM<\/td><td>A mem\u00f3ria interna n\u00e3o chega para os fotogramas da c\u00e2mara: o lugar deles \u00e9 na PSRAM<\/td><\/tr><tr><td>Flash<\/td><td>16 MB, Quad SPI<\/td><td>Chega para uma aplica\u00e7\u00e3o grande, OTA e um sistema de ficheiros<\/td><\/tr><tr><td>PSRAM<\/td><td>8 MB, Octal SPI (OPI)<\/td><td>Buffers de imagem da c\u00e2mara; no Arduino IDE \u00e9 preciso o modo OPI PSRAM<\/td><\/tr><tr><td>Wi\u2011Fi<\/td><td>2,4 GHz, 802.11 b\/g\/n, at\u00e9 150 Mbit\/s<\/td><td>Transmiss\u00e3o de v\u00eddeo MJPEG, envio de fotografias, atualiza\u00e7\u00f5es sem fios<\/td><\/tr><tr><td>Bluetooth<\/td><td>Bluetooth 5 (LE), mesh, velocidades at\u00e9 2 Mbit\/s e modo Long Range<\/td><td>Apenas BLE: o ESP32-S3 n\u00e3o tem Bluetooth cl\u00e1ssico, logo nem SPP nem A2DP<\/td><\/tr><tr><td>C\u00e2mara<\/td><td>OV5640, 5 MP (2592 \u00d7 1944), barramento DVP de 8 bits, configura\u00e7\u00e3o por SCCB<\/td><td>O pr\u00f3prio sensor comprime o fotograma em JPEG; o barramento ocupa 14 GPIO<\/td><\/tr><tr><td>Conector da c\u00e2mara<\/td><td>FPC, 24 contactos<\/td><td>O m\u00f3dulo da c\u00e2mara \u00e9 substitu\u00edvel: servem m\u00f3dulos do mesmo padr\u00e3o<\/td><\/tr><tr><td>Cart\u00e3o de mem\u00f3ria<\/td><td>microSD, SDMMC em modo de 1 bit<\/td><td>As fotografias e os timelapses ficam gravados na pr\u00f3pria placa; a ranhura ocupa os GPIO38\u201340<\/td><\/tr><tr><td>USB<\/td><td>Dois USB\u2011C: ponte USB\u2013UART ligada \u00e0 UART0 e o USB nativo do pr\u00f3prio ESP32-S3<\/td><td>Grava\u00e7\u00e3o do firmware e registos pelo conector direito; dispositivos USB e depura\u00e7\u00e3o pelo esquerdo<\/td><\/tr><tr><td>GPIO<\/td><td>36 pinos em duas filas de 20 contactos<\/td><td>Seis est\u00e3o livres sem restri\u00e7\u00f5es e mais alguns com condi\u00e7\u00f5es<\/td><\/tr><tr><td>Indicadores e bot\u00f5es<\/td><td>LED ON, TX, RX, IO2 (GPIO2) e RGB WS2812 (GPIO48); bot\u00f5es EN e BOOT (GPIO0)<\/td><td>J\u00e1 h\u00e1 luzes para piscar e bot\u00f5es para premir, sem pe\u00e7as externas<\/td><\/tr><tr><td>Alimenta\u00e7\u00e3o<\/td><td>5 V por USB\u2011C ou pelo pino 5V; no pino 3V3, 3,3 V do regulador da placa<\/td><td>O m\u00f3dulo precisa de uma fonte capaz de fornecer pelo menos 0,5 A<\/td><\/tr><tr><td>N\u00edveis l\u00f3gicos<\/td><td>3,3 V; os GPIO n\u00e3o toleram 5 V<\/td><td>Um sinal de 5 V s\u00f3 se liga atrav\u00e9s de adapta\u00e7\u00e3o de n\u00edveis<\/td><\/tr><tr><td>Temperatura de funcionamento<\/td><td>\u221240\u2026+65 \u00b0C (m\u00f3dulos com Octal PSRAM)<\/td><td>Abaixo dos 85 \u00b0C dos m\u00f3dulos sem PSRAM; numa caixa fechada, isto conta<\/td><\/tr><tr><td>Ambientes de desenvolvimento<\/td><td>Arduino IDE, PlatformIO, ESP-IDF; MicroPython, numa compila\u00e7\u00e3o que inclua o controlador da c\u00e2mara<\/td><td>Para come\u00e7ar depressa, o Arduino \u00e9 mais c\u00f3modo; para um projeto s\u00e9rio, o ESP-IDF<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"has-heading-color has-surface-alt-background-color has-text-color has-background wp-block-paragraph\" style=\"padding-top:var(--wp--preset--spacing--40);padding-right:var(--wp--preset--spacing--40);padding-bottom:var(--wp--preset--spacing--40);padding-left:var(--wp--preset--spacing--40)\">Um pouco de aritm\u00e9tica. Um fotograma de 5 MP em formato RGB565 ocupa <code>2592 \u00d7 1944 \u00d7 2 = 10 077 696<\/code> bytes, ou seja, cerca de 9,6 MiB. \u00c9 mais do que a totalidade dos 8 MB de PSRAM, pelo que a resolu\u00e7\u00e3o completa s\u00f3 est\u00e1 dispon\u00edvel em JPEG, comprimido pelo pr\u00f3prio sensor. Um fotograma UXGA de 1600 \u00d7 1200 no mesmo RGB565 ocupa cerca de 3,7 MiB e j\u00e1 cabe. Na pr\u00e1tica, a c\u00e2mara trabalha quase sempre em JPEG: assim gasta menos mem\u00f3ria e as imagens s\u00e3o mais f\u00e1ceis de enviar por Wi\u2011Fi.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Dois USB\u2011C: que conector serve para qu\u00ea<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Na frente, os conectores n\u00e3o est\u00e3o identificados: as inscri\u00e7\u00f5es USB-UART e USB-OTG est\u00e3o no verso. Da\u00ed a cl\u00e1ssica armadilha do espelho: ao virar a placa com a frente para cima, a inscri\u00e7\u00e3o da esquerda fica por baixo do conector da direita. Vista do lado da c\u00e2mara, com a antena para cima, a placa fica assim:<\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table class=\"has-fixed-layout\"><thead><tr><th>Conector<\/th><th>O que est\u00e1 por tr\u00e1s<\/th><th>Para que usar<\/th><\/tr><\/thead><tbody><tr><td><strong>Esquerdo<\/strong>, USB-OTG<\/td><td>USB nativo do pr\u00f3prio ESP32-S3: GPIO19 \u00e9 D\u2212, GPIO20 \u00e9 D+. USB-Serial-JTAG incorporado ou USB OTG<\/td><td>Depura\u00e7\u00e3o sem adaptador externo e dispositivos USB pr\u00f3prios: teclado, rato, MIDI, unidade de armazenamento, c\u00e2mara web<\/td><\/tr><tr><td><strong>Direito<\/strong>, USB-UART<\/td><td>Ponte USB\u2013UART ligada \u00e0 UART0: GPIO43 \u00e9 TX, GPIO44 \u00e9 RX<\/td><td>Grava\u00e7\u00e3o e Serial Monitor: o caminho mais previs\u00edvel<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">A porta que recebe a sa\u00edda de <code>Serial<\/code> \u00e9 decidida pela op\u00e7\u00e3o <strong>USB CDC On Boot<\/strong> do Arduino IDE. Na posi\u00e7\u00e3o Disabled, <code>Serial<\/code> \u00e9 a UART0 e as mensagens saem pelo conector direito. Na posi\u00e7\u00e3o Enabled, <code>Serial<\/code> passa para o USB nativo, ou seja, para o esquerdo. Se o monitor s\u00e9rie ficar mudo, a primeira coisa a verificar \u00e9 precisamente esta op\u00e7\u00e3o, e tamb\u00e9m o conector onde o cabo est\u00e1 ligado. Por predefini\u00e7\u00e3o, as mensagens do bootloader da ROM saem pelas duas portas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O conector esquerdo tem ainda uma vantagem menos \u00f3bvia. O controlador USB-Serial-JTAG incorporado no ESP32-S3 permite depurar o programa com pontos de interrup\u00e7\u00e3o sem adaptador externo e sem gastar um \u00fanico pino extra. Aqui isso \u00e9 especialmente valioso, porque nesta placa os pinos predefinidos do JTAG externo (GPIO39\u201342) est\u00e3o parcialmente ocupados pelo cart\u00e3o de mem\u00f3ria.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">As filas de pinos: cada pino em detalhe<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A orienta\u00e7\u00e3o das tabelas \u00e9 com os componentes virados para cima, a antena no topo e os conectores USB em baixo. Os n\u00fameros da serigrafia levam s\u00edmbolos: os pinos sublinhados est\u00e3o ocupados pela c\u00e2mara, o til assinala os pinos do microSD e o asterisco os da PSRAM. A legenda destes s\u00edmbolos est\u00e1 impressa no verso.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Fila esquerda, de cima para baixo<\/h3>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table class=\"has-fixed-layout\"><thead><tr><th>Pino<\/th><th>Fun\u00e7\u00e3o na placa<\/th><th>Pode usar-se?<\/th><\/tr><\/thead><tbody><tr><td>3V3<\/td><td>3,3 V do regulador da placa<\/td><td>N\u00e3o \u00e9 um GPIO<\/td><\/tr><tr><td>EN<\/td><td>Reposi\u00e7\u00e3o, bot\u00e3o EN; ativo a n\u00edvel baixo<\/td><td>N\u00e3o<\/td><\/tr><tr><td>GPIO4<\/td><td>C\u00e2mara: SIOD, dados SCCB<\/td><td>S\u00f3 sem a c\u00e2mara<\/td><\/tr><tr><td>GPIO5<\/td><td>C\u00e2mara: SIOC, rel\u00f3gio SCCB<\/td><td>S\u00f3 sem a c\u00e2mara<\/td><\/tr><tr><td>GPIO6<\/td><td>C\u00e2mara: VSYNC<\/td><td>S\u00f3 sem a c\u00e2mara<\/td><\/tr><tr><td>GPIO7<\/td><td>C\u00e2mara: HREF<\/td><td>S\u00f3 sem a c\u00e2mara<\/td><\/tr><tr><td>GPIO15<\/td><td>C\u00e2mara: XCLK<\/td><td>S\u00f3 sem a c\u00e2mara<\/td><\/tr><tr><td>GPIO16<\/td><td>C\u00e2mara: D7 (Y9)<\/td><td>S\u00f3 sem a c\u00e2mara<\/td><\/tr><tr><td>GPIO17<\/td><td>C\u00e2mara: D6 (Y8)<\/td><td>S\u00f3 sem a c\u00e2mara<\/td><\/tr><tr><td>GPIO18<\/td><td>C\u00e2mara: D5 (Y7)<\/td><td>S\u00f3 sem a c\u00e2mara<\/td><\/tr><tr><td>GPIO8<\/td><td>C\u00e2mara: D2 (Y4)<\/td><td>S\u00f3 sem a c\u00e2mara<\/td><\/tr><tr><td>GPIO3<\/td><td>Pino de strapping; ADC1, Touch3<\/td><td>Com cuidado<\/td><\/tr><tr><td>GPIO46<\/td><td>Pino de strapping do modo de arranque<\/td><td>Com cuidado<\/td><\/tr><tr><td>GPIO9<\/td><td>C\u00e2mara: D1 (Y3)<\/td><td>S\u00f3 sem a c\u00e2mara<\/td><\/tr><tr><td>GPIO10<\/td><td>C\u00e2mara: D3 (Y5)<\/td><td>S\u00f3 sem a c\u00e2mara<\/td><\/tr><tr><td>GPIO11<\/td><td>C\u00e2mara: D0 (Y2)<\/td><td>S\u00f3 sem a c\u00e2mara<\/td><\/tr><tr><td>GPIO12<\/td><td>C\u00e2mara: D4 (Y6)<\/td><td>S\u00f3 sem a c\u00e2mara<\/td><\/tr><tr><td>GPIO13<\/td><td>C\u00e2mara: PCLK<\/td><td>S\u00f3 sem a c\u00e2mara<\/td><\/tr><tr><td>GPIO14<\/td><td>Livre; ADC2, Touch14<\/td><td><strong>Sim<\/strong><\/td><\/tr><tr><td>5V<\/td><td>Barramento de 5 V<\/td><td>N\u00e3o \u00e9 um GPIO<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Fila direita, de cima para baixo<\/h3>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table class=\"has-fixed-layout\"><thead><tr><th>Pino<\/th><th>Fun\u00e7\u00e3o na placa<\/th><th>Pode usar-se?<\/th><\/tr><\/thead><tbody><tr><td>TX (GPIO43)<\/td><td>UART0 TX, para a ponte USB\u2013UART<\/td><td>S\u00f3 sem o conector direito<\/td><\/tr><tr><td>RX (GPIO44)<\/td><td>UART0 RX, da ponte USB\u2013UART<\/td><td>S\u00f3 sem o conector direito<\/td><\/tr><tr><td>GPIO1<\/td><td>Livre; ADC1, Touch1<\/td><td><strong>Sim<\/strong>, a melhor entrada anal\u00f3gica<\/td><\/tr><tr><td>GPIO2<\/td><td>LED IO2; ADC1, Touch2<\/td><td>Aten\u00e7\u00e3o ao LED<\/td><\/tr><tr><td>GPIO42<\/td><td>Livre; MTMS do JTAG externo<\/td><td><strong>Sim<\/strong><\/td><\/tr><tr><td>GPIO41<\/td><td>Livre; MTDI do JTAG externo<\/td><td><strong>Sim<\/strong><\/td><\/tr><tr><td>GPIO40<\/td><td>microSD: D0; MTDO do JTAG externo<\/td><td>S\u00f3 sem o cart\u00e3o<\/td><\/tr><tr><td>GPIO39<\/td><td>microSD: CLK; MTCK do JTAG externo<\/td><td>S\u00f3 sem o cart\u00e3o<\/td><\/tr><tr><td>GPIO38<\/td><td>microSD: CMD<\/td><td>S\u00f3 sem o cart\u00e3o<\/td><\/tr><tr><td>GPIO37<\/td><td>Octal PSRAM dentro do m\u00f3dulo<\/td><td>Nunca<\/td><\/tr><tr><td>GPIO36<\/td><td>Octal PSRAM dentro do m\u00f3dulo<\/td><td>Nunca<\/td><\/tr><tr><td>GPIO35<\/td><td>Octal PSRAM dentro do m\u00f3dulo<\/td><td>Nunca<\/td><\/tr><tr><td>GPIO0<\/td><td>Bot\u00e3o BOOT, pino de strapping<\/td><td>Com cuidado<\/td><\/tr><tr><td>GPIO45<\/td><td>Pino de strapping: tens\u00e3o de alimenta\u00e7\u00e3o da mem\u00f3ria<\/td><td>Melhor n\u00e3o mexer<\/td><\/tr><tr><td>GPIO48<\/td><td>LED RGB compat\u00edvel com WS2812<\/td><td>Aten\u00e7\u00e3o ao LED<\/td><\/tr><tr><td>GPIO47<\/td><td>Livre<\/td><td><strong>Sim<\/strong><\/td><\/tr><tr><td>GPIO21<\/td><td>Livre<\/td><td><strong>Sim<\/strong><\/td><\/tr><tr><td>GPIO20<\/td><td>USB nativo: D+ (conector esquerdo)<\/td><td>S\u00f3 sem o USB nativo<\/td><\/tr><tr><td>GPIO19<\/td><td>USB nativo: D\u2212 (conector esquerdo)<\/td><td>S\u00f3 sem o USB nativo<\/td><\/tr><tr><td>GND<\/td><td>Massa<\/td><td>N\u00e3o \u00e9 um GPIO<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Os pinos 35\u201337 est\u00e3o acess\u00edveis na fila, mas n\u00e3o se podem usar: nos m\u00f3dulos com Octal PSRAM est\u00e3o ligados internamente \u00e0 mem\u00f3ria, e qualquer sinal externo neles perturba o funcionamento desta.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">36 GPIO, e quantos s\u00e3o realmente seus<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Juntando tudo, o quadro obriga a p\u00f4r os p\u00e9s na terra:<\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table class=\"has-fixed-layout\"><thead><tr><th>Ocupados por<\/th><th>GPIO<\/th><th>Regra<\/th><\/tr><\/thead><tbody><tr><td>C\u00e2mara<\/td><td>4\u201313, 15\u201318<\/td><td>Ocupados enquanto a c\u00e2mara estiver ligada<\/td><\/tr><tr><td>microSD<\/td><td>38\u201340<\/td><td>Ocupados enquanto o cart\u00e3o estiver montado<\/td><\/tr><tr><td>Octal PSRAM<\/td><td>35\u201337<\/td><td>Nunca usar<\/td><\/tr><tr><td>USB nativo<\/td><td>19, 20<\/td><td>Livres s\u00f3 se o conector esquerdo n\u00e3o fizer falta<\/td><\/tr><tr><td>UART0 e ponte USB\u2013UART<\/td><td>43, 44<\/td><td>Livres s\u00f3 se o conector direito n\u00e3o fizer falta<\/td><\/tr><tr><td>LED da placa<\/td><td>2, 48<\/td><td>Utiliz\u00e1veis se o LED n\u00e3o atrapalhar<\/td><\/tr><tr><td>Pinos de strapping<\/td><td>0, 3, 45, 46<\/td><td>S\u00f3 quando se conhecem os n\u00edveis na reposi\u00e7\u00e3o<\/td><\/tr><tr><td>Nada<\/td><td>1, 14, 21, 41, 42, 47<\/td><td>A primeira escolha para o seu pr\u00f3prio circuito<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Em suma, com a c\u00e2mara e o cart\u00e3o de mem\u00f3ria a funcionar, ficam livres sem restri\u00e7\u00f5es <strong>seis pinos: GPIO1, 14, 21, 41, 42 e 47<\/strong>. Para um sensor I\u00b2C, um par de bot\u00f5es e um rel\u00e9, chega; para uma cole\u00e7\u00e3o extensa de perif\u00e9ricos, j\u00e1 n\u00e3o. \u00c9 poss\u00edvel reconquistar mais um par de pinos abdicando de uma das vias USB: se a placa trabalhar apenas pelo conector direito, ficam livres o GPIO19 e o GPIO20. Se trabalhar apenas pelo esquerdo, vale a pena experimentar o GPIO43 e o GPIO44, sem esquecer que continuam ligados \u00e0 ponte USB\u2013UART.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Com as entradas anal\u00f3gicas, a coisa \u00e9 mais delicada. No ESP32-S3, o ADC1 corresponde aos GPIO1\u201310 e o ADC2 aos GPIO11\u201320. A c\u00e2mara fica com quase todos os pinos do ADC1, por isso, com a c\u00e2mara ativa, a \u00fanica entrada anal\u00f3gica sem conflitos \u00e9 o <strong>GPIO1<\/strong>. O GPIO2 e o GPIO3 tamb\u00e9m pertencem ao ADC1, mas o primeiro tem um LED ligado e o segundo \u00e9 um pino de strapping. O GPIO14 pertence ao ADC2, e o ADC2 partilha recursos com o Wi\u2011Fi: enquanto o r\u00e1dio trabalha, a leitura pode atrasar-se ou terminar com erro. Para sensores num projeto com Wi\u2011Fi, deve escolher-se o ADC1. As entradas t\u00e1teis Touch1\u2013Touch14 est\u00e3o nos GPIO1\u201314, mas, entre eles, s\u00f3 o GPIO1 e o GPIO14 est\u00e3o livres sem restri\u00e7\u00f5es.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">E quatro regras sobre os pinos de strapping que poupam um ser\u00e3o:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>O <strong>GPIO0<\/strong> \u00e9 o bot\u00e3o BOOT. Se estiver a n\u00edvel baixo durante a reposi\u00e7\u00e3o, o chip entra em modo de grava\u00e7\u00e3o em vez de executar o programa. O circuito externo n\u00e3o deve puxar o GPIO0 para a massa durante o arranque.<\/li>\n\n\n\n<li>O <strong>GPIO46<\/strong> est\u00e1, por predefini\u00e7\u00e3o, puxado para a massa e escolhe o modo de arranque juntamente com o GPIO0. A combina\u00e7\u00e3o \u00abn\u00edvel baixo no GPIO0, n\u00edvel alto no GPIO46\u00bb durante a reposi\u00e7\u00e3o n\u00e3o \u00e9 permitida.<\/li>\n\n\n\n<li>O <strong>GPIO45<\/strong> define a tens\u00e3o de alimenta\u00e7\u00e3o da mem\u00f3ria: n\u00edvel baixo durante a reposi\u00e7\u00e3o d\u00e1 3,3 V, n\u00edvel alto d\u00e1 1,8 V. A Flash e a PSRAM deste m\u00f3dulo funcionam a 3,3 V, por isso um n\u00edvel alto no GPIO45 durante a reposi\u00e7\u00e3o n\u00e3o \u00e9 permitido. Por predefini\u00e7\u00e3o, o pino est\u00e1 puxado para a massa, e \u00e9 assim que deve ficar.<\/li>\n\n\n\n<li>O <strong>GPIO3<\/strong> escolhe a origem dos sinais JTAG, mas s\u00f3 se o bit correspondente do eFuse tiver sido queimado; num m\u00f3dulo com as defini\u00e7\u00f5es de f\u00e1brica, o seu n\u00edvel \u00e9 ignorado. Mesmo assim, a Espressif inclui-o entre os pinos de strapping, por isso \u00e9 melhor n\u00e3o o escolher logo para o primeiro bot\u00e3o que se ligue.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">A c\u00e2mara: OV5640 e o mapa de pinos certo<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A c\u00e2mara est\u00e1 ligada por um barramento paralelo DVP: oito linhas de dados, tr\u00eas de sincroniza\u00e7\u00e3o, o rel\u00f3gio XCLK e um par de linhas SCCB para configurar o sensor, num total de 14 GPIO. Os pinos PWDN e RESET n\u00e3o est\u00e3o ligados na placa, e na configura\u00e7\u00e3o indica-se <code>-1<\/code> para eles.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A principal armadilha \u00e9 um mapa de pinos alheio. Os exemplos mais populares que circulam na internet foram escritos para a AI-Thinker ESP32-CAM, e os n\u00fameros de GPIO dessa placa, num ESP32-S3, apontam, entre outros, para os pinos 26\u201332, que no S3 est\u00e3o reservados \u00e0 mem\u00f3ria interna, e para os n\u00fameros 22\u201325, que o S3 nem sequer tem. Em contrapartida, as liga\u00e7\u00f5es desta placa <strong>coincidem ponto por ponto com as da Espressif ESP32-S3-EYE<\/strong>, para a qual o Arduino j\u00e1 tem tudo descrito.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No exemplo CameraWebServer (File \u2192 Examples \u2192 ESP32 \u2192 Camera), o modelo escolhe-se no ficheiro <code>board_config.h<\/code>. Por predefini\u00e7\u00e3o, est\u00e1 ativo o <code>CAMERA_MODEL_ESP_EYE<\/code>, que corresponde a outra placa, baseada no ESP32 antigo. \u00c9 preciso comentar essa linha e descomentar <code>CAMERA_MODEL_ESP32S3_EYE<\/code>. Em <code>camera_pins.h<\/code>, os pinos deste modelo s\u00e3o os seguintes, exatamente como na nossa placa:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#define PWDN_GPIO_NUM  -1\n#define RESET_GPIO_NUM -1\n#define XCLK_GPIO_NUM  15\n#define SIOD_GPIO_NUM  4\n#define SIOC_GPIO_NUM  5\n\n#define Y2_GPIO_NUM 11\n#define Y3_GPIO_NUM 9\n#define Y4_GPIO_NUM 8\n#define Y5_GPIO_NUM 10\n#define Y6_GPIO_NUM 12\n#define Y7_GPIO_NUM 18\n#define Y8_GPIO_NUM 17\n#define Y9_GPIO_NUM 16\n\n#define VSYNC_GPIO_NUM 6\n#define HREF_GPIO_NUM  7\n#define PCLK_GPIO_NUM  13<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Para este modelo, o pr\u00f3prio exemplo inverte a imagem na vertical com uma chamada a <code>set_vflip<\/code>. Se a imagem sair de pernas para o ar, basta alternar o V-Flip na interface web; \u00e9 l\u00e1 tamb\u00e9m que se aumenta a resolu\u00e7\u00e3o, porque a transmiss\u00e3o arranca em QVGA. J\u00e1 a falta de PSRAM, o exemplo contorna-a em sil\u00eancio: se <code>psramFound()<\/code> devolver <code>false<\/code>, o tamanho do fotograma fica limitado a SVGA e o buffer passa para a mem\u00f3ria interna. A c\u00e2mara continua a funcionar, mas muito longe de todo o seu potencial.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Se a transmiss\u00e3o ficar a preto<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A OV5640 tem nesta placa um percal\u00e7o conhecido. Donos destas placas relataram que o exemplo inicializa a c\u00e2mara sem erros e que uma OV2640 funciona na mesma placa, mas a OV5640 devolve um fotograma preto. A julgar pelos seus relatos, ajuda mudar a frequ\u00eancia do rel\u00f3gio XCLK: em vez dos 20 MHz predefinidos, usam 24 MHz ou 12 MHz. Em <code>setup()<\/code> muda-se uma \u00fanica linha, <code>xclk_freq_hz<\/code>; os restantes campos mostram com que defini\u00e7\u00f5es costuma ser combinada:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>camera_config_t config;\n\/\/ ... pins as in camera_pins.h ...\nconfig.xclk_freq_hz = 24000000;   \/\/ 20 MHz gave black frames on some OV5640 boards; 12 MHz is the other reported fix\nconfig.pixel_format = PIXFORMAT_JPEG;\nconfig.frame_size   = FRAMESIZE_UXGA;\nconfig.jpeg_quality = 10;\nconfig.fb_location  = CAMERA_FB_IN_PSRAM;\nconfig.fb_count     = 2;\nconfig.grab_mode    = CAMERA_GRAB_LATEST;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Se n\u00e3o resultar, conv\u00e9m verificar se o cabo flex\u00edvel est\u00e1 inserido at\u00e9 ao fim no conector e com a patilha de fixa\u00e7\u00e3o fechada, e tamb\u00e9m se a placa n\u00e3o est\u00e1 a aquecer demasiado: nas mesmas discuss\u00f5es, aconselha-se n\u00e3o a deixar com a c\u00e2mara a trabalhar dentro de uma caixa fechada sem ventila\u00e7\u00e3o. A resolu\u00e7\u00e3o completa do sensor, <code>FRAMESIZE_5MP<\/code>, com 2592 \u00d7 1944, s\u00f3 est\u00e1 dispon\u00edvel em JPEG.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Defini\u00e7\u00f5es do Arduino IDE<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A placa n\u00e3o precisa de um pacote pr\u00f3prio: serve o perfil padr\u00e3o <strong>ESP32S3 Dev Module<\/strong> do arduino-esp32. O essencial \u00e9 indicar corretamente a mem\u00f3ria, porque disso depende que o programa veja ou n\u00e3o a PSRAM.<\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table><thead><tr><th>Par\u00e2metro<\/th><th>Valor<\/th><th>Porqu\u00ea<\/th><\/tr><\/thead><tbody><tr><td>Board<\/td><td>ESP32S3 Dev Module<\/td><td>Perfil gen\u00e9rico para o ESP32-S3<\/td><\/tr><tr><td>Flash Size<\/td><td>16MB (128Mb)<\/td><td>O tamanho real da Flash do m\u00f3dulo N16R8<\/td><\/tr><tr><td>Flash Mode<\/td><td>QIO 80MHz<\/td><td>Aqui a Flash est\u00e1 ligada por Quad SPI; o modo OPI 80MHz destina-se a m\u00f3dulos com Octal Flash<\/td><\/tr><tr><td>PSRAM<\/td><td>OPI PSRAM<\/td><td>A PSRAM est\u00e1 ligada por Octal SPI; com QSPI PSRAM ou Disabled, o programa n\u00e3o a encontra<\/td><\/tr><tr><td>Partition Scheme<\/td><td>16M Flash (3MB APP\/9.9MB FATFS)<\/td><td>O CameraWebServer precisa de pelo menos 3 MB para a aplica\u00e7\u00e3o; o resto fica para ficheiros<\/td><\/tr><tr><td>USB CDC On Boot<\/td><td>Disabled para trabalhar pelo conector direito, Enabled para o esquerdo<\/td><td>Define a porta para onde vai <code>Serial<\/code><\/td><\/tr><tr><td>USB Mode<\/td><td>Hardware CDC and JTAG<\/td><td>USB-Serial-JTAG incorporado; o modo USB-OTG (TinyUSB) \u00e9 preciso para dispositivos USB pr\u00f3prios<\/td><\/tr><tr><td>Upload Mode<\/td><td>UART0 \/ Hardware CDC<\/td><td>Grava\u00e7\u00e3o por qualquer um dos dois conectores<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Se a grava\u00e7\u00e3o deixar de funcionar (por exemplo, porque o programa reconfigurou o USB nativo ou entrou num ciclo de rein\u00edcios), a solu\u00e7\u00e3o \u00e9 entrar manualmente no bootloader: manter BOOT premido, carregar brevemente em EN, largar BOOT e repetir o carregamento. Para o conector direito, o computador pode precisar do controlador da ponte USB\u2013UART. Na placa original da Freenove \u00e9 um CH343, e nos clones aparecem tamb\u00e9m outros chips, por isso o melhor \u00e9 guiar-se pelo que o gestor de dispositivos mostra. O conector esquerdo \u00e9 reconhecido pelos sistemas atuais como porta s\u00e9rie, sem controlador \u00e0 parte.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">microSD, LED e bot\u00f5es<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A ranhura microSD est\u00e1 ligada por SDMMC em modo de 1 bit: CMD no GPIO38, CLK no GPIO39, D0 no GPIO40. \u00c9 mais lento do que o modo de 4 bits, mas poupa tr\u00eas pinos. Duas das tr\u00eas linhas coincidem com os pinos predefinidos do JTAG externo (MTCK e MTDO), por isso o cart\u00e3o e um depurador externo atrapalham-se mutuamente; com o cart\u00e3o, \u00e9 mais c\u00f3modo depurar pelo conector USB esquerdo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">H\u00e1 cinco LED. O ON indica a alimenta\u00e7\u00e3o, o TX e o RX piscam quando h\u00e1 troca de dados pela ponte USB\u2013UART, o IO2 \u00e9 um LED de utilizador no GPIO2 e o 48 \u00e9 um LED RGB endere\u00e7\u00e1vel, compat\u00edvel com WS2812, no GPIO48. No perfil ESP32S3 Dev Module, as macros <code>LED_BUILTIN<\/code> e <code>RGB_BUILTIN<\/code> apontam precisamente para este \u00faltimo, pelo que o Blink padr\u00e3o acende o LED RGB a branco. A cor define-se com a fun\u00e7\u00e3o <code>rgbLedWrite()<\/code>, e a antiga <code>neopixelWrite()<\/code> foi declarada obsoleta.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O bot\u00e3o EN reinicia o m\u00f3dulo; o BOOT est\u00e1 ligado ao GPIO0 e serve para entrar manualmente no bootloader. Depois de o programa arrancar, o BOOT pode ser lido como um bot\u00e3o normal. Um autoteste r\u00e1pido da placa consiste em montar o cart\u00e3o e indicar o resultado com uma cor:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#include \"SD_MMC.h\"\n\nvoid setup() {\n  Serial.begin(115200);\n\n  \/\/ One-bit SDMMC: CLK, CMD, D0\n  SD_MMC.setPins(39, 38, 40);\n\n  if (SD_MMC.begin(\"\/sdcard\", true)) {\n    Serial.printf(\"microSD: %llu MB\\n\", SD_MMC.cardSize() \/ (1024 * 1024));\n    rgbLedWrite(RGB_BUILTIN, 0, 32, 0);   \/\/ green: card mounted\n  } else {\n    Serial.println(\"microSD: mount failed\");\n    rgbLedWrite(RGB_BUILTIN, 32, 0, 0);   \/\/ red: no card\n  }\n}\n\nvoid loop() {}<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Alimenta\u00e7\u00e3o e aquecimento<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A placa alimenta-se por qualquer um dos USB\u2011C ou pelo pino 5V. O pino 3V3 \u00e9 a sa\u00edda do regulador da placa e pode alimentar sensores de 3,3 V de baixo consumo. Os GPIO trabalham apenas com n\u00edveis de 3,3 V: um sinal de 5 V numa entrada pode danificar o m\u00f3dulo, cuja tens\u00e3o de alimenta\u00e7\u00e3o m\u00e1xima absoluta \u00e9 de 3,6 V.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A c\u00e2mara, o envio de dados por Wi\u2011Fi e a escrita no cart\u00e3o provocam picos de corrente. A folha de caracter\u00edsticas do m\u00f3dulo exige da fonte de alimenta\u00e7\u00e3o pelo menos <strong>0,5 A<\/strong>, e uma porta USB fraca ou um cabo comprido e fino ficam facilmente aqu\u00e9m desse requisito. Os sintomas s\u00e3o f\u00e1ceis de reconhecer: a placa reinicia no momento em que a transmiss\u00e3o arranca, e no registo aparece uma mensagem do detetor de subtens\u00e3o, o brownout. Resolve-se com um cabo curto de boa qualidade e uma fonte de alimenta\u00e7\u00e3o de 5 V decente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O segundo limite \u00e9 menos \u00f3bvio: a temperatura. Os m\u00f3dulos com Octal PSRAM, incluindo o N16R8, est\u00e3o especificados para uma temperatura ambiente <strong>at\u00e9 65 \u00b0C<\/strong>, ao passo que as variantes sem PSRAM v\u00e3o at\u00e9 85 \u00b0C. A Espressif ressalva que, com a corre\u00e7\u00e3o de erros da PSRAM (ECC) ativada, o limite sobe para 85 \u00b0C, \u00e0 custa de 1\/16 da capacidade da mem\u00f3ria. A c\u00e2mara e o r\u00e1dio aquecem a placa continuamente, por isso, numa caixa fechada ao sol, essa margem esgota-se depressa; \u00e9 melhor prever orif\u00edcios de ventila\u00e7\u00e3o desde o in\u00edcio.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">O que construir com ela: tr\u00eas cen\u00e1rios elucidativos<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">1. Uma c\u00e2mara para a impressora 3D<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Acompanhar \u00e0 dist\u00e2ncia como vai a impress\u00e3o e, j\u00e1 agora, fazer um timelapse \u00e9 o cen\u00e1rio mais natural para uma placa destas. O projeto Prusa-Firmware-ESP32-Cam, um firmware que liga a c\u00e2mara ao servi\u00e7o Prusa Connect, tem uma descri\u00e7\u00e3o espec\u00edfica para a placa Freenove ESP32-S3-WROOM. Os m\u00f3dulos testados nesse projeto s\u00e3o OV2640, por isso a compatibilidade com a OV5640 ter\u00e1 de ser verificada por conta pr\u00f3pria, mas a disposi\u00e7\u00e3o da placa \u00e9 a mesma.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2. Um registador de timelapse com cart\u00e3o pr\u00f3prio<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A ranhura microSD transforma a placa num registador aut\u00f3nomo: acordar por temporizador, tirar uma fotografia JPEG, guard\u00e1-la no cart\u00e3o e voltar a adormecer. \u00c9 assim que se filma o crescimento das plantas, as obras vistas da janela ou um processo demorado na oficina. A placa, por\u00e9m, n\u00e3o est\u00e1 otimizada para funcionar a bateria: o LED ON est\u00e1 sempre aceso e o pino PWDN da c\u00e2mara n\u00e3o est\u00e1 ligado, pelo que n\u00e3o \u00e9 poss\u00edvel cortar a alimenta\u00e7\u00e3o ao sensor por hardware; resta apenas o modo de espera por software, atrav\u00e9s do SCCB. A corrente em suspens\u00e3o ser\u00e1 nitidamente mais alta do que a do m\u00f3dulo sozinho; para um timelapse ligado \u00e0 rede el\u00e9trica isso n\u00e3o importa, mas para um alimentado a bateria faz muita diferen\u00e7a.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3. C\u00e2mara web USB e vis\u00e3o no pr\u00f3prio dispositivo<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">O USB nativo permite ao ESP32-S3 apresentar-se ao computador como c\u00e2mara web. O esp-iot-solution da Espressif inclui o exemplo <code>usb_webcam<\/code>: a placa torna-se um dispositivo UVC e transmite MJPEG, e a lista de modos do exemplo inclui 1280 \u00d7 720 a 15 fotogramas por segundo. Por predefini\u00e7\u00e3o, o exemplo \u00e9 compilado para a ESP32-S3-EYE, ou seja, para o mesmo mapa de pinos desta placa. A segunda via \u00e9 processar os fotogramas no pr\u00f3prio dispositivo: a framework ESP-WHO da Espressif \u00e9 orientada para o ESP32-S3 e consegue, por exemplo, detetar rostos sem depender da nuvem.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Pontos fortes e fracos<\/h2>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table><thead><tr><th>A favor<\/th><th>Contra<\/th><\/tr><\/thead><tbody><tr><td>Dois USB\u2011C: grava\u00e7\u00e3o sem adaptador e USB nativo<\/td><td>Os conectores s\u00f3 est\u00e3o identificados no verso, e \u00e9 f\u00e1cil troc\u00e1-los<\/td><\/tr><tr><td>16 MB de Flash e 8 MB de Octal PSRAM<\/td><td>Os m\u00f3dulos com Octal PSRAM s\u00f3 est\u00e3o especificados at\u00e9 65 \u00b0C<\/td><\/tr><tr><td>C\u00e2mara de 5 MP substitu\u00edvel<\/td><td>Com a OV5640 pode aparecer um fotograma preto, e h\u00e1 que afinar a frequ\u00eancia do XCLK<\/td><\/tr><tr><td>Ranhura microSD na pr\u00f3pria placa<\/td><td>O cart\u00e3o ocupa tr\u00eas pinos e entra em conflito com o JTAG externo<\/td><\/tr><tr><td>Os 36 GPIO do m\u00f3dulo nas filas de pinos, com os ocupados assinalados na serigrafia<\/td><td>S\u00f3 seis pinos est\u00e3o livres sem restri\u00e7\u00f5es<\/td><\/tr><tr><td>O mapa de pinos coincide com o da ESP32-S3-EYE, e os exemplos prontos servem com uma altera\u00e7\u00e3o m\u00ednima<\/td><td>N\u00e3o est\u00e1 otimizada para aparelhos a bateria: o PWDN n\u00e3o est\u00e1 ligado e o LED de alimenta\u00e7\u00e3o est\u00e1 sempre aceso<\/td><\/tr><tr><td>LED de utilizador e LED RGB na placa<\/td><td>Os lotes diferem na c\u00e2mara e na ponte USB\u2013UART<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Conclus\u00e3o<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A ESP32-S3-CAM N16R8 \u00e9 uma ESP32-CAM curada de quase todas as doen\u00e7as de inf\u00e2ncia: um USB como deve ser, mem\u00f3ria de sobra, c\u00e2mara de 5 MP substitu\u00edvel e uma marca\u00e7\u00e3o honesta dos pinos ocupados na pr\u00f3pria placa. Para uma c\u00e2mara de oficina, um timelapse, vigiar uma impressora 3D ou fazer experi\u00eancias com vis\u00e3o artificial, \u00e9 uma base muito c\u00f3moda.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O pre\u00e7o dessa comodidade \u00e9 ter tudo muito apertado. A c\u00e2mara e o cart\u00e3o de mem\u00f3ria comem quase todos os pinos, a PSRAM tem de ser ativada corretamente e a OV5640 pode obrigar a afinar a frequ\u00eancia. Antes da primeira grava\u00e7\u00e3o, vale a pena percorrer uma pequena lista:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Perfil ESP32S3 Dev Module: Flash de 16 MB, QIO 80MHz, PSRAM em OPI PSRAM.<\/li>\n\n\n\n<li>Mapa de pinos: <code>CAMERA_MODEL_ESP32S3_EYE<\/code>, e n\u00e3o o da AI-Thinker.<\/li>\n\n\n\n<li>Buffers de imagem na PSRAM, formato JPEG.<\/li>\n\n\n\n<li>microSD em SDMMC de 1 bit nos GPIO38, 39 e 40.<\/li>\n\n\n\n<li>O cabo no conector que corresponde \u00e0 op\u00e7\u00e3o USB CDC On Boot.<\/li>\n\n\n\n<li>Pinos novos: primeiro os da lista GPIO1, 14, 21, 41, 42 e 47.<\/li>\n\n\n\n<li>GPIO0, 3, 45 e 46 sem circuitos externos que alterem o seu n\u00edvel durante a reposi\u00e7\u00e3o.<\/li>\n<\/ol>\n\n\n\n<div class=\"wp-block-group has-surface-alt-background-color has-background is-layout-constrained wp-container-core-group-is-layout-893b5037 wp-block-group-is-layout-constrained\" style=\"padding-top:var(--wp--preset--spacing--60);padding-right:var(--wp--preset--spacing--50);padding-bottom:var(--wp--preset--spacing--60);padding-left:var(--wp--preset--spacing--50)\">\n<p class=\"wp-block-paragraph\">Tudo o que ficou dito acima num \u00fanico ficheiro: uma refer\u00eancia aos pinos e \u00e0s limita\u00e7\u00f5es de hardware da placa. D\u00e1 jeito t\u00ea-la ao lado do sketch ou entreg\u00e1-la a um agente de programa\u00e7\u00e3o, para que n\u00e3o invente a pinagem.<\/p>\n\n\n\n<div class=\"wp-block-file\"><a id=\"wp-block-file--media-1\" href=\"https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/esp32-s3-cam-n16r8-coding-reference.md\">ESP32-S3-CAM N16R8 \u2014 refer\u00eancia de pinos para um agente de programa\u00e7\u00e3o (Markdown, em ingl\u00eas, 12 KB)<\/a><a href=\"https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/esp32-s3-cam-n16r8-coding-reference.md\" class=\"wp-block-file__button wp-element-button\" download aria-describedby=\"wp-block-file--media-1\">Transferir<\/a><\/div>\n<\/div>\n\n<div class=\"sws-spacer sws-spacer--medium wp-block-sws-theme-spacer\" aria-hidden=\"true\"><\/div>\n\n","protected":false},"excerpt":{"rendered":"<p>Uma placa ESP32-S3 com c\u00e2mara OV5640 de 5 MP, dois USB\u2011C, microSD, 16 MB de Flash e 8 MB de PSRAM. O que est\u00e1 ligado a qu\u00ea, quais dos 36 GPIO est\u00e3o realmente livres, como configurar o Arduino para a c\u00e2mara \u2014 e uma refer\u00eancia de pinos para transferir.<\/p>\n","protected":false},"author":1,"featured_media":296,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[6],"tags":[75,74],"topic":[62],"class_list":["post-313","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sem-categoria","tag-arduino-pt","tag-esp32-pt","topic-esp32-pt"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>ESP32-S3-CAM N16R8: a placa de c\u00e2mara que a ESP32-CAM devia ter sido - Build Mode<\/title>\n<meta name=\"description\" content=\"A ESP32-S3-CAM N16R8 ao detalhe: c\u00e2mara OV5640, dois USB\u2011C, microSD, pinagem completa, GPIO livres, defini\u00e7\u00f5es do Arduino e refer\u00eancia de pinos.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/build-mode-ak.com\/pt-pt\/esp32-s3-cam-n16r8\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"ESP32-S3-CAM N16R8: a placa de c\u00e2mara que a ESP32-CAM devia ter sido - Build Mode\" \/>\n<meta property=\"og:description\" content=\"A ESP32-S3-CAM N16R8 ao detalhe: c\u00e2mara OV5640, dois USB\u2011C, microSD, pinagem completa, GPIO livres, defini\u00e7\u00f5es do Arduino e refer\u00eancia de pinos.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/build-mode-ak.com\/pt-pt\/esp32-s3-cam-n16r8\/\" \/>\n<meta property=\"og:site_name\" content=\"Build Mode\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-16T09:57:03+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-16T11:25:41+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/esp32-s3-cam-n16r8-01-pinout.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1448\" \/>\n\t<meta property=\"og:image:height\" content=\"1086\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"q_admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"q_admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo estimado de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"22 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/build-mode-ak.com\\\/pt-pt\\\/esp32-s3-cam-n16r8\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/build-mode-ak.com\\\/pt-pt\\\/esp32-s3-cam-n16r8\\\/\"},\"author\":{\"name\":\"q_admin\",\"@id\":\"https:\\\/\\\/build-mode-ak.com\\\/pt-pt\\\/#\\\/schema\\\/person\\\/776a2342163ad07c23ce7dac33d9cc8b\"},\"headline\":\"ESP32-S3-CAM N16R8: a placa de c\u00e2mara que a ESP32-CAM devia ter sido\",\"datePublished\":\"2026-09-16T09:57:03+00:00\",\"dateModified\":\"2026-09-16T11:25:41+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/build-mode-ak.com\\\/pt-pt\\\/esp32-s3-cam-n16r8\\\/\"},\"wordCount\":4418,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/build-mode-ak.com\\\/pt-pt\\\/esp32-s3-cam-n16r8\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/build-mode-ak.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/esp32-s3-cam-n16r8-01-pinout.png\",\"keywords\":[\"Arduino\",\"ESP32\"],\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/build-mode-ak.com\\\/pt-pt\\\/esp32-s3-cam-n16r8\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/build-mode-ak.com\\\/pt-pt\\\/esp32-s3-cam-n16r8\\\/\",\"url\":\"https:\\\/\\\/build-mode-ak.com\\\/pt-pt\\\/esp32-s3-cam-n16r8\\\/\",\"name\":\"ESP32-S3-CAM N16R8: a placa de c\u00e2mara que a ESP32-CAM devia ter sido - Build Mode\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/build-mode-ak.com\\\/pt-pt\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/build-mode-ak.com\\\/pt-pt\\\/esp32-s3-cam-n16r8\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/build-mode-ak.com\\\/pt-pt\\\/esp32-s3-cam-n16r8\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/build-mode-ak.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/esp32-s3-cam-n16r8-01-pinout.png\",\"datePublished\":\"2026-09-16T09:57:03+00:00\",\"dateModified\":\"2026-09-16T11:25:41+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/build-mode-ak.com\\\/pt-pt\\\/#\\\/schema\\\/person\\\/776a2342163ad07c23ce7dac33d9cc8b\"},\"description\":\"A ESP32-S3-CAM N16R8 ao detalhe: c\u00e2mara OV5640, dois USB\u2011C, microSD, pinagem completa, GPIO livres, defini\u00e7\u00f5es do Arduino e refer\u00eancia de pinos.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/build-mode-ak.com\\\/pt-pt\\\/esp32-s3-cam-n16r8\\\/#breadcrumb\"},\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/build-mode-ak.com\\\/pt-pt\\\/esp32-s3-cam-n16r8\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\\\/\\\/build-mode-ak.com\\\/pt-pt\\\/esp32-s3-cam-n16r8\\\/#primaryimage\",\"url\":\"https:\\\/\\\/build-mode-ak.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/esp32-s3-cam-n16r8-01-pinout.png\",\"contentUrl\":\"https:\\\/\\\/build-mode-ak.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/esp32-s3-cam-n16r8-01-pinout.png\",\"width\":1448,\"height\":1086,\"caption\":\"Pinout diagram of the ESP32-S3 WROOM CAM: both headers and the function of every pin\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/build-mode-ak.com\\\/pt-pt\\\/esp32-s3-cam-n16r8\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"In\u00edcio\",\"item\":\"https:\\\/\\\/build-mode-ak.com\\\/pt-pt\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"ESP32-S3-CAM N16R8: a placa de c\u00e2mara que a ESP32-CAM devia ter sido\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/build-mode-ak.com\\\/pt-pt\\\/#website\",\"url\":\"https:\\\/\\\/build-mode-ak.com\\\/pt-pt\\\/\",\"name\":\"Build Mode\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/build-mode-ak.com\\\/pt-pt\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-PT\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/build-mode-ak.com\\\/pt-pt\\\/#\\\/schema\\\/person\\\/776a2342163ad07c23ce7dac33d9cc8b\",\"name\":\"q_admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/9b27ab13255ffada0f0f8683c7d2916b3c1c81aa48c6c0d5668f58421dc498bc?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/9b27ab13255ffada0f0f8683c7d2916b3c1c81aa48c6c0d5668f58421dc498bc?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/9b27ab13255ffada0f0f8683c7d2916b3c1c81aa48c6c0d5668f58421dc498bc?s=96&d=mm&r=g\",\"caption\":\"q_admin\"},\"sameAs\":[\"https:\\\/\\\/build-mode-ak.com\"],\"url\":\"https:\\\/\\\/build-mode-ak.com\\\/pt-pt\\\/author\\\/q_admin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"ESP32-S3-CAM N16R8: a placa de c\u00e2mara que a ESP32-CAM devia ter sido - Build Mode","description":"A ESP32-S3-CAM N16R8 ao detalhe: c\u00e2mara OV5640, dois USB\u2011C, microSD, pinagem completa, GPIO livres, defini\u00e7\u00f5es do Arduino e refer\u00eancia de pinos.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/build-mode-ak.com\/pt-pt\/esp32-s3-cam-n16r8\/","og_locale":"pt_PT","og_type":"article","og_title":"ESP32-S3-CAM N16R8: a placa de c\u00e2mara que a ESP32-CAM devia ter sido - Build Mode","og_description":"A ESP32-S3-CAM N16R8 ao detalhe: c\u00e2mara OV5640, dois USB\u2011C, microSD, pinagem completa, GPIO livres, defini\u00e7\u00f5es do Arduino e refer\u00eancia de pinos.","og_url":"https:\/\/build-mode-ak.com\/pt-pt\/esp32-s3-cam-n16r8\/","og_site_name":"Build Mode","article_published_time":"2026-09-16T09:57:03+00:00","article_modified_time":"2026-09-16T11:25:41+00:00","og_image":[{"width":1448,"height":1086,"url":"https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/esp32-s3-cam-n16r8-01-pinout.png","type":"image\/png"}],"author":"q_admin","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"q_admin","Tempo estimado de leitura":"22 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/build-mode-ak.com\/pt-pt\/esp32-s3-cam-n16r8\/#article","isPartOf":{"@id":"https:\/\/build-mode-ak.com\/pt-pt\/esp32-s3-cam-n16r8\/"},"author":{"name":"q_admin","@id":"https:\/\/build-mode-ak.com\/pt-pt\/#\/schema\/person\/776a2342163ad07c23ce7dac33d9cc8b"},"headline":"ESP32-S3-CAM N16R8: a placa de c\u00e2mara que a ESP32-CAM devia ter sido","datePublished":"2026-09-16T09:57:03+00:00","dateModified":"2026-09-16T11:25:41+00:00","mainEntityOfPage":{"@id":"https:\/\/build-mode-ak.com\/pt-pt\/esp32-s3-cam-n16r8\/"},"wordCount":4418,"commentCount":0,"image":{"@id":"https:\/\/build-mode-ak.com\/pt-pt\/esp32-s3-cam-n16r8\/#primaryimage"},"thumbnailUrl":"https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/esp32-s3-cam-n16r8-01-pinout.png","keywords":["Arduino","ESP32"],"inLanguage":"pt-PT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/build-mode-ak.com\/pt-pt\/esp32-s3-cam-n16r8\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/build-mode-ak.com\/pt-pt\/esp32-s3-cam-n16r8\/","url":"https:\/\/build-mode-ak.com\/pt-pt\/esp32-s3-cam-n16r8\/","name":"ESP32-S3-CAM N16R8: a placa de c\u00e2mara que a ESP32-CAM devia ter sido - Build Mode","isPartOf":{"@id":"https:\/\/build-mode-ak.com\/pt-pt\/#website"},"primaryImageOfPage":{"@id":"https:\/\/build-mode-ak.com\/pt-pt\/esp32-s3-cam-n16r8\/#primaryimage"},"image":{"@id":"https:\/\/build-mode-ak.com\/pt-pt\/esp32-s3-cam-n16r8\/#primaryimage"},"thumbnailUrl":"https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/esp32-s3-cam-n16r8-01-pinout.png","datePublished":"2026-09-16T09:57:03+00:00","dateModified":"2026-09-16T11:25:41+00:00","author":{"@id":"https:\/\/build-mode-ak.com\/pt-pt\/#\/schema\/person\/776a2342163ad07c23ce7dac33d9cc8b"},"description":"A ESP32-S3-CAM N16R8 ao detalhe: c\u00e2mara OV5640, dois USB\u2011C, microSD, pinagem completa, GPIO livres, defini\u00e7\u00f5es do Arduino e refer\u00eancia de pinos.","breadcrumb":{"@id":"https:\/\/build-mode-ak.com\/pt-pt\/esp32-s3-cam-n16r8\/#breadcrumb"},"inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/build-mode-ak.com\/pt-pt\/esp32-s3-cam-n16r8\/"]}]},{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/build-mode-ak.com\/pt-pt\/esp32-s3-cam-n16r8\/#primaryimage","url":"https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/esp32-s3-cam-n16r8-01-pinout.png","contentUrl":"https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/esp32-s3-cam-n16r8-01-pinout.png","width":1448,"height":1086,"caption":"Pinout diagram of the ESP32-S3 WROOM CAM: both headers and the function of every pin"},{"@type":"BreadcrumbList","@id":"https:\/\/build-mode-ak.com\/pt-pt\/esp32-s3-cam-n16r8\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"https:\/\/build-mode-ak.com\/pt-pt\/"},{"@type":"ListItem","position":2,"name":"ESP32-S3-CAM N16R8: a placa de c\u00e2mara que a ESP32-CAM devia ter sido"}]},{"@type":"WebSite","@id":"https:\/\/build-mode-ak.com\/pt-pt\/#website","url":"https:\/\/build-mode-ak.com\/pt-pt\/","name":"Build Mode","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/build-mode-ak.com\/pt-pt\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-PT"},{"@type":"Person","@id":"https:\/\/build-mode-ak.com\/pt-pt\/#\/schema\/person\/776a2342163ad07c23ce7dac33d9cc8b","name":"q_admin","image":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/secure.gravatar.com\/avatar\/9b27ab13255ffada0f0f8683c7d2916b3c1c81aa48c6c0d5668f58421dc498bc?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/9b27ab13255ffada0f0f8683c7d2916b3c1c81aa48c6c0d5668f58421dc498bc?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/9b27ab13255ffada0f0f8683c7d2916b3c1c81aa48c6c0d5668f58421dc498bc?s=96&d=mm&r=g","caption":"q_admin"},"sameAs":["https:\/\/build-mode-ak.com"],"url":"https:\/\/build-mode-ak.com\/pt-pt\/author\/q_admin\/"}]}},"_links":{"self":[{"href":"https:\/\/build-mode-ak.com\/pt-pt\/wp-json\/wp\/v2\/posts\/313","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/build-mode-ak.com\/pt-pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/build-mode-ak.com\/pt-pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/build-mode-ak.com\/pt-pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/build-mode-ak.com\/pt-pt\/wp-json\/wp\/v2\/comments?post=313"}],"version-history":[{"count":2,"href":"https:\/\/build-mode-ak.com\/pt-pt\/wp-json\/wp\/v2\/posts\/313\/revisions"}],"predecessor-version":[{"id":318,"href":"https:\/\/build-mode-ak.com\/pt-pt\/wp-json\/wp\/v2\/posts\/313\/revisions\/318"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/build-mode-ak.com\/pt-pt\/wp-json\/wp\/v2\/media\/296"}],"wp:attachment":[{"href":"https:\/\/build-mode-ak.com\/pt-pt\/wp-json\/wp\/v2\/media?parent=313"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/build-mode-ak.com\/pt-pt\/wp-json\/wp\/v2\/categories?post=313"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/build-mode-ak.com\/pt-pt\/wp-json\/wp\/v2\/tags?post=313"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/build-mode-ak.com\/pt-pt\/wp-json\/wp\/v2\/topic?post=313"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}