Skip to content

Archive

SPI

3 articles
Rust 19 Sep 2026 8 min read

Streaming Sensor Graphs to ILI9341 Without a Framebuffer on ESP32-C3

An ILI9341 panel is large enough for a useful live sensor graph, but a 240 × 320 RGB565 framebuffer costs 153,600 bytes: 240 * 320 * 2 bytes = 153,600 bytes That is a poor default allocation on a small microcontroller when the graph itself may need only a few hundred samples. The display controller already contains its own graphics RAM. An ESP32-C3 can therefore treat the panel as the destination, keep only the application state it needs, and send changed pixels over SPI.

Tech 19 Sep 2026 6 min read

Driving an ILI9341 SPI Display and Touch Controller from ESP32-S3

A 2.4-inch 240 × 320 TFT module built around the ILI9341 is a practical match for an ESP32-S3 because the display controller accepts a serial SPI interface. The module is not necessarily one device: a typical board can contain the ILI9341 for pixels, a separate resistive-touch controller, and sometimes a microSD socket. That distinction determines the wiring. The devices may share SPI clock and data lines, while each peripheral keeps its own chip-select signal.

Tech 19 Sep 2026 6 min read

An SPI microSD Slot Does Not Make an 8-Bit TFT Shield an SPI Display

A 2.8-inch Arduino-style TFT shield can place an LCD and a microSD socket on the same PCB while giving them completely different electrical interfaces. The pin labels are the quickest way to tell them apart. On the shield shown here, the LCD side exposes DB0 through DB7 together with LCD_WR, LCD_RD, LCD_RS, LCD_CS, and LCD_RST. Those are the signals of an 8-bit 8080-style parallel display interface. The labels SD_MOSI, SD_MISO, SD_SCK, and SD_SS belong to the microSD socket.