{"id":423,"date":"2026-09-18T11:39:28","date_gmt":"2026-09-18T11:39:28","guid":{"rendered":"https:\/\/build-mode-ak.com\/3-5-inch-tft-lcd-shield-2\/"},"modified":"2026-09-18T14:06:32","modified_gmt":"2026-09-18T14:06:32","slug":"3-5-inch-tft-lcd-shield","status":"publish","type":"post","link":"https:\/\/build-mode-ak.com\/es\/3-5-inch-tft-lcd-shield\/","title":{"rendered":"Shield TFT LCD de 3,5 pulgadas: una pantalla de 480 \u00d7 320 en un bus r\u00e1pido de 8 bits"},"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 mayor\u00eda de las pantallas peque\u00f1as para aficionados hablan SPI: una l\u00ednea de reloj, una de datos y cada byte obligado a colarse por ella bit a bit. El shield rojo de 3,5 pulgadas de este art\u00edculo funciona de otra manera. Dale la vuelta y, en lugar de MOSI y SCK, encontrar\u00e1s ocho l\u00edneas de datos, de LCD_D0 a LCD_D7, as\u00ed que cada ciclo de reloj lleva un byte entero. S\u00famale 480 \u00d7 320 p\u00edxeles, una capa t\u00e1ctil resistiva y una ranura microSD, y tienes una de las pantallas m\u00e1s grandes que se enchufan directamente a un Arduino Uno sin un solo cable.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Merece la pena mirarlo de cerca aunque nunca hayas tenido un Uno. Lo conectamos a un ESP32-S3 con un perif\u00e9rico 8080 por hardware, pusimos el bus a 20 MHz y reprodujimos v\u00eddeo a pantalla completa, 480 \u00d7 320, desde una tarjeta microSD a 25 fotogramas por segundo; puedes verlo en el apartado sobre la velocidad. A continuaci\u00f3n: qu\u00e9 hay en la placa, c\u00f3mo funciona su bus y c\u00f3mo programarlo, de d\u00f3nde sale la velocidad y d\u00f3nde se pierde, y qu\u00e9 construir con \u00e9l, desde una estaci\u00f3n meteorol\u00f3gica hasta un marco de fotos y un panel de pared.<\/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\/3-5-inch-tft-lcd-shield-01-anatomy-es.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1600\" height=\"1000\" src=\"https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/3-5-inch-tft-lcd-shield-01-anatomy-es.jpg\" alt=\"Reverso del shield TFT LCD de 3,5 pulgadas con sus partes se\u00f1aladas. A la izquierda, las l\u00edneas de control LCD_RST, LCD_CS, LCD_RS, LCD_WR y LCD_RD, y despu\u00e9s los pines de alimentaci\u00f3n GND, GND, 5V y 3V3. A la derecha, las l\u00edneas de datos de LCD_D2 a LCD_D7, despu\u00e9s LCD_D0, LCD_D1 y las l\u00edneas de la microSD SD_CS, SD_DI, SD_DO y SD_SCK. En medio, dos chips de b\u00fafer del bus, un regulador de 3,3 V, una ranura microSD y las casillas impresas ILI9486 e ILI9488.\" class=\"wp-image-397\" srcset=\"https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/3-5-inch-tft-lcd-shield-01-anatomy-es.jpg 1600w, https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/3-5-inch-tft-lcd-shield-01-anatomy-es-300x188.jpg 300w, https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/3-5-inch-tft-lcd-shield-01-anatomy-es-1024x640.jpg 1024w, https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/3-5-inch-tft-lcd-shield-01-anatomy-es-768x480.jpg 768w, https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/3-5-inch-tft-lcd-shield-01-anatomy-es-1536x960.jpg 1536w\" sizes=\"auto, (max-width: 1600px) 100vw, 1600px\" \/><\/a><figcaption class=\"wp-element-caption\">El reverso del shield, donde est\u00e1n todas las etiquetas: las l\u00edneas de control y la alimentaci\u00f3n, a la izquierda; las ocho l\u00edneas de datos y las de la microSD, a la derecha. 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\">Las tiendas lo venden como \u00ab3.5 inch TFT LCD Shield for Arduino UNO\/Mega\u00bb, y varias f\u00e1bricas hacen placas que se parecen, pero cuyos componentes difieren. El ejemplar de este art\u00edculo tiene una PCB roja con la serigraf\u00eda 3.5&#8243; TFT LCD Shield y el c\u00f3digo de fecha 2026-01-27. Su detalle m\u00e1s revelador est\u00e1 en una esquina: dos casillas impresas con ILI9488 e ILI9486, y ninguna de las dos marcada. El controlador en s\u00ed es de tipo chip-on-glass y queda oculto bajo el panel, as\u00ed que la placa no te dice cu\u00e1l de los dos lleva.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nuestro ejemplar muestra una imagen correcta y estable con la secuencia de inicializaci\u00f3n del ILI9488, as\u00ed que lo m\u00e1s probable es que lleve un ILI9488. Es una hip\u00f3tesis de trabajo, no una identificaci\u00f3n: los dos controladores comparten los comandos b\u00e1sicos, y con la secuencia equivocada a menudo tambi\u00e9n sale imagen, solo que con poco contraste o con parpadeo. Otra placa de la misma tienda puede llevar el otro chip. En el anverso hay una capa t\u00e1ctil resistiva de 4 hilos, con una cinta flexible de cuatro contactos a lo largo del borde superior y el cristal marcado H1454 7-3. En ninguna parte de la placa hay un chip controlador t\u00e1ctil.<\/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\/3-5-inch-tft-lcd-shield-02-front.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1200\" height=\"1800\" data-id=\"386\" src=\"https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/3-5-inch-tft-lcd-shield-02-front.jpg\" alt=\"Anverso del shield: un panel de 3,5 pulgadas, apagado, bajo una capa t\u00e1ctil resistiva con un borde gris estrecho. Una cinta flexible de cuatro contactos recorre el borde superior, en el cristal pone H1454 7-3 y la placa roja asoma por los bordes izquierdo e inferior.\" class=\"wp-image-386\" srcset=\"https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/3-5-inch-tft-lcd-shield-02-front.jpg 1200w, https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/3-5-inch-tft-lcd-shield-02-front-200x300.jpg 200w, https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/3-5-inch-tft-lcd-shield-02-front-683x1024.jpg 683w, https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/3-5-inch-tft-lcd-shield-02-front-768x1152.jpg 768w, https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/3-5-inch-tft-lcd-shield-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\/3-5-inch-tft-lcd-shield-03-back.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"1200\" height=\"1800\" data-id=\"387\" src=\"https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/3-5-inch-tft-lcd-shield-03-back.jpg\" alt=\"Reverso del shield: dos filas de pines a cada lado con etiquetas LCD y SD, dos chips de 20 patillas cerca del borde superior, un regulador de tres patillas en el centro, una ranura microSD abajo y la serigraf\u00eda 3.5-inch TFT LCD Shield.\" class=\"wp-image-387\" srcset=\"https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/3-5-inch-tft-lcd-shield-03-back.jpg 1200w, https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/3-5-inch-tft-lcd-shield-03-back-200x300.jpg 200w, https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/3-5-inch-tft-lcd-shield-03-back-683x1024.jpg 683w, https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/3-5-inch-tft-lcd-shield-03-back-768x1152.jpg 768w, https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/3-5-inch-tft-lcd-shield-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 cinta flexible del anverso pertenece a la capa t\u00e1ctil; todo lo dem\u00e1s, desde los b\u00faferes del bus hasta la ranura microSD, est\u00e1 en el reverso.<\/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 class=\"has-fixed-layout\"><thead><tr><th>Elemento<\/th><th>Qu\u00e9 es<\/th><th>En la pr\u00e1ctica<\/th><\/tr><\/thead><tbody><tr><td>Panel<\/td><td>TFT de 3,5 pulgadas, resoluci\u00f3n nativa de 320 \u00d7 480, 480 \u00d7 320 en horizontal<\/td><td>153\u00a0600 p\u00edxeles: sitio para una gr\u00e1fica con r\u00f3tulos, una foto o un fotograma de v\u00eddeo<\/td><\/tr><tr><td>Controlador<\/td><td>ILI9486 o ILI9488, chip-on-glass; el nuestro se comporta como un ILI9488<\/td><td>Cada uno necesita su propia secuencia de inicio; con la equivocada tambi\u00e9n hay imagen, solo que peor<\/td><\/tr><tr><td>Interfaz<\/td><td>Bus paralelo de tipo Intel 8080: ocho l\u00edneas de datos m\u00e1s CS, RS, WR, RD y RST<\/td><td>13 pines del host; un byte por cada pulso de escritura<\/td><\/tr><tr><td>Color<\/td><td>RGB666, 262K colores, 3 bytes por p\u00edxel: verificado. RGB565, 65K colores, 2 bytes: deber\u00eda funcionar<\/td><td>Con dos bytes por p\u00edxel, el tr\u00e1fico bajar\u00eda en un tercio<\/td><\/tr><tr><td>Reloj de escritura<\/td><td>Verificado a 20 MHz con cables de puente; la hoja de datos del ILI9488 permite hasta 25 MHz<\/td><td>Un fotograma completo en 23 ms a tres bytes por p\u00edxel<\/td><\/tr><tr><td>T\u00e1ctil<\/td><td>Capa resistiva de 4 hilos, sin chip controlador<\/td><td>El host la mide con su propio ADC, por pines que comparte con la pantalla<\/td><\/tr><tr><td>Memoria<\/td><td>Ranura microSD por SPI, pines D10\u2013D13 del Uno<\/td><td>Fotos, fuentes y v\u00eddeo en la propia placa<\/td><\/tr><tr><td>Alimentaci\u00f3n<\/td><td>5 V por el pin 5V; regulador AMS1117 de 3,3 V en la placa<\/td><td>Una sola fuente para el panel, la l\u00f3gica y la luz de fondo<\/td><\/tr><tr><td>Niveles l\u00f3gicos<\/td><td>L\u00f3gica de 3,3 V en el host: verificada; el shield se hizo para la l\u00f3gica de 5 V de un Uno<\/td><td>Funciona con un ESP32, un RP2040 o un STM32, adem\u00e1s de con placas AVR<\/td><\/tr><tr><td>Luz de fondo<\/td><td>Siempre encendida; sin pin de control<\/td><td>No se puede atenuar por software; para ahorrar energ\u00eda, corta los 5 V<\/td><\/tr><tr><td>Formato<\/td><td>Shield de Arduino Uno R3, 28 pines de conexi\u00f3n<\/td><td>Se enchufa en un Uno o en un Mega; cualquier otro host necesita cables de puente<\/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)\">Primero, un poco de aritm\u00e9tica. Un fotograma son <code>480 \u00d7 320 = 153\u00a0600<\/code> p\u00edxeles: 460\u00a0800 bytes a tres bytes por p\u00edxel y 307\u00a0200 a dos. El bus de 8 bits mueve un byte por cada pulso de escritura, as\u00ed que a 20 MHz transporta 20 millones de bytes por segundo y un fotograma completo tarda 23 ms, o 15,4 ms a dos bytes por p\u00edxel. El SPI mueve un bit por ciclo de reloj. A 20 MHz, el l\u00edmite que fija la hoja de datos del ILI9488 para su interfaz SPI, el mismo fotograma tarda 184 ms, e incluso con overclock a 40 MHz tarda 92 ms.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Los pines: conecta seg\u00fan la etiqueta<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">El shield sigue la disposici\u00f3n del Arduino Uno, pero las etiquetas importan m\u00e1s que los n\u00fameros del Uno. El byte de datos est\u00e1 repartido de una forma que sorprende a muchos: de LCD_D2 a LCD_D7 van en los pines D2 a D7 del Uno, mientras que LCD_D0 y LCD_D1 se han movido a D8 y D9 para que D0 y D1 queden libres para el puerto serie del Uno.<\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table class=\"has-fixed-layout\"><thead><tr><th>Pin del Uno<\/th><th>Etiqueta<\/th><th>Qu\u00e9 hace<\/th><\/tr><\/thead><tbody><tr><td>A0<\/td><td>LCD_RD<\/td><td>Pulso de lectura, activo a nivel bajo; mantenlo en alto<\/td><\/tr><tr><td>A1<\/td><td>LCD_WR<\/td><td>Pulso de escritura, activo a nivel bajo; el panel captura los datos en su flanco de subida<\/td><\/tr><tr><td>A2<\/td><td>LCD_RS<\/td><td>Selecci\u00f3n de registro: 0 para un comando, 1 para datos; D\/C en otras bibliotecas<\/td><\/tr><tr><td>A3<\/td><td>LCD_CS<\/td><td>Selecci\u00f3n de chip, activa a nivel bajo<\/td><\/tr><tr><td>A4<\/td><td>LCD_RST<\/td><td>Reinicio, activo a nivel bajo<\/td><\/tr><tr><td>D2\u2013D7<\/td><td>LCD_D2\u2013D7<\/td><td>Bits de datos 2 a 7<\/td><\/tr><tr><td>D8, D9<\/td><td>LCD_D0, LCD_D1<\/td><td>Bits de datos 0 y 1<\/td><\/tr><tr><td>D10<\/td><td>SD_CS<\/td><td>Selecci\u00f3n de chip de la microSD<\/td><\/tr><tr><td>D11<\/td><td>SD_DI<\/td><td>Entrada de datos de la microSD, MOSI<\/td><\/tr><tr><td>D12<\/td><td>SD_DO<\/td><td>Salida de datos de la microSD, MISO<\/td><\/tr><tr><td>D13<\/td><td>SD_SCK<\/td><td>Reloj de la microSD<\/td><\/tr><tr><td>5V, GND<\/td><td>5V, GND<\/td><td>Alimenta toda la placa<\/td><\/tr><tr><td>3.3V<\/td><td>3V3<\/td><td>Se desconoce a d\u00f3nde est\u00e1 conectado; no lo uses para alimentar nada<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Hay dos trampas en las que cae mucha gente. Las etiquetas solo est\u00e1n impresas en el reverso, as\u00ed que, con la pantalla hacia ti, las filas izquierda y derecha se intercambian: conecta estrictamente seg\u00fan la etiqueta, nunca seg\u00fan la posici\u00f3n. Y en un Uno el shield lo ocupa casi todo. Lo que queda son D0 y D1, que son el puerto serie, el A5 sin etiqueta y los pines SPI compartidos con la tarjeta de memoria. El I\u00b2C desaparece, porque A4, el SDA del Uno, es LCD_RST. Por eso una estaci\u00f3n meteorol\u00f3gica con un par de sensores pide un Mega o, mejor a\u00fan, una placa de 32 bits con cables de puente.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">C\u00f3mo se comunica el bus de 8 bits<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">El bus es de tipo Intel 8080, el que la hoja de datos del ILI9488 llama DBI Type B. No tiene reloj en el sentido del SPI: el host pone un byte en D0\u2013D7 y da un pulso en WR, y el panel toma el byte en el flanco de subida. RS indica qu\u00e9 es ese byte: 0 para un comando y 1 para un par\u00e1metro o datos de p\u00edxel. CS delimita la transacci\u00f3n, RST reinicia el controlador y RD es el pulso de lectura.<\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table class=\"has-fixed-layout\"><thead><tr><th>Se\u00f1al<\/th><th>En reposo<\/th><th>Funci\u00f3n<\/th><\/tr><\/thead><tbody><tr><td>CS<\/td><td>Alto<\/td><td>Bajo mientras el host habla con el panel<\/td><\/tr><tr><td>RS<\/td><td>Cualquiera<\/td><td>0 para un byte de comando, 1 para un par\u00e1metro o datos de p\u00edxel<\/td><\/tr><tr><td>WR<\/td><td>Alto<\/td><td>Un pulso bajo y corto por byte; el panel captura D0\u2013D7 en el flanco de subida<\/td><\/tr><tr><td>RD<\/td><td>Alto<\/td><td>Nunca debe quedar flotante; se mantiene en alto salvo al leer<\/td><\/tr><tr><td>RST<\/td><td>Alto<\/td><td>Un nivel bajo reinicia el controlador<\/td><\/tr><tr><td>D0\u2013D7<\/td><td>\u2014<\/td><td>Las controla el host; el panel solo las controla mientras RD est\u00e1 en bajo<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<figure class=\"wp-block-image alignwide size-large\"><a href=\"https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/3-5-inch-tft-lcd-shield-04-write-cycle-es.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1600\" height=\"900\" src=\"https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/3-5-inch-tft-lcd-shield-04-write-cycle-es.png\" alt=\"Diagrama de tiempos de una escritura en el bus de 8 bits. CS baja y se queda en bajo. Con RS en bajo, el byte 0x2C aparece en D0\u2013D7 y un pulso de WR lo env\u00eda. Despu\u00e9s RS sube y siguen los bytes R, G, B, R, G, B, con un pulso de WR cada uno. Un marcador verde se\u00f1ala cada flanco de subida de WR, un periodo de byte aparece marcado como 50 ns a 20 MHz y RD se mantiene en alto todo el tiempo.\" class=\"wp-image-402\" srcset=\"https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/3-5-inch-tft-lcd-shield-04-write-cycle-es.png 1600w, https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/3-5-inch-tft-lcd-shield-04-write-cycle-es-300x169.png 300w, https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/3-5-inch-tft-lcd-shield-04-write-cycle-es-1024x576.png 1024w, https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/3-5-inch-tft-lcd-shield-04-write-cycle-es-768x432.png 768w, https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/3-5-inch-tft-lcd-shield-04-write-cycle-es-1536x864.png 1536w\" sizes=\"auto, (max-width: 1600px) 100vw, 1600px\" \/><\/a><figcaption class=\"wp-element-caption\">Una transacci\u00f3n de escritura: un byte de comando con RS en bajo y luego datos de p\u00edxel con RS en alto. Cada flanco de subida de WR mueve un byte.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Ese es todo el protocolo. Un comando sale con RS en bajo y sus par\u00e1metros le siguen con RS en alto. Los p\u00edxeles no se distinguen de los par\u00e1metros: tras el comando RAMWR, 0x2C, cada byte enviado con RS en alto va a parar a la memoria del panel, y el flujo puede durar todo lo que el host quiera.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Dibujar: una ventana y un flujo<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">El controlador guarda toda la imagen en su propia memoria y refresca el cristal a partir de ella por s\u00ed solo, as\u00ed que el host solo env\u00eda lo que cambia. Para dibujar, abre una ventana: CASET, 0x2A, fija la primera y la \u00faltima columna, y PASET, 0x2B, la primera y la \u00faltima fila. Despu\u00e9s de RAMWR, los p\u00edxeles llenan esa ventana de izquierda a derecha y de arriba abajo, sin coordenadas de por medio. Dos funciones de bus, una para un byte de comando y otra para bytes de datos, son todo lo que hace falta para portar este c\u00f3digo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>static void set_window(uint16_t x0, uint16_t y0, uint16_t x1, uint16_t y1) {\n    uint8_t ca[4] = { (uint8_t)(x0 &gt;&gt; 8), (uint8_t)x0,\n                      (uint8_t)(x1 &gt;&gt; 8), (uint8_t)x1 };\n    uint8_t pa[4] = { (uint8_t)(y0 &gt;&gt; 8), (uint8_t)y0,\n                      (uint8_t)(y1 &gt;&gt; 8), (uint8_t)y1 };\n    lcd_write_cmd(0x2A); lcd_write_data(ca, 4);   \/\/ CASET: columns\n    lcd_write_cmd(0x2B); lcd_write_data(pa, 4);   \/\/ PASET: rows\n}\n\n\/\/ A solid rectangle in RGB666: 3 bytes per pixel, one window\nstatic void fill_rect(uint16_t x, uint16_t y, uint16_t w, uint16_t h,\n                      uint8_t r, uint8_t g, uint8_t b) {\n    const uint8_t px[3] = { r, g, b };\n    set_window(x, y, x + w - 1, y + h - 1);\n    lcd_write_cmd(0x2C);                           \/\/ RAMWR\n    for (uint32_t i = 0; i &lt; (uint32_t)w * h; i++) {\n        lcd_write_data(px, 3);\n    }\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">En la ventana es donde se gana o se pierde la velocidad. Env\u00eda tantos p\u00edxeles seguidos como puedas dentro de una misma ventana: una ventana por p\u00edxel cuesta once bytes de comandos y coordenadas por cada tres bytes de color.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Formatos de p\u00edxel y orientaci\u00f3n<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Dos registros deciden el aspecto de la imagen. COLMOD, 0x3A, fija el formato de p\u00edxel. 0x66 es RGB666, tres bytes por p\u00edxel con el color en los seis bits altos de cada byte, y es lo que funciona en nuestra placa. 0x55 es RGB565, dos bytes por p\u00edxel: las dos hojas de datos lo recogen para el bus paralelo y las bibliotecas m\u00e1s populares lo usan ah\u00ed, pero todav\u00eda no lo hemos probado en esta unidad. Si los bytes que env\u00edas por p\u00edxel no coinciden con COLMOD, los rellenos de color liso salen como rayas finas de colores equivocados que cubren solo una parte de la ventana.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">MADCTL, 0x36, fija la orientaci\u00f3n y el orden de los colores. En esta placa, 0x28 da una imagen horizontal de 480 \u00d7 320 correcta y sin reflejar, y el bit BGR que incluye es la raz\u00f3n de que los colores se env\u00eden en el orden R, G, B de siempre. El rojo y el azul intercambiados se corrigen con ese bit, la imagen en espejo con los bits MX y MY y los ejes intercambiados con MV, nunca en el c\u00f3digo de la aplicaci\u00f3n.<\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table class=\"has-fixed-layout\"><thead><tr><th>MADCTL<\/th><th>Imagen<\/th><th>En esta placa<\/th><\/tr><\/thead><tbody><tr><td>0x48<\/td><td>Vertical, 320 \u00d7 480<\/td><td>Valor est\u00e1ndar, sin probar<\/td><\/tr><tr><td>0x28<\/td><td>Horizontal, 480 \u00d7 320<\/td><td>Verificado<\/td><\/tr><tr><td>0x88<\/td><td>Vertical, boca abajo<\/td><td>Sin probar<\/td><\/tr><tr><td>0xE8<\/td><td>Horizontal, boca abajo<\/td><td>Sin probar<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfILI9486 o ILI9488?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">En teor\u00eda, el controlador informa de su identidad: el comando 0xD3 devuelve un byte de relleno seguido de 0x00, 0x94 y 0x86 o 0x88. En la pr\u00e1ctica, muchos shields de esta familia son de solo escritura. Sus b\u00faferes del bus est\u00e1n cableados en un solo sentido, de la tira de pines al panel, as\u00ed que nada de lo que dice el panel llega nunca al host. Entonces la popular biblioteca MCUFRIEND_kbv vuelve a leer su propio byte de comando y da como ID 0xD3D3; su sketch de prueba marca ese caso como un shield de solo escritura.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En una placa as\u00ed, el controlador se identifica a ojo. Inicial\u00edzalo con la secuencia del ILI9488 y dibuja rellenos de color liso, degradados de grises y de color y una rejilla de un p\u00edxel; despu\u00e9s repite con la secuencia del ILI9486 y qu\u00e9date con la que d\u00e9 degradados suaves, buen contraste y ning\u00fan parpadeo. No hemos intentado leer el ID del nuestro. Con la secuencia del ILI9488 su imagen es correcta, as\u00ed que esa es la secuencia que va a continuaci\u00f3n.<\/p>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary>La secuencia de inicializaci\u00f3n del ILI9488 que funciona en esta placa<\/summary>\n<pre class=\"wp-block-code\"><code>RST: high 50 ms, low 50 ms, high 150 ms             ; hardware reset\n0x01                                                ; SWRESET, wait 120 ms\n0x28                                                ; DISPOFF\n0xE0: 00 03 09 08 16 0A 3F 78 4C 09 0A 08 16 1A 0F  ; positive gamma\n0xE1: 00 16 19 03 0F 05 32 45 46 04 0E 0D 35 37 0F  ; negative gamma\n0xC0: 17 15                                         ; power control 1\n0xC1: 41                                            ; power control 2\n0xC5: 00 12 80                                      ; VCOM control\n0x36: 48                                            ; MADCTL: portrait, BGR\n0x3A: 66                                            ; COLMOD: RGB666\n0xB0: 00                                            ; interface mode\n0xB1: A0                                            ; frame rate\n0xB4: 02                                            ; inversion control\n0xB6: 02 02 3B                                      ; display function\n0xB7: C6                                            ; entry mode\n0xF7: A9 51 2C 82                                   ; adjust control 3\n0x11                                                ; SLPOUT, wait 120 ms\n0x29                                                ; DISPON, wait 25 ms\n0x36: 28                                            ; MADCTL: landscape<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Cada l\u00ednea es un comando seguido de sus bytes de par\u00e1metros. Con COLMOD a 0x55 en lugar de 0x66, el panel esperar\u00eda RGB565, que todav\u00eda no hemos probado. Los valores de los registros coinciden con el driver ILI9488 de TFT_eSPI, salvo que la biblioteca elige 0x55 para los buses paralelos. La alternativa para el ILI9486 est\u00e1 en la gu\u00eda de programaci\u00f3n del final del art\u00edculo.<\/p>\n<\/details>\n\n\n\n<h2 class=\"wp-block-heading\">De d\u00f3nde sale la velocidad<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">El SPI mueve un bit por ciclo de reloj. El bus de 8 bits mueve un byte. Con el mismo reloj, eso son ocho veces m\u00e1s datos, y esa es toda la raz\u00f3n de que esta interfaz a la antigua siga viva: necesita trece pines en lugar de cuatro o cinco, pero llena una pantalla grande en una fracci\u00f3n del tiempo.<\/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\/3-5-inch-tft-lcd-shield-05-bus-speed-es.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1600\" height=\"1040\" src=\"https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/3-5-inch-tft-lcd-shield-05-bus-speed-es.png\" alt=\"Arriba: dos filas de tiempos comparten ocho ciclos de reloj; por SPI transportan los ocho bits de un byte, y por el bus de 8 bits, ocho bytes enteros. Abajo: un gr\u00e1fico de barras con el tiempo que pasa en el bus un fotograma completo de 480 por 320: 184 ms por SPI a 20 MHz, 92 ms por SPI a 40 MHz, 23 ms por el bus de 8 bits a 20 MHz con tres bytes por p\u00edxel y 15,4 ms con dos. Una l\u00ednea vertical marca los 40 ms.\" class=\"wp-image-407\" srcset=\"https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/3-5-inch-tft-lcd-shield-05-bus-speed-es.png 1600w, https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/3-5-inch-tft-lcd-shield-05-bus-speed-es-300x195.png 300w, https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/3-5-inch-tft-lcd-shield-05-bus-speed-es-1024x666.png 1024w, https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/3-5-inch-tft-lcd-shield-05-bus-speed-es-768x499.png 768w, https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/3-5-inch-tft-lcd-shield-05-bus-speed-es-1536x998.png 1536w\" sizes=\"auto, (max-width: 1600px) 100vw, 1600px\" \/><\/a><figcaption class=\"wp-element-caption\">Con el mismo reloj, el bus de 8 bits mueve ocho veces m\u00e1s datos. Las barras salen de la aritm\u00e9tica; de las cuatro, solo la configuraci\u00f3n de 23 ms se ha probado en nuestra placa.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Adem\u00e1s, con esta familia concreta de controladores el SPI parte con desventaja. Por SPI, el ILI9486 solo acepta el color completo en formato de 18 bits, y aunque la hoja de datos del ILI9488 recoge color de 16 bits en su modo SPI de 4 hilos, en la pr\u00e1ctica estos chips se manejan con tres bytes por p\u00edxel, que es justo lo que hacen las bibliotecas m\u00e1s populares. La misma hoja de datos limita el reloj de escritura SPI del ILI9488 a 20 MHz. Para su bus paralelo admite un ciclo de escritura de 40 ns, es decir, 25 MHz, as\u00ed que nuestros 20 MHz quedan dentro de la especificaci\u00f3n. El ILI9486 es m\u00e1s lento: su hoja de datos pide al menos 66 ns por escritura, unos 15 MHz. Si resulta que tu placa lleva ese chip, empieza por debajo de esa cifra.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Eso s\u00ed, el bus solo es tan r\u00e1pido como el host que lo maneja. Conmutar trece pines uno a uno con <code>digitalWrite()<\/code> convierte la interfaz m\u00e1s r\u00e1pida de la placa en una de las m\u00e1s lentas. Escribir registros de puerto completos es mucho mejor, y un perif\u00e9rico de hardware con DMA es lo mejor de todo: el LCD_CAM de un ESP32-S3, el PIO de un RP2040 o el FSMC de un STM32 env\u00edan los bytes por su cuenta mientras el procesador prepara los siguientes.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Nuestra prueba: v\u00eddeo a 25 fps desde una tarjeta microSD<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">El host fue la <a href=\"https:\/\/build-mode-ak.com\/es\/esp32-s3-cam-n16r8\/\">ESP32-S3-CAM N16R8<\/a> de nuestro art\u00edculo anterior, conectada al shield con cables de puente. En esa placa, las 13 l\u00edneas del bus ocuparon GPIO que normalmente usa la c\u00e1mara, as\u00ed que la c\u00e1mara se qued\u00f3 fuera de esta prueba. El bus funcion\u00f3 con el driver esp_lcd i80 de ESP-IDF sobre el perif\u00e9rico LCD_CAM del S3, con un reloj de escritura de 20 MHz, la secuencia del ILI9488, RGB666 y orientaci\u00f3n horizontal. Dos b\u00faferes DMA de 30\u00a0720 bytes, suficientes para 10\u00a0240 p\u00edxeles cada uno, se turnan: mientras uno va camino del panel, el otro se est\u00e1 llenando.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El reproductor reparte el trabajo entre los dos n\u00facleos. Uno lee archivos MJPEG de la propia tarjeta microSD de la placa; el otro decodifica cada fotograma con la biblioteca JPEGDEC y vuelca los bloques decodificados directamente en los b\u00faferes DMA, convirtiendo RGB565 en RGB666 por el camino. El resultado es v\u00eddeo estable a pantalla completa, 480 \u00d7 320, a 25 fotogramas por segundo. De los 40 ms que puede durar cada fotograma, el bus necesita 23. Por SPI con overclock a 40 MHz, el mismo fotograma necesitar\u00eda 92 ms solo en el bus, as\u00ed que los 25 fps quedar\u00edan fuera de alcance antes de decodificar un solo p\u00edxel.<\/p>\n\n\n\n<figure class=\"wp-block-video alignwide\"><video height=\"720\" style=\"aspect-ratio: 1280 \/ 720;\" width=\"1280\" controls poster=\"https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/3-5-inch-tft-lcd-shield-07-test-video-poster.jpg\" preload=\"none\" src=\"https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/3-5-inch-tft-lcd-shield-07-test-video.mp4\" playsinline><\/video><figcaption class=\"wp-element-caption\">Nuestra prueba en v\u00eddeo. La ESP32-S3-CAM N16R8 de la placa de pruebas de abajo controla el shield a trav\u00e9s de un mazo de cables de puente y reproduce clips MJPEG de 480 \u00d7 320 desde su tarjeta microSD a 25 fps. La pantalla peque\u00f1a de la derecha pertenece a otra placa. 33 segundos, sin sonido.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Para configurar el bus hacen falta dos estructuras. As\u00ed lo hace nuestro driver. RD no interviene para nada: esp_lcd no tiene v\u00eda de lectura, as\u00ed que un GPIO normal se limita a mantener RD en alto.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>esp_lcd_i80_bus_config_t bus_config = {};\nbus_config.dc_gpio_num = PIN_LCD_RS;\nbus_config.wr_gpio_num = PIN_LCD_WR;\nbus_config.clk_src = LCD_CLK_SRC_PLL160M;\nbus_config.data_gpio_nums[0] = PIN_LCD_D0;     \/\/ likewise [1] to [7]\nbus_config.bus_width = 8;\n\/\/ One DMA chunk: 32 lines of 320 pixels in RGB666\nbus_config.max_transfer_bytes = 320 * 32 * 3;\nesp_lcd_new_i80_bus(&amp;bus_config, &amp;i80_bus);\n\nesp_lcd_panel_io_i80_config_t io_config = {};\nio_config.cs_gpio_num = PIN_LCD_CS;\nio_config.pclk_hz = 20 * 1000 * 1000;          \/\/ 20 MHz write clock\nio_config.trans_queue_depth = 10;\nio_config.lcd_cmd_bits = 8;\nio_config.lcd_param_bits = 8;\nio_config.dc_levels.dc_cmd_level = 0;          \/\/ RS low: command\nio_config.dc_levels.dc_data_level = 1;         \/\/ RS high: data\nesp_lcd_new_panel_io_i80(i80_bus, &amp;io_config, &amp;io_handle);<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">A partir de ah\u00ed, <code>esp_lcd_panel_io_tx_param()<\/code> env\u00eda los comandos con sus par\u00e1metros y <code>esp_lcd_panel_io_tx_color()<\/code> pone en cola los datos de p\u00edxel para el DMA y vuelve de inmediato. Ah\u00ed est\u00e1 tambi\u00e9n la trampa: un b\u00fafer no debe volver a llenarse antes de que termine su transferencia, o saldr\u00e1n bloques de la imagen corruptos.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Quedan dos l\u00edmites. Con los ajustes habituales, el controlador refresca el cristal desde su memoria unas 60 veces por segundo, y el shield no saca la se\u00f1al de tearing effect que permitir\u00eda al host sincronizar sus escrituras con ese refresco, as\u00ed que en los movimientos r\u00e1pidos puede verse una l\u00ednea de corte. Y un b\u00fafer de fotograma completo, 460\u00a0800 bytes en RGB666, solo cabe en una PSRAM externa, y por eso nuestro driver env\u00eda en su lugar trozos peque\u00f1os desde la memoria interna.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Qu\u00e9 host y qu\u00e9 biblioteca<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">El shield se dise\u00f1\u00f3 para el Uno, pero el Uno es el hogar m\u00e1s lento que puede tener. La tabla resume las v\u00edas habituales; la gu\u00eda de programaci\u00f3n del final recoge las restricciones de pines de cada una.<\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table class=\"has-fixed-layout\"><thead><tr><th>Host<\/th><th>V\u00eda<\/th><th>Ojo con<\/th><\/tr><\/thead><tbody><tr><td>Arduino Uno<\/td><td>Se enchufa. MCUFRIEND_kbv con Adafruit_GFX, m\u00e1s Adafruit TouchScreen para la capa t\u00e1ctil<\/td><td>2 KB de SRAM: sin b\u00fafer de fotograma, las im\u00e1genes van por partes desde la tarjeta. El byte de datos est\u00e1 repartido entre dos puertos, y eso cuesta tiempo<\/td><\/tr><tr><td>Arduino Mega<\/td><td>Se enchufa. MCUFRIEND_kbv<\/td><td>Los pines del Uno caen en puertos dispersos del Mega, un mapeo m\u00e1s lento que en el Uno; memoria y pines de sobra<\/td><\/tr><tr><td>ESP32<\/td><td>esp_lcd i80 mediante I2S, LovyanGFX, TFT_eSPI<\/td><td>GPIO34\u201339 son solo de entrada. Las placas con formato Uno, como la Wemos D1 R32, ponen ah\u00ed LCD_RS, LCD_CS y LCD_RST, as\u00ed que esas tres hay que llevarlas a otros pines<\/td><\/tr><tr><td>ESP32-S3<\/td><td>esp_lcd i80 sobre LCD_CAM con DMA, como en nuestra prueba; LovyanGFX y Arduino_GFX tambi\u00e9n usan LCD_CAM<\/td><td>Cualquier GPIO puede llevar cualquier se\u00f1al. TFT_eSPI tambi\u00e9n funciona, pero en el S3 conmuta registros GPIO sin DMA<\/td><\/tr><tr><td>RP2040<\/td><td>TFT_eSPI con PIO y DMA<\/td><td>D0\u2013D7 deben ir en GPIO contiguos<\/td><\/tr><tr><td>STM32<\/td><td>FSMC o FMC en modo 8080 donde el encapsulado lo permita; si no, escrituras de puerto<\/td><td>Los pines del FSMC son fijos para cada encapsulado<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Sea cual sea el host, planifica los pines pensando en la parte t\u00e1ctil: la capa comparte l\u00edneas con la pantalla y sus extremos anal\u00f3gicos necesitan pines con ADC. Lo vemos m\u00e1s abajo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En un Uno, la forma m\u00e1s r\u00e1pida de empezar es MCUFRIEND_kbv. Nosotros no hemos ejecutado este sketch en un Uno: es la v\u00eda est\u00e1ndar de la biblioteca, con un a\u00f1adido para las placas de solo escritura.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#include &lt;Adafruit_GFX.h&gt;\n#include &lt;MCUFRIEND_kbv.h&gt;\n\nMCUFRIEND_kbv tft;\n\nvoid setup() {\n  Serial.begin(9600);\n  uint16_t id = tft.readID();\n  Serial.print(F(\"ID = 0x\"));\n  Serial.println(id, HEX);\n  \/\/ A write-only shield reads back 0xD3D3: name the controller yourself\n  if (id == 0xD3D3) id = 0x9488;\n  tft.begin(id);\n  tft.setRotation(1);              \/\/ landscape, 480 \u00d7 320\n  tft.fillScreen(0x0000);          \/\/ black\n  tft.setTextColor(0x07E0);        \/\/ green\n  tft.setTextSize(3);\n  tft.setCursor(24, 24);\n  tft.print(F(\"Hello, 480 x 320\"));\n}\n\nvoid loop() {}<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">T\u00e1ctil sin controlador t\u00e1ctil<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La capa t\u00e1ctil es la cl\u00e1sica resistiva de 4 hilos: dos l\u00e1minas resistivas que se tocan donde presionas. No hay un XPT2046 ni un chip parecido que la lea. En su lugar, sus cuatro electrodos van conectados a l\u00edneas que la pantalla ya usa, y el host los mide con su propio ADC. Aplica una tensi\u00f3n a lo largo de una l\u00e1mina y lee en qu\u00e9 punto hace contacto la otra; luego intercambia los papeles para el otro eje.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Qu\u00e9 l\u00edneas llevan los electrodos var\u00eda de una placa a otra, y en la nuestra todav\u00eda no las hemos localizado. En los shields de esta familia, los extremos anal\u00f3gicos suelen estar en LCD_WR, LCD_RS o LCD_CS, y los digitales, en l\u00edneas de datos como LCD_D6 y LCD_D7. Con un mult\u00edmetro se encuentran en un minuto: con la placa sin alimentaci\u00f3n, dos pares entre las l\u00edneas de control y las de datos marcan unos cientos de ohmios, alrededor de 300 en una l\u00e1mina y 500 en la otra.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Leer la capa t\u00e1ctil significa, por tanto, tomar prestados esos pines a la pantalla. Espera a que el bus est\u00e9 inactivo, mant\u00e9n inactiva la l\u00ednea de control que no es un electrodo para que el panel ignore el ruido, toma varias muestras y devuelve cada pin a su funci\u00f3n de pantalla antes de la siguiente transferencia. Si te saltas ese \u00faltimo paso, obtendr\u00e1s p\u00edxeles aleatorios y una pantalla congelada. Con un perif\u00e9rico de hardware como LCD_CAM es todav\u00eda m\u00e1s dif\u00edcil, porque los pines hay que liberarlos del perif\u00e9rico y volver a conectarlos, as\u00ed que decide c\u00f3mo vas a leer la capa t\u00e1ctil antes de fijar el mapa de pines. Adem\u00e1s, la capa t\u00e1ctil prefiere objetivos grandes: los botones del tama\u00f1o de la yema de un dedo le van mucho mejor que una interfaz al estilo de un m\u00f3vil.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">microSD, alimentaci\u00f3n y retroiluminaci\u00f3n<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La ranura microSD tiene sus propias l\u00edneas SPI, SD_CS, SD_DI, SD_DO y SD_SCK, en los pines D10 a D13 del Uno, el\u00e9ctricamente separadas del bus de la pantalla. En cualquier otro host puede ir a cualquier pin que admita SPI. No la hemos probado en esta unidad: para el v\u00eddeo de arriba, el ESP32-S3 ley\u00f3 la ranura de su propia placa. Si no la usas, deja sus l\u00edneas sin conectar o mant\u00e9n SD_CS en alto.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La alimentaci\u00f3n entra como 5 V por el pin 5V. El regulador de la placa genera 3,3 V para el panel y los b\u00faferes, y un host de 3,3 V maneja la l\u00f3gica directamente. No toques el pin 3V3 de la tira: se desconoce a d\u00f3nde est\u00e1 conectado y no sustituye a la alimentaci\u00f3n de 5 V. La retroiluminaci\u00f3n no tiene pin de control y permanece encendida mientras la placa recibe alimentaci\u00f3n, as\u00ed que no se puede atenuar ni apagar por software; DISPOFF y SLPIN borran la imagen, no la luz. No hemos medido la corriente. Como referencia aproximada, la especificaci\u00f3n del panel de un shield para Uno parecido, tambi\u00e9n de 3,5 pulgadas, da 90 mA t\u00edpicos para su retroiluminaci\u00f3n de seis LED, as\u00ed que con una fuente USB floja o con el peque\u00f1o regulador de una placa de desarrollo conviene comprobarlo con un amper\u00edmetro.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Qu\u00e9 construir con \u00e9l<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">480 \u00d7 320 es un tama\u00f1o c\u00f3modo: lo bastante grande para una gr\u00e1fica con r\u00f3tulos legibles, una foto o una fila de botones del tama\u00f1o de una yema, y lo bastante peque\u00f1o para llenarlo deprisa. Por eso esta clase de pantalla aparece una y otra vez en proyectos, tanto en este mismo shield como en sus parientes.<\/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\/3-5-inch-tft-lcd-shield-06-screens-es.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1600\" height=\"1210\" src=\"https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/3-5-inch-tft-lcd-shield-06-screens-es.png\" alt=\"Cuatro interfaces dibujadas a 480 por 320. Una pantalla meteorol\u00f3gica oscura con 18 grados, parcialmente nuboso, humedad del 64 por ciento, presi\u00f3n de 1014 hPa, viento de 3 m\/s y una gr\u00e1fica de temperatura de 24 horas. Una imagen de un lago de monta\u00f1a con los puntos del pase de diapositivas. Un panel t\u00e1ctil claro con seis botones grandes para las luces, la calefacci\u00f3n, un ventilador, una impresora 3D, la puerta de entrada y una escena de noche. Una pantalla de osciloscopio con una cuadr\u00edcula, una onda senoidal y una onda cuadrada.\" class=\"wp-image-412\" srcset=\"https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/3-5-inch-tft-lcd-shield-06-screens-es.png 1600w, https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/3-5-inch-tft-lcd-shield-06-screens-es-300x227.png 300w, https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/3-5-inch-tft-lcd-shield-06-screens-es-1024x774.png 1024w, https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/3-5-inch-tft-lcd-shield-06-screens-es-768x581.png 768w, https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/3-5-inch-tft-lcd-shield-06-screens-es-1536x1162.png 1536w\" sizes=\"auto, (max-width: 1600px) 100vw, 1600px\" \/><\/a><figcaption class=\"wp-element-caption\">Cuatro tareas que esta pantalla hace bien, dibujadas a su resoluci\u00f3n real de 480 \u00d7 320.<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">1. Una estaci\u00f3n meteorol\u00f3gica<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">El montaje m\u00e1s popular de todos. En el proyecto de Instructables Second Multi-functional Weather Station, un Arduino Mega lleva justo este tipo de shield de 3,5 pulgadas con ILI9486, junto con un reloj DS3231 y sensores DHT22 y BMP280, y usa la ranura de tarjeta del shield para un \u00e1lbum de fotos de unas mil im\u00e1genes convertidas a BMP. Otros montajes prescinden por completo de los sensores. En el blog thesolaruniverse, un ESP32 con un shield de 3,95 pulgadas del mismo dise\u00f1o obtiene el tiempo de OpenWeatherMap por Wi\u2011Fi y lo dibuja a trav\u00e9s del bus de 8 bits con TFT_eSPI. Un proyecto de Elektor de diciembre de 2023 hace lo mismo en una placa Makerfabs ESP32-S3 con un ILI9488 de 3,5 pulgadas y lee los ajustes del Wi\u2011Fi y la ciudad de un archivo en la tarjeta de memoria.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2. Un marco de fotos<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">La ranura microSD convierte el shield en un marco de fotos casi por s\u00ed sola. MCUFRIEND_kbv trae un ejemplo, showBMP, que lee archivos BMP directamente de la tarjeta en los pines 10 a 13 e indica cu\u00e1nto ha tardado en cargarse cada uno. En un ESP32, el driver esp-idf-parallel-tft de nopnop2002 muestra archivos BMP, JPEG y PNG en los shields de esta familia y adem\u00e1s calibra su capa t\u00e1ctil. En las transiciones, como los fundidos y los barridos, es donde el bus paralelo compensa: cada paso de una transici\u00f3n redibuja toda la pantalla, y un fotograma completo cuesta 23 ms en este bus frente a una d\u00e9cima de segundo o m\u00e1s por SPI.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3. Un reproductor de v\u00eddeo<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Nuestra propia prueba est\u00e1 en el extremo exigente: MJPEG desde una tarjeta a 25 fps. Como punto de partida ya hecho, los ejemplos MJPEG de la biblioteca Arduino_GFX muestran la tasa media de fotogramas y desglosan el tiempo entre lectura, decodificaci\u00f3n y dibujo, lo que los convierte en una prueba de rendimiento muy pr\u00e1ctica para cualquier placa. Larry Bank, autor de JPEGDEC, el decodificador que usa nuestro reproductor, manej\u00f3 un viejo shield para Uno de 3,5 pulgadas con ILI9486 desde un RP2040 mediante PIO y DMA y reprodujo en \u00e9l GIF animados; su art\u00edculo se titula Breathing new life into an old LCD shield.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">4. Una consola de juegos<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Los juegos necesitan justo lo que mejor se le da a este bus: redibujar muchos p\u00edxeles muchas veces por segundo. El proyecto ESP32-S3_Uno-nofrendo ejecuta el emulador de NES nofrendo en una placa ESP32-S3 con formato Uno, con un shield ILI9488 de 8 bits enchufado directamente, y carga las ROM desde la tarjeta; todav\u00eda no tiene joystick ni sonido. En el extremo m\u00e1s sencillo, un clon de Tetris para Arduino Mega con un shield ILI9486 saca su m\u00fasica por un transmisor FM de coche, as\u00ed que, para o\u00edrla, sintonizas una radio en 87,5 MHz. La serie de tutoriales de Dumblebots construye un programa tipo Paint y un tres en raya sobre el mismo tipo de shield de 3,5 pulgadas, capa t\u00e1ctil incluida.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">5. Un panel t\u00e1ctil en la pared<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Un panel dom\u00f3tico es el trabajo obvio para una pantalla t\u00e1ctil de este tama\u00f1o, y aqu\u00ed suelen ganar los parientes ya hechos. El WT32-SC01 Plus combina un ESP32-S3 con una pantalla de 3,5 pulgadas y 480 \u00d7 320 en el mismo tipo de bus de 8 bits. openHASP lo convierte en un panel controlado por MQTT y construido sobre LVGL, y, con un componente de la comunidad, ESPHome puede manejarlo para Home Assistant. AirQualitySensor-IDF convierte la misma placa en un monitor de calidad del aire: lee sensores de part\u00edculas, CO\u2082, temperatura y humedad y dibuja seis horas de historial con LVGL. Si tienes una impresora 3D, puede que ya tengas una pantalla de esta clase: la Color UI de Marlin funciona en pantallas t\u00e1ctiles de 3,5 pulgadas y 480 \u00d7 320 como la MKS TFT35, conectadas al STM32 de la impresora por el bus paralelo FSMC.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">6. Instrumentos<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">La traza de un osciloscopio hay que redibujarla muchas veces por segundo, algo que le va bien a un bus r\u00e1pido. Un proyecto abierto combina un STM32F303 con una pantalla ILI9486 de 3,5 pulgadas para un osciloscopio de 2 Msps con un registro de 4096 puntos. DLO-138, un firmware abierto para el popular kit DSO-138, maneja la pantalla ILI9341, m\u00e1s peque\u00f1a, de ese kit por un bus de 8 bits y lo convierte en un osciloscopio de dos canales con otros dos canales digitales. Para indicadores, medidores y gr\u00e1ficas, TFT_eSPI tiene una carpeta entera de ejemplos escritos para 480 \u00d7 320.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Algunas ideas m\u00e1s que la gente ha montado con pantallas de 480 \u00d7 320:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Un navegador GPS sin conexi\u00f3n.<\/strong> IceNav-v3 dibuja mapas de OpenStreetMap sin conexi\u00f3n en un ESP32-S3 y admite paneles ILI9488 por SPI y por buses paralelos de 8 o 16 bits.<\/li>\n\n\n\n<li><strong>Una pantalla de \u00abahora suena\u00bb.<\/strong> El mando para Spotify de ThingPulse muestra la car\u00e1tula del \u00e1lbum y adapta el color de fondo a la portada en un ILI9488 de 3,5 pulgadas.<\/li>\n\n\n\n<li><strong>Una radio con vista de espectro.<\/strong> Un receptor de todas las bandas basado en el chip Si4735 y un ESP32 dibuja un espectro y una cascada en un ILI9488 de 4 pulgadas y 480 \u00d7 320.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Parientes: la misma pantalla en otros formatos<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">El shield pertenece a una familia numerosa. Si su formato o su bus no encajan en un proyecto, puede que encaje alguno de sus parientes. Todos son de 480 \u00d7 320, salvo los shields para Uno m\u00e1s peque\u00f1os:<\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table class=\"has-fixed-layout\"><thead><tr><th>Pantalla<\/th><th>Controlador y bus<\/th><th>Conviene saber<\/th><\/tr><\/thead><tbody><tr><td>Shields para Uno de 2,4 y 2,8 pulgadas<\/td><td>ILI9341 y otros; paralelo de 8 bits<\/td><td>El mismo patillaje y las mismas bibliotecas, a 240 \u00d7 320<\/td><\/tr><tr><td>M\u00f3dulos SPI de 3,5 pulgadas, como el MSP3520<\/td><td>ILI9488; SPI de 4 hilos<\/td><td>Pocos pines, t\u00e1ctil con sus propias l\u00edneas SPI, tres bytes por p\u00edxel<\/td><\/tr><tr><td>Shields para Uno de 3,95 pulgadas<\/td><td>ILI9486 y otros; paralelo de 8 bits<\/td><td>Cristal m\u00e1s grande, el mismo cableado<\/td><\/tr><tr><td>WT32-SC01 Plus<\/td><td>ST7796; paralelo de 8 bits, ESP32-S3 integrado<\/td><td>Un panel acabado para openHASP, ESPHome y LVGL<\/td><\/tr><tr><td>Makerfabs ESP32-S3 Parallel TFT, 3,5 pulgadas<\/td><td>ILI9488; paralelo de 16 bits, ESP32-S3 integrado<\/td><td>El doble de ancho de bus<\/td><\/tr><tr><td>ESP32-3248S035, la Cheap Yellow Display de 3,5 pulgadas<\/td><td>ST7796; SPI, ESP32 integrado<\/td><td>Completa y barata, pero con SPI<\/td><\/tr><tr><td>MKS TFT35<\/td><td>ILI9488 o ST7796; paralelo FSMC<\/td><td>La pantalla t\u00e1ctil de muchas impresoras 3D<\/td><\/tr><\/tbody><\/table><\/figure>\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>Se enchufa directamente en un Uno o en un Mega<\/td><td>En un Uno ocupa casi todos los pines, I\u00b2C incluido<\/td><\/tr><tr><td>480 \u00d7 320 con t\u00e1ctil y microSD en una sola placa<\/td><td>ILI9486 o ILI9488: la placa no dice cu\u00e1l, y puede ser de solo escritura<\/td><\/tr><tr><td>Bus de 8 bits: un fotograma completo en 23 ms a 20 MHz verificados<\/td><td>Trece cables de se\u00f1al en cualquier host en el que no se enchufe<\/td><\/tr><tr><td>Funciona con hosts de 3,3 V: ESP32, RP2040, STM32<\/td><td>Sin un perif\u00e9rico de bus por hardware se pierde la mayor parte de la velocidad<\/td><\/tr><tr><td>V\u00eddeo a pantalla completa a 25 fps desde un ESP32-S3<\/td><td>La tira de pines no saca la se\u00f1al de tearing effect<\/td><\/tr><tr><td>T\u00e1ctil sin chip adicional<\/td><td>La capa t\u00e1ctil comparte pines con la pantalla y necesita el ADC del host<\/td><\/tr><tr><td>Ranura microSD en l\u00edneas SPI propias<\/td><td>La retroiluminaci\u00f3n est\u00e1 siempre encendida y no hay forma de atenuarla<\/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\">El shield TFT LCD de 3,5 pulgadas parece una reliquia de la \u00e9poca del Arduino Uno, y en un Uno se comporta como tal: ocupa casi todos los pines y llena la pantalla al ritmo de un procesador de 8 bits. Pero dale un host con un buen perif\u00e9rico paralelo y el viejo bus demuestra por qu\u00e9 ha sobrevivido: un byte por ciclo de reloj, un fotograma completo de 480 \u00d7 320 en 23 ms, v\u00eddeo a 25 fps.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Para una estaci\u00f3n meteorol\u00f3gica, un marco de fotos, un panel de control o un peque\u00f1o instrumento es m\u00e1s que suficiente, siempre que el primer arranque parta de una configuraci\u00f3n que se sepa que funciona:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Comprueba que no haya cortocircuitos entre 5V, 3V3 y GND y, al conectar, empieza por GND y por 5 V en el pin 5V.<\/li>\n\n\n\n<li>Conecta seg\u00fan las etiquetas del reverso, nunca seg\u00fan la posici\u00f3n, y mant\u00e9n LCD_RD en alto desde el principio.<\/li>\n\n\n\n<li>Usa la secuencia del ILI9488, COLMOD 0x66 y MADCTL 0x28 a 10 MHz o menos.<\/li>\n\n\n\n<li>Dibuja primero rellenos de color liso y degradados; si la imagen sale desva\u00edda o parpadea, prueba la secuencia del ILI9486.<\/li>\n\n\n\n<li>Sube el reloj poco a poco, hasta 20 MHz con un ILI9488.<\/li>\n\n\n\n<li>A\u00f1ade la capa t\u00e1ctil y la tarjeta microSD al final, de una en una.<\/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 y m\u00e1s, en un solo archivo: la gu\u00eda de programaci\u00f3n de este shield. El patillaje por etiquetas, los tiempos del bus y los l\u00edmites de las hojas de datos, las secuencias de inicializaci\u00f3n de los dos controladores, los formatos de p\u00edxel, la rotaci\u00f3n, la parte t\u00e1ctil y la microSD, un procedimiento de puesta en marcha y una gu\u00eda de fallos, con cada afirmaci\u00f3n marcada como verificada, probable o desconocida. P\u00e1sasela a un agente programador antes de que escriba una sola l\u00ednea de c\u00f3digo del driver.<\/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\/3-5-inch-tft-lcd-shield-programming-guide.md\">Shield TFT LCD de 3,5 pulgadas \u2014 gu\u00eda de programaci\u00f3n para un agente programador (Markdown, en ingl\u00e9s, 39 KB)<\/a><a href=\"https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/3-5-inch-tft-lcd-shield-programming-guide.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 pantalla t\u00e1ctil de 480 \u00d7 320 con ranura microSD que se enchufa directamente en un Arduino Uno. Su controlador ILI9486\/ILI9488 recibe un byte entero por ciclo de reloj, y en un ESP32-S3 eso basta para v\u00eddeo a pantalla completa a 25 fps. Patillaje, interfaz de programaci\u00f3n, velocidad y qu\u00e9 construir con ella.<\/p>\n","protected":false},"author":1,"featured_media":397,"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":[59],"class_list":["post-423","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sin-categorizar","tag-arduino-es","tag-esp32-es","topic-pantallas"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Shield TFT LCD de 3,5 pulgadas: una pantalla de 480 \u00d7 320 en un bus r\u00e1pido de 8 bits - Build Mode<\/title>\n<meta name=\"description\" content=\"Shield TFT de 3,5 pulgadas y 480\u00d7320 (ILI9486\/ILI9488): patillaje del bus de 8 bits, interfaz de programaci\u00f3n, por qu\u00e9 es r\u00e1pido y qu\u00e9 construir con \u00e9l.\" \/>\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\/3-5-inch-tft-lcd-shield\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Shield TFT LCD de 3,5 pulgadas: una pantalla de 480 \u00d7 320 en un bus r\u00e1pido de 8 bits - Build Mode\" \/>\n<meta property=\"og:description\" content=\"Shield TFT de 3,5 pulgadas y 480\u00d7320 (ILI9486\/ILI9488): patillaje del bus de 8 bits, interfaz de programaci\u00f3n, por qu\u00e9 es r\u00e1pido y qu\u00e9 construir con \u00e9l.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/build-mode-ak.com\/es\/3-5-inch-tft-lcd-shield\/\" \/>\n<meta property=\"og:site_name\" content=\"Build Mode\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-18T11:39:28+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-18T14:06:32+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/3-5-inch-tft-lcd-shield-01-anatomy-es.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1600\" \/>\n\t<meta property=\"og:image:height\" content=\"1000\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\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=\"30 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\\\/3-5-inch-tft-lcd-shield\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/build-mode-ak.com\\\/es\\\/3-5-inch-tft-lcd-shield\\\/\"},\"author\":{\"name\":\"q_admin\",\"@id\":\"https:\\\/\\\/build-mode-ak.com\\\/es\\\/#\\\/schema\\\/person\\\/776a2342163ad07c23ce7dac33d9cc8b\"},\"headline\":\"Shield TFT LCD de 3,5 pulgadas: una pantalla de 480 \u00d7 320 en un bus r\u00e1pido de 8 bits\",\"datePublished\":\"2026-09-18T11:39:28+00:00\",\"dateModified\":\"2026-09-18T14:06:32+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/build-mode-ak.com\\\/es\\\/3-5-inch-tft-lcd-shield\\\/\"},\"wordCount\":5607,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/build-mode-ak.com\\\/es\\\/3-5-inch-tft-lcd-shield\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/build-mode-ak.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/3-5-inch-tft-lcd-shield-01-anatomy-es.jpg\",\"keywords\":[\"Arduino\",\"ESP32\"],\"articleSection\":[\"Sin categorizar\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/build-mode-ak.com\\\/es\\\/3-5-inch-tft-lcd-shield\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/build-mode-ak.com\\\/es\\\/3-5-inch-tft-lcd-shield\\\/\",\"url\":\"https:\\\/\\\/build-mode-ak.com\\\/es\\\/3-5-inch-tft-lcd-shield\\\/\",\"name\":\"Shield TFT LCD de 3,5 pulgadas: una pantalla de 480 \u00d7 320 en un bus r\u00e1pido de 8 bits - Build Mode\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/build-mode-ak.com\\\/es\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/build-mode-ak.com\\\/es\\\/3-5-inch-tft-lcd-shield\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/build-mode-ak.com\\\/es\\\/3-5-inch-tft-lcd-shield\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/build-mode-ak.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/3-5-inch-tft-lcd-shield-01-anatomy-es.jpg\",\"datePublished\":\"2026-09-18T11:39:28+00:00\",\"dateModified\":\"2026-09-18T14:06:32+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/build-mode-ak.com\\\/es\\\/#\\\/schema\\\/person\\\/776a2342163ad07c23ce7dac33d9cc8b\"},\"description\":\"Shield TFT de 3,5 pulgadas y 480\u00d7320 (ILI9486\\\/ILI9488): patillaje del bus de 8 bits, interfaz de programaci\u00f3n, por qu\u00e9 es r\u00e1pido y qu\u00e9 construir con \u00e9l.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/build-mode-ak.com\\\/es\\\/3-5-inch-tft-lcd-shield\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/build-mode-ak.com\\\/es\\\/3-5-inch-tft-lcd-shield\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/build-mode-ak.com\\\/es\\\/3-5-inch-tft-lcd-shield\\\/#primaryimage\",\"url\":\"https:\\\/\\\/build-mode-ak.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/3-5-inch-tft-lcd-shield-01-anatomy-es.jpg\",\"contentUrl\":\"https:\\\/\\\/build-mode-ak.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/3-5-inch-tft-lcd-shield-01-anatomy-es.jpg\",\"width\":1600,\"height\":1000,\"caption\":\"El reverso del shield TFT LCD de 3,5 pulgadas con los pines de control, datos, alimentaci\u00f3n y microSD, los b\u00faferes del bus, el regulador y la ranura microSD se\u00f1alados\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/build-mode-ak.com\\\/es\\\/3-5-inch-tft-lcd-shield\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Inicio\",\"item\":\"https:\\\/\\\/build-mode-ak.com\\\/es\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Shield TFT LCD de 3,5 pulgadas: una pantalla de 480 \u00d7 320 en un bus r\u00e1pido de 8 bits\"}]},{\"@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":"Shield TFT LCD de 3,5 pulgadas: una pantalla de 480 \u00d7 320 en un bus r\u00e1pido de 8 bits - Build Mode","description":"Shield TFT de 3,5 pulgadas y 480\u00d7320 (ILI9486\/ILI9488): patillaje del bus de 8 bits, interfaz de programaci\u00f3n, por qu\u00e9 es r\u00e1pido y qu\u00e9 construir con \u00e9l.","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\/3-5-inch-tft-lcd-shield\/","og_locale":"es_ES","og_type":"article","og_title":"Shield TFT LCD de 3,5 pulgadas: una pantalla de 480 \u00d7 320 en un bus r\u00e1pido de 8 bits - Build Mode","og_description":"Shield TFT de 3,5 pulgadas y 480\u00d7320 (ILI9486\/ILI9488): patillaje del bus de 8 bits, interfaz de programaci\u00f3n, por qu\u00e9 es r\u00e1pido y qu\u00e9 construir con \u00e9l.","og_url":"https:\/\/build-mode-ak.com\/es\/3-5-inch-tft-lcd-shield\/","og_site_name":"Build Mode","article_published_time":"2026-09-18T11:39:28+00:00","article_modified_time":"2026-09-18T14:06:32+00:00","og_image":[{"width":1600,"height":1000,"url":"https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/3-5-inch-tft-lcd-shield-01-anatomy-es.jpg","type":"image\/jpeg"}],"author":"q_admin","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"q_admin","Tiempo de lectura":"30 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/build-mode-ak.com\/es\/3-5-inch-tft-lcd-shield\/#article","isPartOf":{"@id":"https:\/\/build-mode-ak.com\/es\/3-5-inch-tft-lcd-shield\/"},"author":{"name":"q_admin","@id":"https:\/\/build-mode-ak.com\/es\/#\/schema\/person\/776a2342163ad07c23ce7dac33d9cc8b"},"headline":"Shield TFT LCD de 3,5 pulgadas: una pantalla de 480 \u00d7 320 en un bus r\u00e1pido de 8 bits","datePublished":"2026-09-18T11:39:28+00:00","dateModified":"2026-09-18T14:06:32+00:00","mainEntityOfPage":{"@id":"https:\/\/build-mode-ak.com\/es\/3-5-inch-tft-lcd-shield\/"},"wordCount":5607,"commentCount":0,"image":{"@id":"https:\/\/build-mode-ak.com\/es\/3-5-inch-tft-lcd-shield\/#primaryimage"},"thumbnailUrl":"https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/3-5-inch-tft-lcd-shield-01-anatomy-es.jpg","keywords":["Arduino","ESP32"],"articleSection":["Sin categorizar"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/build-mode-ak.com\/es\/3-5-inch-tft-lcd-shield\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/build-mode-ak.com\/es\/3-5-inch-tft-lcd-shield\/","url":"https:\/\/build-mode-ak.com\/es\/3-5-inch-tft-lcd-shield\/","name":"Shield TFT LCD de 3,5 pulgadas: una pantalla de 480 \u00d7 320 en un bus r\u00e1pido de 8 bits - Build Mode","isPartOf":{"@id":"https:\/\/build-mode-ak.com\/es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/build-mode-ak.com\/es\/3-5-inch-tft-lcd-shield\/#primaryimage"},"image":{"@id":"https:\/\/build-mode-ak.com\/es\/3-5-inch-tft-lcd-shield\/#primaryimage"},"thumbnailUrl":"https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/3-5-inch-tft-lcd-shield-01-anatomy-es.jpg","datePublished":"2026-09-18T11:39:28+00:00","dateModified":"2026-09-18T14:06:32+00:00","author":{"@id":"https:\/\/build-mode-ak.com\/es\/#\/schema\/person\/776a2342163ad07c23ce7dac33d9cc8b"},"description":"Shield TFT de 3,5 pulgadas y 480\u00d7320 (ILI9486\/ILI9488): patillaje del bus de 8 bits, interfaz de programaci\u00f3n, por qu\u00e9 es r\u00e1pido y qu\u00e9 construir con \u00e9l.","breadcrumb":{"@id":"https:\/\/build-mode-ak.com\/es\/3-5-inch-tft-lcd-shield\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/build-mode-ak.com\/es\/3-5-inch-tft-lcd-shield\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/build-mode-ak.com\/es\/3-5-inch-tft-lcd-shield\/#primaryimage","url":"https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/3-5-inch-tft-lcd-shield-01-anatomy-es.jpg","contentUrl":"https:\/\/build-mode-ak.com\/wp-content\/uploads\/2026\/09\/3-5-inch-tft-lcd-shield-01-anatomy-es.jpg","width":1600,"height":1000,"caption":"El reverso del shield TFT LCD de 3,5 pulgadas con los pines de control, datos, alimentaci\u00f3n y microSD, los b\u00faferes del bus, el regulador y la ranura microSD se\u00f1alados"},{"@type":"BreadcrumbList","@id":"https:\/\/build-mode-ak.com\/es\/3-5-inch-tft-lcd-shield\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Inicio","item":"https:\/\/build-mode-ak.com\/es\/"},{"@type":"ListItem","position":2,"name":"Shield TFT LCD de 3,5 pulgadas: una pantalla de 480 \u00d7 320 en un bus r\u00e1pido de 8 bits"}]},{"@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\/423","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=423"}],"version-history":[{"count":1,"href":"https:\/\/build-mode-ak.com\/es\/wp-json\/wp\/v2\/posts\/423\/revisions"}],"predecessor-version":[{"id":424,"href":"https:\/\/build-mode-ak.com\/es\/wp-json\/wp\/v2\/posts\/423\/revisions\/424"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/build-mode-ak.com\/es\/wp-json\/wp\/v2\/media\/397"}],"wp:attachment":[{"href":"https:\/\/build-mode-ak.com\/es\/wp-json\/wp\/v2\/media?parent=423"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/build-mode-ak.com\/es\/wp-json\/wp\/v2\/categories?post=423"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/build-mode-ak.com\/es\/wp-json\/wp\/v2\/tags?post=423"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/build-mode-ak.com\/es\/wp-json\/wp\/v2\/topic?post=423"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}