Skip to main content

Meadow.Foundation.Displays.St7735

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

The ST7735 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 128x160.

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

Code Example

MicroGraphics graphics;

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

var spiBus = Device.CreateSpiBus();

//note - you may need to adjust the DisplayType for your specific St7735
var display = new St7735(
spiBus: spiBus,
chipSelectPin: Device.Pins.D02,
dcPin: Device.Pins.D01,
resetPin: Device.Pins.D00,
width: 128,
height: 160,
St7735.DisplayType.ST7735R);

graphics = new MicroGraphics(display);

return base.Initialize();
}

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

graphics.DrawCircle(60, 60, 20, Color.Purple);
graphics.DrawRectangle(10, 10, 30, 60, Color.Red);
graphics.DrawTriangle(20, 20, 10, 70, 60, 60, Color.Green);

graphics.DrawCircle(90, 60, 20, Color.Cyan, true);
graphics.DrawRectangle(100, 100, 30, 10, Color.Yellow, true);
graphics.DrawTriangle(120, 20, 110, 70, 160, 60, Color.Pink, true);

graphics.DrawLine(10, 120, 110, 130, Color.SlateGray);

graphics.Show();

return base.Run();
}

Sample project(s) available on GitHub

Wiring Example

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

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

It should look like the following diagram:

Wiring a ST7735 to a Meadow F7

Class St7735

Represents a St7735 TFT color display

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

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

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

Properties

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()

SetAddressWindow(int, int, int, int)

Set address window for display updates

View Source
Declaration
protected override void SetAddressWindow(int x0, int y0, int x1, int y1)
Parameters
TypeNameDescription
System.Int32x0X start in pixels
System.Int32y0Y start in pixels
System.Int32x1X end in pixels
System.Int32y1Y end in pixels

Implements

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