Zum Inhalt springen

WSAL13506 – 3.5inch TFT Touch Shield/en

Aus JW Tech Wiki
Version vom 6. September 2026, 00:14 Uhr von JWTechPublisher (Diskussion | Beiträge) (Freigegebene technische Dokumentation veröffentlicht; Text-only und noindex)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Documentation notice: This technical documentation was independently rewritten from an archived supplier source. Check technical details and commands against the product version and manufacturer documentation before use.

Summary

This guide covers the hardware connection, software demos, and driver functions of the Waveshare 3.5-inch Touch LCD Shield (item WSAL13506) for Arduino and STM32 boards.

Related products at JW Tech

Technical overview

  • The display uses an ILI9486 controller and is initialized via the SPI protocol.
  • For Arduinos with an ICSP header, leave the DIP switch on the ICSP side; without ICSP, set it to SCLK/D13, MISO/D12, and MOSI/D11.
  • Demo projects include LCD_Show (patterns and clock), LCD_ShowBMP (BMP image display), and LCD_Touch (drawing board).
  • BMP images must reside in the root directory of a FAT-formatted SD card and be exactly 480x320 pixels at 24-bit color depth.
  • The XPT2046 touch controller is initialized with TP_Init and requires calibration via the AD button in the demo.
  • GUI functions are available for drawing points, lines, rectangles, circles, and text.
  • The font library provides five sizes (font8 through font24); custom fonts can be generated with the included extraction tool.
  • On STM32, the demo was tested on an XNUCLEO-F103RB; wiring follows the schematic and may require the non-ICSP switch setting.

Commands and examples – verify before use: 

System_Init(); // System initialisierung, konfiguriert serielle Baudrate, SPI und Pins
LCD_Init(Lcd_ScanDir, 200); // Initialisiert das Display mit Scanmodus und Helligkeit
SD_Init(); // Initialisiert die SD-Karte
LCD_ShowBMP(); // Zeigt ein BMP-Bild an
TP_Init(Lcd_ScanDir); // Initialisiert das Touchpad
TP_GetAdFac(); // Kalibriert den Bildschirm
TP_Dialog(); // Leert den Bildschirm
TP_DrawBoard(); // Öffnet das Zeichenbrett

Notes and version constraints

  • The maximum power consumption of 5V / 138.6 mA is from the FAQ; actual draw should be measured before integrating into a custom project.
  • Pin assignments vary by Arduino or STM32 board; always verify against the specific schematic.
  • Touchpad calibration values are factory defaults; recalibration is needed if drift occurs.
  • BMP file names and paths are hardcoded in the demo; changes require code modifications.
  • HAL library version and exact firmware versions affect compatibility; this must be verified before deployment.

Source and revision record