{"id":310,"date":"2026-09-16T09:57:03","date_gmt":"2026-09-16T09:57:03","guid":{"rendered":"https:\/\/build-mode-ak.com\/?p=310"},"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\/es\/esp32-s3-cam-n16r8\/","title":{"rendered":"ESP32-S3-CAM N16R8: la placa de c\u00e1mara que debi\u00f3 ser la ESP32-CAM"},"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=\"Migas de pan\">\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\/es\/\">Inicio<\/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\">La ESP32-CAM cl\u00e1sica de AI-Thinker puso una c\u00e1mara con Wi\u2011Fi al alcance de casi cualquiera y, de paso, ense\u00f1\u00f3 a toda una generaci\u00f3n de makers a tener paciencia. No tiene puerto USB: cada grabaci\u00f3n del firmware exige un adaptador USB\u2013UART externo y un jumper en GPIO0. De sus 16 pines, los libres se cuentan con los dedos de una mano, y el LED del flash parpadea cada vez que el programa escribe en la tarjeta de memoria.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La placa de este art\u00edculo es la misma idea, pero bien acabada. Lleva un ESP32-S3 con 16 MB de Flash y 8 MB de PSRAM, una c\u00e1mara OV5640 de 5 MP, una ranura microSD, dos conectores USB\u2011C y los 36 GPIO del m\u00f3dulo sacados a las tiras de pines. Solo hay una pega: con la c\u00e1mara y la tarjeta de memoria en marcha, los pines realmente libres se quedan en seis. A continuaci\u00f3n tienes un mapa detallado de la placa: qu\u00e9 va conectado a qu\u00e9, de qu\u00e9 se encarga cada conector, qu\u00e9 pines puedes ocupar y c\u00f3mo configurar Arduino IDE para que la c\u00e1mara no se convierta en una odisea.<\/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=\"Patillaje de la ESP32-S3 WROOM CAM. Tira izquierda, de arriba abajo: 3V3, EN, GPIO4, 5, 6, 7, 15, 16, 17, 18, 8, 3, 46, 9, 10, 11, 12, 13, 14, 5V. Tira derecha: GPIO43 (TX), 44 (RX), 1, 2, 42, 41, 40, 39, 38, 37, 36, 35, 0, 45, 48, 47, 21, 20, 19, GND. Las etiquetas de colores se\u00f1alan la c\u00e1mara, la microSD, la PSRAM, el USB, el UART, el JTAG, el ADC y las entradas t\u00e1ctiles.\" 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\">ESP32-S3 WROOM CAM: las dos tiras de pines y la funci\u00f3n de cada pin. Pulsa para ver la versi\u00f3n a tama\u00f1o completo.<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">De qu\u00e9 placa se habla exactamente<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">En las tiendas esta placa aparece con nombres distintos: ESP32-S3-CAM, ESP32-S3 WROOM CAM, ESP32-S3 CAM Development Board. En la propia placa pone, con modestia, ESP32-S3 WROOM, y en el blindaje met\u00e1lico del m\u00f3dulo, ESP32-S3-N16R8. Ese marcado es justo la caracter\u00edstica clave: <strong>N16<\/strong> significa 16 MB de Flash y <strong>R8<\/strong>, 8 MB de PSRAM. El m\u00f3dulo en s\u00ed es un ESP32-S3-WROOM-1 con antena impresa en la PCB.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El trazado copia el de la Freenove ESP32-S3-WROOM CAM: el mismo sitio para la c\u00e1mara, los mismos pines, dos botones y dos USB\u2011C. Freenove suministra su placa con una c\u00e1mara OV2640 de 2 MP, pero la unidad de este art\u00edculo lleva una <strong>OV5640 de 5 MP<\/strong>, como indica la inscripci\u00f3n del cable plano. Estas placas salen de f\u00e1bricas distintas, y de un lote a otro pueden cambiar el m\u00f3dulo de c\u00e1mara y el puente USB\u2013UART. Antes de buscar un controlador o un ejemplo ajeno, conviene mirar el marcado de tu propia unidad.<\/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=\"Anverso de la placa: arriba, el m\u00f3dulo ESP32-S3-N16R8 con su antena y, sobre \u00e9l, la c\u00e1mara OV5640 con su cable plano naranja; debajo, el conector del cable, los botones EN y BOOT, los LED ON, TX, RX, IO2 y 48 y dos conectores USB\u2011C. A los lados, dos tiras de 20 pines con los n\u00fameros serigrafiados.\" 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=\"Reverso de la placa: la ranura microSD, la leyenda de s\u00edmbolos \u00ab\u2014 Camera\u00bb, \u00ab~ SD Card\u00bb y \u00ab* PSRAM\u00bb, las etiquetas de los conectores, USB-UART a la izquierda y USB-OTG a la derecha, y peque\u00f1os 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\">Anverso y reverso. La leyenda del reverso explica los s\u00edmbolos junto a los n\u00fameros de pin: los subrayados est\u00e1n ocupados por la c\u00e1mara; los que llevan tilde, por la tarjeta microSD, y los que llevan asterisco, por la 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>Qu\u00e9 significa en la pr\u00e1ctica<\/th><\/tr><\/thead><tbody><tr><td>M\u00f3dulo<\/td><td>ESP32-S3-WROOM-1-N16R8, antena impresa en la PCB<\/td><td>M\u00f3dulo de Espressif listo para usar, de 18 \u00d7 25,5 \u00d7 3,1 mm; sus 36 GPIO salen todos a las tiras de pines<\/td><\/tr><tr><td>Procesador<\/td><td>2 n\u00facleos Xtensa LX7, hasta 240 MHz, FPU<\/td><td>Da para la transmisi\u00f3n JPEG, el Wi\u2011Fi y la l\u00f3gica de la aplicaci\u00f3n a la vez; tiene instrucciones para acelerar redes neuronales y procesamiento de se\u00f1ales<\/td><\/tr><tr><td>Memoria del SoC<\/td><td>512 KB de SRAM, 384 KB de ROM<\/td><td>La memoria interna no basta para los fotogramas de la c\u00e1mara: su sitio est\u00e1 en la PSRAM<\/td><\/tr><tr><td>Flash<\/td><td>16 MB, Quad SPI<\/td><td>Hay sitio para una aplicaci\u00f3n grande, OTA y un sistema de archivos<\/td><\/tr><tr><td>PSRAM<\/td><td>8 MB, Octal SPI (OPI)<\/td><td>B\u00faferes de fotograma de la c\u00e1mara; en Arduino IDE hace falta el modo OPI PSRAM<\/td><\/tr><tr><td>Wi\u2011Fi<\/td><td>2,4 GHz, 802.11 b\/g\/n, hasta 150 Mbit\/s<\/td><td>Transmisi\u00f3n MJPEG, env\u00edo de fotos, actualizaciones por el aire<\/td><\/tr><tr><td>Bluetooth<\/td><td>Bluetooth 5 (LE), mesh, velocidades de hasta 2 Mbit\/s y modo Long Range<\/td><td>Solo BLE: el ESP32-S3 no tiene Bluetooth cl\u00e1sico, as\u00ed que no hay SPP ni A2DP<\/td><\/tr><tr><td>C\u00e1mara<\/td><td>OV5640, 5 MP (2592 \u00d7 1944), bus DVP de 8 bits, configuraci\u00f3n por SCCB<\/td><td>El propio sensor comprime el fotograma a JPEG; el bus ocupa 14 GPIO<\/td><\/tr><tr><td>Conector de la c\u00e1mara<\/td><td>FPC, 24 contactos<\/td><td>El m\u00f3dulo de c\u00e1mara es intercambiable: sirven m\u00f3dulos del mismo est\u00e1ndar<\/td><\/tr><tr><td>Tarjeta de memoria<\/td><td>microSD, SDMMC en modo de un bit<\/td><td>Las fotos y los timelapses se guardan en la propia placa; la ranura ocupa GPIO38\u201340<\/td><\/tr><tr><td>USB<\/td><td>Dos USB\u2011C: puente USB\u2013UART en UART0 y el USB nativo del propio ESP32-S3<\/td><td>La grabaci\u00f3n y los logs, por el conector derecho; los dispositivos USB y la depuraci\u00f3n, por el izquierdo<\/td><\/tr><tr><td>GPIO<\/td><td>36 pines en dos tiras de 20 contactos<\/td><td>Seis est\u00e1n libres sin reservas; algunos m\u00e1s, con condiciones<\/td><\/tr><tr><td>Indicadores y botones<\/td><td>LED ON, TX, RX, IO2 (GPIO2) y RGB WS2812 (GPIO48); botones EN y BOOT (GPIO0)<\/td><td>Hay LED que hacer parpadear y botones que pulsar sin componentes externos<\/td><\/tr><tr><td>Alimentaci\u00f3n<\/td><td>5 V por USB\u2011C o por el pin 5V; en el pin 3V3, 3,3 V del regulador de la placa<\/td><td>El m\u00f3dulo necesita una fuente de al menos 0,5 A<\/td><\/tr><tr><td>Niveles l\u00f3gicos<\/td><td>3,3 V; los GPIO no toleran 5 V<\/td><td>Una se\u00f1al de 5 V solo se conecta con adaptaci\u00f3n de niveles<\/td><\/tr><tr><td>Temperatura de trabajo<\/td><td>\u221240\u2026+65 \u00b0C (m\u00f3dulos con Octal PSRAM)<\/td><td>Menos que los 85 \u00b0C de los m\u00f3dulos sin PSRAM; importa dentro de una caja cerrada<\/td><\/tr><tr><td>Entornos de desarrollo<\/td><td>Arduino IDE, PlatformIO, ESP-IDF; MicroPython, con una compilaci\u00f3n que incluya el controlador de la c\u00e1mara<\/td><td>Arduino es m\u00e1s c\u00f3modo para empezar r\u00e1pido; ESP-IDF, para un proyecto serio<\/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)\">Un poco de aritm\u00e9tica. Un fotograma de 5 MP en formato RGB565 ocupa <code>2592 \u00d7 1944 \u00d7 2 = 10 077 696<\/code> bytes, es decir, unos 9,6 MiB. Eso supera los 8 MB enteros de PSRAM, as\u00ed que la resoluci\u00f3n completa solo est\u00e1 disponible en JPEG, que el propio sensor se encarga de comprimir. Un fotograma UXGA de 1600 \u00d7 1200 en el mismo RGB565 pesa unos 3,7 MiB y ese s\u00ed cabe. En la pr\u00e1ctica, la c\u00e1mara casi siempre se usa en JPEG: necesita menos memoria y es m\u00e1s f\u00e1cil de enviar por Wi\u2011Fi.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Dos USB\u2011C: de qu\u00e9 se encarga cada conector<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">En el anverso los conectores no est\u00e1n rotulados: las etiquetas USB-UART y USB-OTG est\u00e1n en el reverso. De ah\u00ed sale la cl\u00e1sica trampa del espejo: al dar la vuelta a la placa para ponerla boca arriba, la etiqueta de la izquierda queda bajo el conector derecho. Mirando la placa desde el lado de la c\u00e1mara, con la antena arriba, el reparto es este:<\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table class=\"has-fixed-layout\"><thead><tr><th>Conector<\/th><th>Qu\u00e9 hay detr\u00e1s<\/th><th>Para qu\u00e9 usarlo<\/th><\/tr><\/thead><tbody><tr><td><strong>Izquierdo<\/strong>, USB-OTG<\/td><td>El USB nativo del propio ESP32-S3: GPIO19 es D\u2212, GPIO20 es D+. USB-Serial-JTAG integrado o USB OTG<\/td><td>Depuraci\u00f3n sin adaptador externo y dispositivos USB propios: teclado, rat\u00f3n, MIDI, almacenamiento, c\u00e1mara web<\/td><\/tr><tr><td><strong>Derecho<\/strong>, USB-UART<\/td><td>Puente USB\u2013UART conectado a UART0: GPIO43 es TX, GPIO44 es RX<\/td><td>Grabaci\u00f3n y Serial Monitor: la v\u00eda m\u00e1s previsible<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Qu\u00e9 puerto recibe la salida de <code>Serial<\/code> lo decide el ajuste <strong>USB CDC On Boot<\/strong> de Arduino IDE. Con Disabled, <code>Serial<\/code> es UART0 y los mensajes salen por el conector derecho. Con Enabled, <code>Serial<\/code> se muda al USB nativo, es decir, al izquierdo. Si el monitor serie no muestra nada, lo primero es revisar justo este ajuste y en qu\u00e9 conector est\u00e1 enchufado el cable. Los mensajes del gestor de arranque de la ROM salen por defecto por los dos puertos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El conector izquierdo tiene adem\u00e1s una ventaja menos evidente. El controlador USB-Serial-JTAG integrado en el ESP32-S3 permite depurar el programa con puntos de interrupci\u00f3n sin adaptador externo y sin gastar ni un solo pin m\u00e1s. Aqu\u00ed eso es especialmente valioso, porque en esta placa los pines por defecto del JTAG externo (GPIO39\u201342) est\u00e1n ocupados en parte por la tarjeta de memoria.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Tiras de pines: repaso de cada pin<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">En las tablas, la placa est\u00e1 con los componentes hacia arriba, la antena en la parte superior y los conectores USB en la inferior. Los n\u00fameros de la serigraf\u00eda llevan s\u00edmbolos: los pines subrayados est\u00e1n ocupados por la c\u00e1mara, la tilde marca los pines de la microSD y el asterisco, los de la PSRAM. La leyenda est\u00e1 impresa en el reverso.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Tira izquierda, de arriba abajo<\/h3>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table class=\"has-fixed-layout\"><thead><tr><th>Pin<\/th><th>Qu\u00e9 lleva<\/th><th>\u00bfSe puede usar?<\/th><\/tr><\/thead><tbody><tr><td>3V3<\/td><td>3,3 V del regulador de la placa<\/td><td>No es un GPIO<\/td><\/tr><tr><td>EN<\/td><td>Reinicio, bot\u00f3n EN; activo a nivel bajo<\/td><td>No<\/td><\/tr><tr><td>GPIO4<\/td><td>C\u00e1mara: SIOD, datos SCCB<\/td><td>Solo sin c\u00e1mara<\/td><\/tr><tr><td>GPIO5<\/td><td>C\u00e1mara: SIOC, reloj SCCB<\/td><td>Solo sin c\u00e1mara<\/td><\/tr><tr><td>GPIO6<\/td><td>C\u00e1mara: VSYNC<\/td><td>Solo sin c\u00e1mara<\/td><\/tr><tr><td>GPIO7<\/td><td>C\u00e1mara: HREF<\/td><td>Solo sin c\u00e1mara<\/td><\/tr><tr><td>GPIO15<\/td><td>C\u00e1mara: XCLK<\/td><td>Solo sin c\u00e1mara<\/td><\/tr><tr><td>GPIO16<\/td><td>C\u00e1mara: D7 (Y9)<\/td><td>Solo sin c\u00e1mara<\/td><\/tr><tr><td>GPIO17<\/td><td>C\u00e1mara: D6 (Y8)<\/td><td>Solo sin c\u00e1mara<\/td><\/tr><tr><td>GPIO18<\/td><td>C\u00e1mara: D5 (Y7)<\/td><td>Solo sin c\u00e1mara<\/td><\/tr><tr><td>GPIO8<\/td><td>C\u00e1mara: D2 (Y4)<\/td><td>Solo sin c\u00e1mara<\/td><\/tr><tr><td>GPIO3<\/td><td>Pin de strapping; ADC1, Touch3<\/td><td>Con cuidado<\/td><\/tr><tr><td>GPIO46<\/td><td>Pin de strapping del modo de arranque<\/td><td>Con cuidado<\/td><\/tr><tr><td>GPIO9<\/td><td>C\u00e1mara: D1 (Y3)<\/td><td>Solo sin c\u00e1mara<\/td><\/tr><tr><td>GPIO10<\/td><td>C\u00e1mara: D3 (Y5)<\/td><td>Solo sin c\u00e1mara<\/td><\/tr><tr><td>GPIO11<\/td><td>C\u00e1mara: D0 (Y2)<\/td><td>Solo sin c\u00e1mara<\/td><\/tr><tr><td>GPIO12<\/td><td>C\u00e1mara: D4 (Y6)<\/td><td>Solo sin c\u00e1mara<\/td><\/tr><tr><td>GPIO13<\/td><td>C\u00e1mara: PCLK<\/td><td>Solo sin c\u00e1mara<\/td><\/tr><tr><td>GPIO14<\/td><td>Libre; ADC2, Touch14<\/td><td><strong>S\u00ed<\/strong><\/td><\/tr><tr><td>5V<\/td><td>Ra\u00edl de 5 V<\/td><td>No es un GPIO<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Tira derecha, de arriba abajo<\/h3>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table class=\"has-fixed-layout\"><thead><tr><th>Pin<\/th><th>Qu\u00e9 lleva<\/th><th>\u00bfSe puede usar?<\/th><\/tr><\/thead><tbody><tr><td>TX (GPIO43)<\/td><td>UART0 TX, hacia el puente USB\u2013UART<\/td><td>Solo sin el conector derecho<\/td><\/tr><tr><td>RX (GPIO44)<\/td><td>UART0 RX, desde el puente USB\u2013UART<\/td><td>Solo sin el conector derecho<\/td><\/tr><tr><td>GPIO1<\/td><td>Libre; ADC1, Touch1<\/td><td><strong>S\u00ed<\/strong>, la mejor entrada anal\u00f3gica<\/td><\/tr><tr><td>GPIO2<\/td><td>LED IO2; ADC1, Touch2<\/td><td>Ojo con el LED<\/td><\/tr><tr><td>GPIO42<\/td><td>Libre; MTMS del JTAG externo<\/td><td><strong>S\u00ed<\/strong><\/td><\/tr><tr><td>GPIO41<\/td><td>Libre; MTDI del JTAG externo<\/td><td><strong>S\u00ed<\/strong><\/td><\/tr><tr><td>GPIO40<\/td><td>microSD: D0; MTDO del JTAG externo<\/td><td>Solo sin tarjeta<\/td><\/tr><tr><td>GPIO39<\/td><td>microSD: CLK; MTCK del JTAG externo<\/td><td>Solo sin tarjeta<\/td><\/tr><tr><td>GPIO38<\/td><td>microSD: CMD<\/td><td>Solo sin tarjeta<\/td><\/tr><tr><td>GPIO37<\/td><td>Octal PSRAM dentro del m\u00f3dulo<\/td><td>Nunca<\/td><\/tr><tr><td>GPIO36<\/td><td>Octal PSRAM dentro del m\u00f3dulo<\/td><td>Nunca<\/td><\/tr><tr><td>GPIO35<\/td><td>Octal PSRAM dentro del m\u00f3dulo<\/td><td>Nunca<\/td><\/tr><tr><td>GPIO0<\/td><td>Bot\u00f3n BOOT, pin de strapping<\/td><td>Con cuidado<\/td><\/tr><tr><td>GPIO45<\/td><td>Pin de strapping: tensi\u00f3n de alimentaci\u00f3n de la memoria<\/td><td>Mejor no tocarlo<\/td><\/tr><tr><td>GPIO48<\/td><td>LED RGB compatible con WS2812<\/td><td>Ojo con el LED<\/td><\/tr><tr><td>GPIO47<\/td><td>Libre<\/td><td><strong>S\u00ed<\/strong><\/td><\/tr><tr><td>GPIO21<\/td><td>Libre<\/td><td><strong>S\u00ed<\/strong><\/td><\/tr><tr><td>GPIO20<\/td><td>USB nativo: D+ (conector izquierdo)<\/td><td>Solo sin USB nativo<\/td><\/tr><tr><td>GPIO19<\/td><td>USB nativo: D\u2212 (conector izquierdo)<\/td><td>Solo sin USB nativo<\/td><\/tr><tr><td>GND<\/td><td>Masa<\/td><td>No es un GPIO<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Los pines 35\u201337 salen a la tira, pero no se pueden usar: en los m\u00f3dulos con Octal PSRAM est\u00e1n conectados por dentro a la memoria, y cualquier se\u00f1al externa en ellos interfiere en su funcionamiento.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">36 GPIO, \u00bfy cu\u00e1ntos son tuyos?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Si se junta todo, el panorama es un jarro de agua fr\u00eda:<\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table class=\"has-fixed-layout\"><thead><tr><th>Ocupado por<\/th><th>GPIO<\/th><th>Regla<\/th><\/tr><\/thead><tbody><tr><td>C\u00e1mara<\/td><td>4\u201313, 15\u201318<\/td><td>Ocupados mientras la c\u00e1mara est\u00e9 encendida<\/td><\/tr><tr><td>microSD<\/td><td>38\u201340<\/td><td>Ocupados mientras la tarjeta est\u00e9 montada<\/td><\/tr><tr><td>Octal PSRAM<\/td><td>35\u201337<\/td><td>No usarlos nunca<\/td><\/tr><tr><td>USB nativo<\/td><td>19, 20<\/td><td>Libres solo si no necesitas el conector izquierdo<\/td><\/tr><tr><td>UART0 y puente USB\u2013UART<\/td><td>43, 44<\/td><td>Libres solo si no necesitas el conector derecho<\/td><\/tr><tr><td>LED de la placa<\/td><td>2, 48<\/td><td>Se pueden usar si el LED no estorba<\/td><\/tr><tr><td>Pines de strapping<\/td><td>0, 3, 45, 46<\/td><td>Solo si tienes claros sus niveles al reiniciar<\/td><\/tr><tr><td>Nada<\/td><td>1, 14, 21, 41, 42, 47<\/td><td>Primera opci\u00f3n para tu propio circuito<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">En resumen, con la c\u00e1mara y la tarjeta de memoria en marcha, quedan libres sin reservas <strong>seis pines: GPIO1, 14, 21, 41, 42 y 47<\/strong>. Para un sensor I\u00b2C, un par de botones y un rel\u00e9 es suficiente; para una mara\u00f1a de perif\u00e9ricos, ya no. Se puede rescatar un par de pines m\u00e1s renunciando a una de las v\u00edas USB: si la placa trabaja solo por el conector derecho, quedan libres GPIO19 y GPIO20. Si solo usa el izquierdo, puedes probar con GPIO43 y GPIO44, sin olvidar que siguen conectados al puente USB\u2013UART.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Con las entradas anal\u00f3gicas hay m\u00e1s matices. En el ESP32-S3, el ADC1 corresponde a GPIO1\u201310 y el ADC2, a GPIO11\u201320. La c\u00e1mara se queda con casi todos los pines del ADC1, as\u00ed que con la c\u00e1mara en marcha la \u00fanica entrada anal\u00f3gica limpia es <strong>GPIO1<\/strong>. GPIO2 y GPIO3 tambi\u00e9n pertenecen al ADC1, pero del primero cuelga un LED y el segundo es un pin de strapping. GPIO14 pertenece al ADC2, y el ADC2 comparte recursos con el Wi\u2011Fi: mientras la radio est\u00e1 activa, la lectura puede retrasarse o terminar en error. Para sensores en un proyecto con Wi\u2011Fi, elige el ADC1. Las entradas t\u00e1ctiles Touch1\u2013Touch14 est\u00e1n en GPIO1\u201314, pero de ellas solo GPIO1 y GPIO14 quedan libres sin reservas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Y cuatro reglas sobre los pines de strapping que te ahorran una tarde perdida:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>GPIO0<\/strong> es el bot\u00f3n BOOT. Si est\u00e1 a nivel bajo durante el reinicio, el chip entra en modo de descarga en lugar de ejecutar el programa. El circuito externo no debe llevar GPIO0 a masa durante el arranque.<\/li>\n\n\n\n<li><strong>GPIO46<\/strong> tiene por defecto una resistencia de pull-down y, junto con GPIO0, selecciona el modo de arranque. La combinaci\u00f3n \u00abnivel bajo en GPIO0, alto en GPIO46\u00bb durante el reinicio no es v\u00e1lida.<\/li>\n\n\n\n<li><strong>GPIO45<\/strong> fija la tensi\u00f3n de alimentaci\u00f3n de la memoria: nivel bajo durante el reinicio significa 3,3 V, y alto, 1,8 V. La Flash y la PSRAM de este m\u00f3dulo est\u00e1n dise\u00f1adas para 3,3 V, as\u00ed que un nivel alto en GPIO45 durante el reinicio es inadmisible. Por defecto el pin tiene pull-down, y as\u00ed conviene dejarlo.<\/li>\n\n\n\n<li><strong>GPIO3<\/strong> selecciona el origen de las se\u00f1ales JTAG, pero solo si se ha quemado el bit correspondiente del eFuse; en un m\u00f3dulo con la configuraci\u00f3n de f\u00e1brica, su nivel se ignora. Aun as\u00ed, Espressif lo cuenta entre los pines de strapping, as\u00ed que mejor no reservarlo para el primer bot\u00f3n que se te ocurra.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">La c\u00e1mara: la OV5640 y el mapa de pines correcto<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La c\u00e1mara va conectada por un bus paralelo DVP: ocho l\u00edneas de datos, tres de sincronizaci\u00f3n, el reloj XCLK y un par de l\u00edneas SCCB para configurar el sensor, 14 GPIO en total. Los pines PWDN y RESET no est\u00e1n conectados en la placa, as\u00ed que en la configuraci\u00f3n se les asigna <code>-1<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La trampa principal es un mapa de pines ajeno. Los ejemplos m\u00e1s populares de internet est\u00e1n escritos para la AI-Thinker ESP32-CAM, y en un ESP32-S3 sus n\u00fameros de GPIO apuntan, entre otros, a los pines 26\u201332, que en el S3 est\u00e1n reservados a la memoria interna, y a los n\u00fameros 22\u201325, que el S3 ni siquiera tiene. En cambio, el trazado de esta placa <strong>coincide punto por punto con la ESP32-S3-EYE de Espressif<\/strong>, que Arduino ya tiene descrita al completo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En el ejemplo CameraWebServer (File \u2192 Examples \u2192 ESP32 \u2192 Camera), el modelo se elige en el archivo <code>board_config.h<\/code>. Por defecto ah\u00ed est\u00e1 activado <code>CAMERA_MODEL_ESP_EYE<\/code>, que es otra placa, basada en el ESP32 cl\u00e1sico. Hay que comentar su l\u00ednea y descomentar <code>CAMERA_MODEL_ESP32S3_EYE<\/code>. En <code>camera_pins.h<\/code>, los pines de ese modelo quedan as\u00ed, exactamente como en nuestra 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\">Con este modelo, el ejemplo ya voltea la imagen en vertical por su cuenta con una llamada a <code>set_vflip<\/code>. Si el fotograma sale boca abajo, basta con cambiar V-Flip en la interfaz web; ah\u00ed mismo se sube la resoluci\u00f3n, porque la transmisi\u00f3n arranca en QVGA. En cambio, el ejemplo tolera sin avisar que falte la PSRAM: si <code>psramFound()<\/code> devuelve <code>false<\/code>, el tama\u00f1o del fotograma se limita a SVGA y el b\u00fafer se muda a la memoria interna. La c\u00e1mara funciona igualmente, pero muy lejos de su m\u00e1ximo.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Si la transmisi\u00f3n se queda en negro<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">La OV5640 da un problema conocido en esta placa. Propietarios de estas placas han contado que el ejemplo inicializa la c\u00e1mara sin errores, que una OV2640 funciona en esa misma placa y que la OV5640, en cambio, entrega un fotograma negro. Seg\u00fan sus informes, lo que ayuda es cambiar la frecuencia del reloj XCLK: en lugar de los 20 MHz est\u00e1ndar, ponen 24 MHz o 12 MHz. En <code>setup()<\/code> cambia una sola l\u00ednea, <code>xclk_freq_hz<\/code>; los dem\u00e1s campos muestran con qu\u00e9 se suele combinar:<\/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\">Si eso no ayuda, conviene comprobar que el cable plano est\u00e9 metido hasta el fondo en el conector y con el cierre bajado, y que la placa no se est\u00e9 sobrecalentando: en esos mismos hilos aconsejan no tenerla con la c\u00e1mara en marcha dentro de una caja cerrada y sin ventilaci\u00f3n. La resoluci\u00f3n completa del sensor, <code>FRAMESIZE_5MP<\/code> (2592 \u00d7 1944), solo est\u00e1 disponible en JPEG.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Ajustes de Arduino IDE<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La placa no necesita un paquete propio: sirve el perfil est\u00e1ndar <strong>ESP32S3 Dev Module<\/strong> de arduino-esp32. Lo principal es indicar bien la memoria, porque de eso depende que el programa vea la PSRAM.<\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table><thead><tr><th>Ajuste<\/th><th>Valor<\/th><th>Por qu\u00e9<\/th><\/tr><\/thead><tbody><tr><td>Board<\/td><td>ESP32S3 Dev Module<\/td><td>Perfil gen\u00e9rico para ESP32-S3<\/td><\/tr><tr><td>Flash Size<\/td><td>16MB (128Mb)<\/td><td>Tama\u00f1o real de la Flash del m\u00f3dulo N16R8<\/td><\/tr><tr><td>Flash Mode<\/td><td>QIO 80MHz<\/td><td>Aqu\u00ed la Flash va por Quad SPI; el modo OPI 80MHz es para m\u00f3dulos con Octal Flash<\/td><\/tr><tr><td>PSRAM<\/td><td>OPI PSRAM<\/td><td>La PSRAM va por Octal SPI; con QSPI PSRAM o Disabled el programa no la encontrar\u00e1<\/td><\/tr><tr><td>Partition Scheme<\/td><td>16M Flash (3MB APP\/9.9MB FATFS)<\/td><td>CameraWebServer necesita al menos 3 MB para la aplicaci\u00f3n; el resto queda para archivos<\/td><\/tr><tr><td>USB CDC On Boot<\/td><td>Disabled para trabajar por el conector derecho, Enabled por el izquierdo<\/td><td>Decide a qu\u00e9 puerto va <code>Serial<\/code><\/td><\/tr><tr><td>USB Mode<\/td><td>Hardware CDC and JTAG<\/td><td>USB-Serial-JTAG integrado; el modo USB-OTG (TinyUSB) hace falta para dispositivos USB propios<\/td><\/tr><tr><td>Upload Mode<\/td><td>UART0 \/ Hardware CDC<\/td><td>Grabaci\u00f3n por cualquiera de los dos conectores<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Si ya no consigues subir el firmware (por ejemplo, porque el programa ha reconfigurado el USB nativo o ha entrado en un bucle de reinicios), la placa se pasa a mano al gestor de arranque: mantener pulsado BOOT, pulsar brevemente EN, soltar BOOT y repetir la carga. Para el conector derecho, el ordenador puede necesitar el controlador del puente USB\u2013UART. En la placa original de Freenove es un CH343, pero en los clones aparecen tambi\u00e9n otros chips, as\u00ed que conviene guiarse por lo que muestra el Administrador de dispositivos. Los sistemas actuales reconocen el conector izquierdo como puerto serie sin necesidad de un controlador aparte.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">microSD, LED y botones<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La ranura microSD va conectada por SDMMC en modo de un bit: CMD en GPIO38, CLK en GPIO39 y D0 en GPIO40. Es m\u00e1s lento que el modo de cuatro bits, pero ahorra tres pines. Dos de las tres l\u00edneas coinciden con los pines por defecto del JTAG externo (MTCK y MTDO), as\u00ed que la tarjeta y un depurador externo se estorban entre s\u00ed; con tarjeta, es m\u00e1s c\u00f3modo depurar por el conector USB izquierdo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Hay cinco LED. ON indica que hay alimentaci\u00f3n, TX y RX parpadean con el tr\u00e1fico por el puente USB\u2013UART, IO2 es un LED de usuario en GPIO2 y 48 es un LED RGB direccionable compatible con WS2812 en GPIO48. En el perfil ESP32S3 Dev Module, las macros <code>LED_BUILTIN<\/code> y <code>RGB_BUILTIN<\/code> apuntan precisamente a este \u00faltimo, as\u00ed que el Blink de siempre encender\u00e1 el LED RGB en blanco. El color se fija con la funci\u00f3n <code>rgbLedWrite()<\/code>; la antigua <code>neopixelWrite()<\/code> est\u00e1 declarada obsoleta.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El bot\u00f3n EN reinicia el m\u00f3dulo; BOOT est\u00e1 conectado a GPIO0 y sirve para entrar a mano en el gestor de arranque. Una vez arrancado el programa, BOOT se puede leer como un bot\u00f3n normal. Como autoprueba r\u00e1pida de la placa, basta con montar la tarjeta e indicar el resultado con un color:<\/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\">Alimentaci\u00f3n y calentamiento<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La placa se alimenta por cualquiera de los dos USB\u2011C o por el pin 5V. El pin 3V3 es la salida del regulador de la placa y puede alimentar sensores de bajo consumo a 3,3 V. Los GPIO solo trabajan con niveles de 3,3 V: una se\u00f1al de 5 V en una entrada puede da\u00f1ar el m\u00f3dulo, cuya tensi\u00f3n de alimentaci\u00f3n m\u00e1xima absoluta es de 3,6 V.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La c\u00e1mara, la transmisi\u00f3n por Wi\u2011Fi y la escritura en la tarjeta provocan picos de corriente. La hoja de datos del m\u00f3dulo exige una fuente de alimentaci\u00f3n de al menos <strong>0,5 A<\/strong>, y un puerto USB flojo o un cable largo y fino se quedan cortos con facilidad. Los s\u00edntomas son reconocibles: la placa se reinicia justo al arrancar la transmisi\u00f3n y en el log aparece un mensaje del detector de baja tensi\u00f3n (brownout). Se soluciona con un cable corto y de calidad y una fuente de alimentaci\u00f3n de 5 V como es debido.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La segunda limitaci\u00f3n es menos evidente: la temperatura. Los m\u00f3dulos con Octal PSRAM, incluido el N16R8, est\u00e1n especificados para una temperatura ambiente de <strong>hasta 65 \u00b0C<\/strong>, mientras que las variantes sin PSRAM llegan a 85 \u00b0C. Espressif precisa que, con la correcci\u00f3n de errores de la PSRAM (ECC) activada, el l\u00edmite sube a 85 \u00b0C a costa de 1\/16 de la memoria. La c\u00e1mara y la radio calientan la placa sin parar, as\u00ed que dentro de una caja cerrada y al sol ese margen se agota enseguida: mejor prever orificios de ventilaci\u00f3n desde el principio.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Qu\u00e9 construir con ella: tres casos ilustrativos<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">1. Una c\u00e1mara para la impresora 3D<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Ver desde lejos c\u00f3mo va la impresi\u00f3n y, de paso, montar un timelapse es el uso m\u00e1s natural de una placa as\u00ed. El proyecto Prusa-Firmware-ESP32-Cam, un firmware para conectar una c\u00e1mara al servicio Prusa Connect, dedica un apartado propio a la placa Freenove ESP32-S3-WROOM. All\u00ed se han probado m\u00f3dulos OV2640, as\u00ed que la compatibilidad con la OV5640 tendr\u00e1s que comprobarla por tu cuenta, pero la disposici\u00f3n de la placa es la misma.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2. Un registrador de timelapse con su propia tarjeta<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">La ranura microSD convierte la placa en un registrador aut\u00f3nomo: despertar con un temporizador, tomar una foto JPEG, guardarla en la tarjeta y volver a dormir. As\u00ed se filma c\u00f3mo crecen las plantas, la obra que se ve por la ventana o un proceso largo en el taller. Eso s\u00ed, la placa no est\u00e1 optimizada para funcionar con bater\u00eda: el LED ON est\u00e1 siempre encendido y el pin PWDN de la c\u00e1mara no est\u00e1 conectado, as\u00ed que no se puede cortar la alimentaci\u00f3n del sensor por hardware; solo queda su modo de espera por software a trav\u00e9s de SCCB. El consumo en reposo ser\u00e1 bastante mayor que el de un m\u00f3dulo desnudo: para un timelapse enchufado a la red da igual, pero con bater\u00edas pesa mucho.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3. C\u00e1mara web USB y visi\u00f3n en el propio dispositivo<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">El USB nativo permite al ESP32-S3 presentarse ante el ordenador como una c\u00e1mara web. En esp-iot-solution, de Espressif, hay un ejemplo, <code>usb_webcam<\/code>, en el que la placa se convierte en un dispositivo UVC que entrega MJPEG, y en la lista de modos del ejemplo figura 1280 \u00d7 720 a 15 fotogramas por segundo. Por defecto se compila para la ESP32-S3-EYE, es decir, para el mismo mapa de pines que tiene esta placa. La otra v\u00eda es procesar el fotograma en el propio dispositivo: el framework ESP-WHO de Espressif est\u00e1 pensado para el ESP32-S3 y sabe, por ejemplo, detectar caras sin depender de la nube.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Puntos fuertes y d\u00e9biles<\/h2>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table><thead><tr><th>A favor<\/th><th>En contra<\/th><\/tr><\/thead><tbody><tr><td>Dos USB\u2011C: grabaci\u00f3n sin adaptador y USB nativo<\/td><td>Los conectores solo est\u00e1n rotulados en el reverso y es f\u00e1cil confundirlos<\/td><\/tr><tr><td>16 MB de Flash y 8 MB de Octal PSRAM<\/td><td>Los m\u00f3dulos con Octal PSRAM solo est\u00e1n especificados hasta 65 \u00b0C<\/td><\/tr><tr><td>C\u00e1mara intercambiable de 5 MP<\/td><td>Con la OV5640 a veces sale un fotograma negro y toca buscar la frecuencia de XCLK adecuada<\/td><\/tr><tr><td>Ranura microSD en la propia placa<\/td><td>La tarjeta ocupa tres pines y choca con el JTAG externo<\/td><\/tr><tr><td>Los 36 GPIO del m\u00f3dulo en las tiras, con los ocupados marcados en la serigraf\u00eda<\/td><td>Solo seis pines est\u00e1n libres sin reservas<\/td><\/tr><tr><td>El mapa de pines coincide con el de la ESP32-S3-EYE, as\u00ed que los ejemplos ya hechos sirven con un cambio m\u00ednimo<\/td><td>No est\u00e1 optimizada para equipos a bater\u00eda: PWDN no est\u00e1 conectado y el LED de alimentaci\u00f3n siempre est\u00e1 encendido<\/td><\/tr><tr><td>LED de usuario y LED RGB en la placa<\/td><td>Los lotes var\u00edan en la c\u00e1mara y en el puente USB\u2013UART<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusi\u00f3n<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La ESP32-S3-CAM N16R8 es una ESP32-CAM a la que se le han curado casi todos los problemas de juventud: USB como es debido, mucha memoria, una c\u00e1mara intercambiable de 5 MP y un marcado honesto de los pines ocupados en la propia placa. Para una c\u00e1mara de taller, un timelapse, vigilar una impresora 3D o experimentar con visi\u00f3n artificial, es una base muy c\u00f3moda.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El precio de esa comodidad es que todo va muy apretado. La c\u00e1mara y la tarjeta de memoria se comen casi todos los pines, la PSRAM hay que activarla correctamente y la OV5640 puede obligar a ajustar la frecuencia. Antes de la primera grabaci\u00f3n, conviene repasar una lista corta:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Perfil ESP32S3 Dev Module: Flash de 16 MB, QIO 80MHz, PSRAM en OPI PSRAM.<\/li>\n\n\n\n<li>Mapa de pines: <code>CAMERA_MODEL_ESP32S3_EYE<\/code>, no el de AI-Thinker.<\/li>\n\n\n\n<li>B\u00faferes de fotograma en la PSRAM y formato JPEG.<\/li>\n\n\n\n<li>microSD: SDMMC de un bit en GPIO38, 39 y 40.<\/li>\n\n\n\n<li>El cable, en el conector que corresponde al ajuste USB CDC On Boot.<\/li>\n\n\n\n<li>Pines nuevos: primero, los de la lista GPIO1, 14, 21, 41, 42 y 47.<\/li>\n\n\n\n<li>GPIO0, 3, 45 y 46, sin circuitos externos que cambien su nivel durante el reinicio.<\/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\">Todo lo anterior, en un solo archivo: una referencia de los pines y de los l\u00edmites de hardware de la placa. Viene bien tenerla junto al sketch o pas\u00e1rsela a un agente programador para que no se invente el patillaje.<\/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 referencia de pines para un agente programador (Markdown, en ingl\u00e9s, 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\">Descargar<\/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>Una placa ESP32-S3 con c\u00e1mara OV5640 de 5 MP, dos USB\u2011C, microSD, 16 MB de Flash y 8 MB de PSRAM. Qu\u00e9 va conectado a qu\u00e9, cu\u00e1les de los 36 GPIO est\u00e1n libres de verdad, c\u00f3mo configurar Arduino para la c\u00e1mara \u2014 y una referencia de pines para descargar.<\/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":[5],"tags":[73,72],"topic":[58],"class_list":["post-310","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sin-categorizar","tag-arduino-es","tag-esp32-es","topic-esp32-es"],"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: la placa de c\u00e1mara que debi\u00f3 ser la ESP32-CAM - Build Mode<\/title>\n<meta name=\"description\" content=\"La ESP32-S3-CAM N16R8 al detalle: c\u00e1mara OV5640, dos USB\u2011C, microSD, patillaje completo, GPIO libres, ajustes de Arduino y referencia de pines.\" \/>\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\/es\/esp32-s3-cam-n16r8\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"ESP32-S3-CAM N16R8: la placa de c\u00e1mara que debi\u00f3 ser la ESP32-CAM - Build Mode\" \/>\n<meta property=\"og:description\" content=\"La ESP32-S3-CAM N16R8 al detalle: c\u00e1mara OV5640, dos USB\u2011C, microSD, patillaje completo, GPIO libres, ajustes de Arduino y referencia de pines.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/build-mode-ak.com\/es\/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=\"Tiempo de lectura\" \/>\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\\\/es\\\/esp32-s3-cam-n16r8\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/build-mode-ak.com\\\/es\\\/esp32-s3-cam-n16r8\\\/\"},\"author\":{\"name\":\"q_admin\",\"@id\":\"https:\\\/\\\/build-mode-ak.com\\\/es\\\/#\\\/schema\\\/person\\\/776a2342163ad07c23ce7dac33d9cc8b\"},\"headline\":\"ESP32-S3-CAM N16R8: la placa de c\u00e1mara que debi\u00f3 ser la ESP32-CAM\",\"datePublished\":\"2026-09-16T09:57:03+00:00\",\"dateModified\":\"2026-09-16T11:25:41+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/build-mode-ak.com\\\/es\\\/esp32-s3-cam-n16r8\\\/\"},\"wordCount\":4357,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/build-mode-ak.com\\\/es\\\/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\"],\"articleSection\":[\"Sin categorizar\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/build-mode-ak.com\\\/es\\\/esp32-s3-cam-n16r8\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/build-mode-ak.com\\\/es\\\/esp32-s3-cam-n16r8\\\/\",\"url\":\"https:\\\/\\\/build-mode-ak.com\\\/es\\\/esp32-s3-cam-n16r8\\\/\",\"name\":\"ESP32-S3-CAM N16R8: la placa de c\u00e1mara que debi\u00f3 ser la ESP32-CAM - Build Mode\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/build-mode-ak.com\\\/es\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/build-mode-ak.com\\\/es\\\/esp32-s3-cam-n16r8\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/build-mode-ak.com\\\/es\\\/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\\\/es\\\/#\\\/schema\\\/person\\\/776a2342163ad07c23ce7dac33d9cc8b\"},\"description\":\"La ESP32-S3-CAM N16R8 al detalle: c\u00e1mara OV5640, dos USB\u2011C, microSD, patillaje completo, GPIO libres, ajustes de Arduino y referencia de pines.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/build-mode-ak.com\\\/es\\\/esp32-s3-cam-n16r8\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/build-mode-ak.com\\\/es\\\/esp32-s3-cam-n16r8\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/build-mode-ak.com\\\/es\\\/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\\\/es\\\/esp32-s3-cam-n16r8\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Inicio\",\"item\":\"https:\\\/\\\/build-mode-ak.com\\\/es\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"ESP32-S3-CAM N16R8: la placa de c\u00e1mara que debi\u00f3 ser la ESP32-CAM\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/build-mode-ak.com\\\/es\\\/#website\",\"url\":\"https:\\\/\\\/build-mode-ak.com\\\/es\\\/\",\"name\":\"Build Mode\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/build-mode-ak.com\\\/es\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/build-mode-ak.com\\\/es\\\/#\\\/schema\\\/person\\\/776a2342163ad07c23ce7dac33d9cc8b\",\"name\":\"q_admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@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\\\/es\\\/author\\\/q_admin\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"ESP32-S3-CAM N16R8: la placa de c\u00e1mara que debi\u00f3 ser la ESP32-CAM - Build Mode","description":"La ESP32-S3-CAM N16R8 al detalle: c\u00e1mara OV5640, dos USB\u2011C, microSD, patillaje completo, GPIO libres, ajustes de Arduino y referencia de pines.","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\/es\/esp32-s3-cam-n16r8\/","og_locale":"es_ES","og_type":"article","og_title":"ESP32-S3-CAM N16R8: la placa de c\u00e1mara que debi\u00f3 ser la ESP32-CAM - Build Mode","og_description":"La ESP32-S3-CAM N16R8 al detalle: c\u00e1mara OV5640, dos USB\u2011C, microSD, patillaje completo, GPIO libres, ajustes de Arduino y referencia de pines.","og_url":"https:\/\/build-mode-ak.com\/es\/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","Tiempo de lectura":"22 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/build-mode-ak.com\/es\/esp32-s3-cam-n16r8\/#article","isPartOf":{"@id":"https:\/\/build-mode-ak.com\/es\/esp32-s3-cam-n16r8\/"},"author":{"name":"q_admin","@id":"https:\/\/build-mode-ak.com\/es\/#\/schema\/person\/776a2342163ad07c23ce7dac33d9cc8b"},"headline":"ESP32-S3-CAM N16R8: la placa de c\u00e1mara que debi\u00f3 ser la ESP32-CAM","datePublished":"2026-09-16T09:57:03+00:00","dateModified":"2026-09-16T11:25:41+00:00","mainEntityOfPage":{"@id":"https:\/\/build-mode-ak.com\/es\/esp32-s3-cam-n16r8\/"},"wordCount":4357,"commentCount":0,"image":{"@id":"https:\/\/build-mode-ak.com\/es\/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"],"articleSection":["Sin categorizar"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/build-mode-ak.com\/es\/esp32-s3-cam-n16r8\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/build-mode-ak.com\/es\/esp32-s3-cam-n16r8\/","url":"https:\/\/build-mode-ak.com\/es\/esp32-s3-cam-n16r8\/","name":"ESP32-S3-CAM N16R8: la placa de c\u00e1mara que debi\u00f3 ser la ESP32-CAM - Build Mode","isPartOf":{"@id":"https:\/\/build-mode-ak.com\/es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/build-mode-ak.com\/es\/esp32-s3-cam-n16r8\/#primaryimage"},"image":{"@id":"https:\/\/build-mode-ak.com\/es\/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\/es\/#\/schema\/person\/776a2342163ad07c23ce7dac33d9cc8b"},"description":"La ESP32-S3-CAM N16R8 al detalle: c\u00e1mara OV5640, dos USB\u2011C, microSD, patillaje completo, GPIO libres, ajustes de Arduino y referencia de pines.","breadcrumb":{"@id":"https:\/\/build-mode-ak.com\/es\/esp32-s3-cam-n16r8\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/build-mode-ak.com\/es\/esp32-s3-cam-n16r8\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/build-mode-ak.com\/es\/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\/es\/esp32-s3-cam-n16r8\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Inicio","item":"https:\/\/build-mode-ak.com\/es\/"},{"@type":"ListItem","position":2,"name":"ESP32-S3-CAM N16R8: la placa de c\u00e1mara que debi\u00f3 ser la ESP32-CAM"}]},{"@type":"WebSite","@id":"https:\/\/build-mode-ak.com\/es\/#website","url":"https:\/\/build-mode-ak.com\/es\/","name":"Build Mode","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/build-mode-ak.com\/es\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Person","@id":"https:\/\/build-mode-ak.com\/es\/#\/schema\/person\/776a2342163ad07c23ce7dac33d9cc8b","name":"q_admin","image":{"@type":"ImageObject","inLanguage":"es","@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\/es\/author\/q_admin\/"}]}},"_links":{"self":[{"href":"https:\/\/build-mode-ak.com\/es\/wp-json\/wp\/v2\/posts\/310","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/build-mode-ak.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/build-mode-ak.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/build-mode-ak.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/build-mode-ak.com\/es\/wp-json\/wp\/v2\/comments?post=310"}],"version-history":[{"count":2,"href":"https:\/\/build-mode-ak.com\/es\/wp-json\/wp\/v2\/posts\/310\/revisions"}],"predecessor-version":[{"id":317,"href":"https:\/\/build-mode-ak.com\/es\/wp-json\/wp\/v2\/posts\/310\/revisions\/317"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/build-mode-ak.com\/es\/wp-json\/wp\/v2\/media\/296"}],"wp:attachment":[{"href":"https:\/\/build-mode-ak.com\/es\/wp-json\/wp\/v2\/media?parent=310"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/build-mode-ak.com\/es\/wp-json\/wp\/v2\/categories?post=310"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/build-mode-ak.com\/es\/wp-json\/wp\/v2\/tags?post=310"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/build-mode-ak.com\/es\/wp-json\/wp\/v2\/topic?post=310"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}