Skip to main content

Meadow.Foundation.Displays.Ili9341

Ili9341
StatusStatus badge: working
Source codeGitHub
Datasheet(s)GitHub
NuGet packageNuGet Gallery for Meadow.Foundation.Displays.TftSpi

The ILI9341 is a display controller used to drive color displays over SPI using 12, 16 or 18 bbp. These displays require a backlight. These displays are commonly found with a resolution of 320x240.

The Meadow.Foundation ILI9341 driver currently only supports 16bpp RGB565.

Code Example

MicroGraphics graphics;
Ili9341 display;

public override Task Initialize()
{
Resolver.Log.Info("Initializing ...");

Resolver.Log.Info("Create display driver instance");

display = new Ili9341
(
spiBus: Device.CreateSpiBus(),
chipSelectPin: Device.Pins.D13,
dcPin: Device.Pins.D14,
resetPin: Device.Pins.D15,
width: 240, height: 320
);

graphics = new MicroGraphics(display)
{
IgnoreOutOfBoundsPixels = true,
CurrentFont = new Font12x16()
};

return base.Initialize();
}

public override Task Run()
{
graphics.Clear();

graphics.DrawTriangle(10, 30, 50, 50, 10, 50, Meadow.Foundation.Color.Red);
graphics.DrawRectangle(20, 45, 40, 20, Meadow.Foundation.Color.Yellow, false);
graphics.DrawCircle(50, 50, 40, Meadow.Foundation.Color.Blue, false);
graphics.DrawText(5, 5, "Meadow F7", Meadow.Foundation.Color.White);

graphics.Show();

DisplayTest();

return base.Run();
}

Sample project(s) available on GitHub

Wiring Example

To wire a ILI9341 to your Meadow board, connect the following:

ILI9341Meadow Pin
LED-3V3
LED+GND
MOSIMOSI
SCKSCK
RESETD15
A0D14
CSD13
VCC3V3
GNDGND

It should look like the following diagram:

Wiring a ILI9341 to a Meadow F7

Class Ili9341

Represents a Ili9341 TFT color display

Assembly: TftSpi.dll
View Source
Declaration
public class Ili9341 : TftSpiBase, IPixelDisplay, IDisplay, ISpiPeripheral, IDisposable, IRotatableDisplay

Inheritance: System.Object -> Meadow.Foundation.Displays.TftSpiBase

Implements:
Meadow.Peripherals.Displays.IPixelDisplay, Meadow.Peripherals.Displays.IDisplay, Meadow.Hardware.ISpiPeripheral, System.IDisposable, Meadow.Peripherals.Displays.IRotatableDisplay

Properties

DefaultSpiBusSpeed

SPI bus speed

View Source
Declaration
public override Frequency DefaultSpiBusSpeed { get; }

DefaultColorMode

The default display color mode

View Source
Declaration
public override ColorMode DefaultColorMode { get; }

SupportedColorModes

The color modes supported by the display

View Source
Declaration
public override ColorMode SupportedColorModes { get; }

Methods

Initialize()

Initialize the display

View Source
Declaration
protected override void Initialize()

SetRotation(RotationType)

Set the display rotation

View Source
Declaration
public void SetRotation(RotationType rotation)
Parameters
TypeNameDescription
Meadow.Peripherals.Displays.RotationTyperotationThe rotation value

Implements

  • Meadow.Peripherals.Displays.IPixelDisplay
  • Meadow.Peripherals.Displays.IDisplay
  • Meadow.Hardware.ISpiPeripheral
  • System.IDisposable
  • Meadow.Peripherals.Displays.IRotatableDisplay