Skip to main content

Meadow.Foundation.Displays.Ssd1351

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

The SSD1351 is a display controller used to drive 16bpp (RGB565) color OLED displays over SPI. These displays are commonly found with a resolution of 128x128.

Code Example

MicroGraphics graphics;

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

var spiBus = Device.CreateSpiBus();

var display = new Ssd1351(
spiBus: spiBus,
chipSelectPin: Device.Pins.D02,
dcPin: Device.Pins.D01,
resetPin: Device.Pins.D00,
width: 128, height: 128);

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

return base.Initialize();
}

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

graphics.DrawCircle(80, 80, 40, Color.Cyan, false);

int indent = 0;
int spacing = 10;
int y = indent;

graphics.DrawText(indent, y, "Meadow F7 (SSD1351)");

graphics.DrawText(indent, y += spacing, "Red", Color.Red);
graphics.DrawText(indent, y += spacing, "Purple", Color.Purple);
graphics.DrawText(indent, y += spacing, "BlueViolet", Color.BlueViolet);
graphics.DrawText(indent, y += spacing, "Blue", Color.Blue);
graphics.DrawText(indent, y += spacing, "Cyan", Color.Cyan);
graphics.DrawText(indent, y += spacing, "LawnGreen", Color.LawnGreen);
graphics.DrawText(indent, y += spacing, "GreenYellow", Color.GreenYellow);
graphics.DrawText(indent, y += spacing, "Yellow", Color.Yellow);
graphics.DrawText(indent, y += spacing, "Orange", Color.Orange);
graphics.DrawText(indent, y += spacing, "Brown", Color.Brown);

graphics.Show();

return base.Run();
}

Sample project(s) available on GitHub

Wiring Example

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

Ssd1351Meadow Pin
LED-3V3
LED+GND
MOSICOPI
SCKSCK
RESETD15
A0D14
CSD13
VCC3V3
GNDGND

It should look like the following diagram:

Wiring a Ssd1351 to a Meadow F7