{
  "metadata": {
    "id": "adafruit-3-5-capacitive-touch-tft-featherwing",
    "name": "Adafruit TFT FeatherWing - 3.5\" 480x320 Capacitive Touchscreen",
    "type": "expansion_board",
    "description": "Adafruit FeatherWing display add-on with a 3.5\" color TFT, microSD slot, and integrated FT5336 capacitive touch controller. The display and SD share SPI while touch uses I2C plus an interrupt pin.",
    "manufacturer": "Adafruit",
    "part_number": "5872",
    "datasheet_url": "https://cdn-shop.adafruit.com/product-files/5872/SPEC-YX350HV15-CT_Rev.B.pdf",
    "tags": [
      "adafruit",
      "featherwing",
      "tft",
      "display",
      "touchscreen",
      "capacitive",
      "480x320",
      "hx8357d",
      "ft5336",
      "spi",
      "i2c",
      "microsd"
    ],
    "schema_version": "1.4.0",
    "version": "1.0",
    "taxonomy": [
      "expansion.breakout"
    ]
  },
  "domains": [
    {
      "domain": "electrical",
      "power_domains": [
        {
          "id": "vdd_3v3",
          "name": "3.3V logic and board power",
          "nominal_voltage_V": 3.3,
          "voltage_range_V": [
            3,
            3.4
          ],
          "isolation_type": "non_isolated",
          "ground_reference": "common",
          "description": "FeatherWing logic and touchscreen power domain"
        }
      ],
      "resources": [
        {
          "id": "feather_3v3",
          "name": "3V",
          "functions": [
            {
              "name": "power_in",
              "signal_class": "power"
            }
          ],
          "connector_type": "feather_header",
          "power_domain_id": "vdd_3v3"
        },
        {
          "id": "feather_gnd",
          "name": "GND",
          "functions": [
            {
              "name": "ground",
              "signal_class": "ground"
            }
          ],
          "connector_type": "feather_header",
          "power_domain_id": "vdd_3v3"
        },
        {
          "id": "spi_copi",
          "name": "MOSI",
          "functions": [
            {
              "name": "spi_copi",
              "signal_class": "data"
            }
          ],
          "connector_type": "feather_header",
          "power_domain_id": "vdd_3v3"
        },
        {
          "id": "spi_cipo",
          "name": "MISO",
          "functions": [
            {
              "name": "spi_cipo",
              "signal_class": "data"
            }
          ],
          "connector_type": "feather_header",
          "power_domain_id": "vdd_3v3"
        },
        {
          "id": "spi_sck",
          "name": "SCK",
          "functions": [
            {
              "name": "spi_sck",
              "signal_class": "clock"
            }
          ],
          "connector_type": "feather_header",
          "power_domain_id": "vdd_3v3"
        },
        {
          "id": "tft_cs",
          "name": "TCS (default D9)",
          "functions": [
            {
              "name": "spi_cs",
              "signal_class": "control"
            }
          ],
          "connector_type": "jumper_selectable",
          "power_domain_id": "vdd_3v3",
          "description": "TFT chip-select signal"
        },
        {
          "id": "tft_dc",
          "name": "DC (default D10)",
          "functions": [
            {
              "name": "digital_input",
              "signal_class": "control"
            }
          ],
          "connector_type": "jumper_selectable",
          "power_domain_id": "vdd_3v3",
          "description": "Display data/command select"
        },
        {
          "id": "sd_cs",
          "name": "SCS (default D5)",
          "functions": [
            {
              "name": "spi_cs",
              "signal_class": "control"
            }
          ],
          "connector_type": "jumper_selectable",
          "power_domain_id": "vdd_3v3",
          "description": "microSD chip-select signal"
        },
        {
          "id": "touch_irq",
          "name": "IRQ (default D6)",
          "functions": [
            {
              "name": "interrupt",
              "signal_class": "status"
            }
          ],
          "connector_type": "jumper_selectable",
          "power_domain_id": "vdd_3v3",
          "description": "Touch interrupt output from FT5336"
        },
        {
          "id": "i2c_sda",
          "name": "SDA",
          "functions": [
            {
              "name": "i2c_sda",
              "signal_class": "data"
            }
          ],
          "connector_type": "feather_header",
          "power_domain_id": "vdd_3v3"
        },
        {
          "id": "i2c_scl",
          "name": "SCL",
          "functions": [
            {
              "name": "i2c_scl",
              "signal_class": "clock"
            }
          ],
          "connector_type": "feather_header",
          "power_domain_id": "vdd_3v3"
        },
        {
          "id": "stemma_qt",
          "name": "STEMMA QT / Qwiic",
          "functions": [
            {
              "name": "i2c_sda",
              "signal_class": "data",
              "shareable_with": [
                "i2c_scl"
              ]
            },
            {
              "name": "i2c_scl",
              "signal_class": "clock",
              "shareable_with": [
                "i2c_sda"
              ]
            },
            {
              "name": "power_in",
              "signal_class": "power"
            },
            {
              "name": "ground",
              "signal_class": "ground"
            }
          ],
          "connector_type": "jst-sh",
          "power_domain_id": "vdd_3v3",
          "description": "I2C expansion connector on the FeatherWing"
        }
      ],
      "interfaces": [
        {
          "id": "power_input",
          "name": "Power input",
          "protocol": {
            "type": "power",
            "role": "input"
          },
          "requires": [
            {
              "function": "power_in",
              "count": 1
            },
            {
              "function": "ground",
              "count": 1
            }
          ],
          "description": "3.3V power from Feather host"
        },
        {
          "id": "tft_spi_target",
          "name": "TFT SPI target",
          "protocol": {
            "type": "spi",
            "role": "target"
          },
          "requires": [
            {
              "function": "spi_copi",
              "count": 1
            },
            {
              "function": "spi_cipo",
              "count": 1
            },
            {
              "function": "spi_sck",
              "count": 1
            },
            {
              "function": "spi_cs",
              "count": 1
            },
            {
              "function": "digital_input",
              "count": 1
            }
          ],
          "description": "HX8357-compatible TFT interface using SPI plus DC control"
        },
        {
          "id": "microsd_spi_target",
          "name": "microSD SPI target",
          "protocol": {
            "type": "spi",
            "role": "target"
          },
          "requires": [
            {
              "function": "spi_copi",
              "count": 1
            },
            {
              "function": "spi_cipo",
              "count": 1
            },
            {
              "function": "spi_sck",
              "count": 1
            },
            {
              "function": "spi_cs",
              "count": 1
            }
          ],
          "description": "microSD slot sharing the SPI bus with dedicated chip select"
        },
        {
          "id": "touch_i2c_target",
          "name": "Touch I2C target",
          "protocol": {
            "type": "i2c",
            "role": "target"
          },
          "requires": [
            {
              "function": "i2c_sda",
              "count": 1,
              "shareable_with": [
                "i2c_scl"
              ]
            },
            {
              "function": "i2c_scl",
              "count": 1,
              "shareable_with": [
                "i2c_sda"
              ]
            }
          ],
          "timing": {
            "max_i2c_freq_hz": 400000
          },
          "description": "FT5336 capacitive touch controller at 7-bit I2C address 0x38"
        },
        {
          "id": "touch_irq_output",
          "name": "Touch interrupt output",
          "protocol": {
            "type": "digital",
            "role": "output"
          },
          "requires": [
            {
              "function": "interrupt",
              "count": 1
            }
          ],
          "description": "Interrupt line asserted by touch controller"
        }
      ],
      "supply_voltage_V": [
        3.3
      ],
      "metadata": {
        "display_resolution_px": {
          "width": 480,
          "height": 320
        },
        "display_color_depth_bits": 16,
        "display_driver": "HX8357D-compatible",
        "touch_controller": "FT5336",
        "touch_i2c_address_7bit": "0x38",
        "touch_points_max": 5,
        "default_host_pins": {
          "tft_cs": "D9",
          "tft_dc": "D10",
          "sd_cs": "D5",
          "touch_irq": "D6"
        },
        "optional_pads": [
          "LITE",
          "SDDET"
        ],
        "micro_sd_slot": true,
        "stemma_qt_qwiic": true
      }
    },
    {
      "domain": "mechanical",
      "package_type": "FeatherWing PCB Module",
      "dimensions_mm": {
        "length": 89.3,
        "width": 66,
        "height": 10.5
      },
      "resources": [],
      "interfaces": []
    }
  ],
  "design_rules": [
    "Use a Feather-class host with 3.3V logic and enough RAM/CPU for 480x320 graphics updates.",
    "Keep TFT and microSD on the shared SPI bus but assign unique CS pins in firmware if jumpers are remapped.",
    "Use I2C address 0x38 for the FT5336 touch controller and configure the IRQ pin if interrupt-driven touch is used.",
    "If remapping DC/TCS/SCS/IRQ, cut the default jumper and bridge only one alternate GPIO pad per signal."
  ],
  "warnings": [
    "The LITE and SDDET pads are not connected to Feather GPIO by default; they require manual wiring if used.",
    "Display throughput is constrained by SPI bus speed and host performance at 480x320 resolution.",
    "Capacitive touch is intended for conductive touch input and may not respond to non-conductive stylus/gloves."
  ]
}