Remarks

Ssd1681
Status Status badge: working
Source code GitHub
Datasheet(s) GitHub
NuGet package NuGet Gallery for Meadow.Foundation.Displays.ePaper

The Ssd1681 is a two-color display controller for ePaper displays. Data is sent to the controller via SPI and supports full screen updates only.

The Ssd1681 is paired with a wide range of two color ePaper display sizes and resolutions.

Sample projects available on GitHub

Code Example

MicroGraphics graphics;

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

    var display = new Ssd1681(
        spiBus: Device.CreateSpiBus(),
        chipSelectPin: Device.Pins.A04,
        dcPin: Device.Pins.A03,
        resetPin: Device.Pins.A02,
        busyPin: Device.Pins.A01,
        width: 200,
        height: 200);

    graphics = new MicroGraphics(display);

    return base.Initialize();
}

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

    graphics.Clear();

    graphics.DrawRectangle(10, 40, 120, 60, Color.Black, true);
    graphics.DrawRectangle(20, 80, 120, 90, Color.Red, true);

    graphics.CurrentFont = new Font12x16();
    graphics.DrawText(2, 20, "Meadow F7", Color.Black);
    graphics.DrawText(30, 50, "Color", Color.Red);
    graphics.DrawText(50, 90, "Black", Color.Black);
    graphics.DrawText(50, 120, "White", Color.White);

    graphics.Show();

    return base.Run();
}

Sample project(s) available on GitHub

Wiring Example

To control a Ssd1681 from Meadow, connect the following:

Ssd1681 Meadow Pin
BUSY D15
RST D14
DC D13
CS D12
CLK SCK
DIN MOSI
GND GND
3V3 3V3

If your display does not include any of the above pins, they can be omitted. Pass NULL into the constructor for the missing pin(s).

Wiring a Ssd1681 to a Meadow F7

Characteristic Locus
Inheritance object EPaperBase EPaperTriColorBase > Ssd1681
Implements ISpiPeripheral IDisposable IGraphicsDisplay
Inherited Members EPaperTriColorBase.EnabledColor EPaperTriColorBase.DisabledColor EPaperTriColorBase.ColorMode EPaperTriColorBase.SupportedColorModes EPaperTriColorBase.imageBuffer EPaperTriColorBase.Width EPaperTriColorBase.Height EPaperTriColorBase.PixelBuffer EPaperTriColorBase.CreateBuffer(int, int) EPaperTriColorBase.Clear(bool) EPaperTriColorBase.Fill(Color, bool) EPaperTriColorBase.Fill(int, int, int, int, Color) EPaperTriColorBase.Clear(bool, bool) EPaperTriColorBase.DrawPixel(int, int, bool) EPaperTriColorBase.DrawBlackPixel(int, int, bool) EPaperTriColorBase.InvertPixel(int, int) EPaperTriColorBase.DrawColoredPixel(int, int, bool) EPaperTriColorBase.DrawPixel(int, int, Color) EPaperTriColorBase.WriteBuffer(int, int, IPixelBuffer) EPaperTriColorBase.SendCommand(EPaperTriColorBase.Command) EPaperBase.DefaultSpiBusSpeed EPaperBase.SpiBusSpeed EPaperBase.DefaultSpiBusMode EPaperBase.SpiBusMode EPaperBase.IsDisposed EPaperBase.commandBuffer EPaperBase.dataCommandPort EPaperBase.resetPort EPaperBase.chipSelectPort EPaperBase.busyPort EPaperBase.spiComms EPaperBase.DataState EPaperBase.CommandState EPaperBase.createdPorts EPaperBase.Write(byte) EPaperBase.Reset() EPaperBase.DelayMs(int) EPaperBase.SendCommand(byte) EPaperBase.SendData(int) EPaperBase.SendData(byte) EPaperBase.SendData(byte[]) EPaperBase.WaitUntilIdle() EPaperBase.Dispose() EPaperBase.Dispose(bool) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString()
Namespace Meadow.Foundation.Displays
Assembly EPaper.dll

Syntax

public class Ssd1681 : EPaperTriColorBase, ISpiPeripheral, IDisposable, IGraphicsDisplay

Constructors

Ssd1681(ISpiBus, IDigitalOutputPort, IDigitalOutputPort, IDigitalOutputPort, IDigitalInputPort, int, int)

Create a new Ssd1681 ePaper display object

Declaration
public Ssd1681(ISpiBus spiBus, IDigitalOutputPort chipSelectPort, IDigitalOutputPort dataCommandPort, IDigitalOutputPort resetPort, IDigitalInputPort busyPort, int width, int height)

Parameters

Type Name Description
ISpiBus spiBus

SPI bus connected to display

IDigitalOutputPort chipSelectPort

Chip select output port

IDigitalOutputPort dataCommandPort

Data command output port

IDigitalOutputPort resetPort

Reset output port

IDigitalInputPort busyPort

Busy input port

int width

Width of display in pixels

int height

Height of display in pixels

Remarks

Ssd1681
Status Status badge: working
Source code GitHub
Datasheet(s) GitHub
NuGet package NuGet Gallery for Meadow.Foundation.Displays.ePaper

The Ssd1681 is a two-color display controller for ePaper displays. Data is sent to the controller via SPI and supports full screen updates only.

The Ssd1681 is paired with a wide range of two color ePaper display sizes and resolutions.

Sample projects available on GitHub

Code Example

MicroGraphics graphics;

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

    var display = new Ssd1681(
        spiBus: Device.CreateSpiBus(),
        chipSelectPin: Device.Pins.A04,
        dcPin: Device.Pins.A03,
        resetPin: Device.Pins.A02,
        busyPin: Device.Pins.A01,
        width: 200,
        height: 200);

    graphics = new MicroGraphics(display);

    return base.Initialize();
}

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

    graphics.Clear();

    graphics.DrawRectangle(10, 40, 120, 60, Color.Black, true);
    graphics.DrawRectangle(20, 80, 120, 90, Color.Red, true);

    graphics.CurrentFont = new Font12x16();
    graphics.DrawText(2, 20, "Meadow F7", Color.Black);
    graphics.DrawText(30, 50, "Color", Color.Red);
    graphics.DrawText(50, 90, "Black", Color.Black);
    graphics.DrawText(50, 120, "White", Color.White);

    graphics.Show();

    return base.Run();
}

Sample project(s) available on GitHub

Wiring Example

To control a Ssd1681 from Meadow, connect the following:

Ssd1681 Meadow Pin
BUSY D15
RST D14
DC D13
CS D12
CLK SCK
DIN MOSI
GND GND
3V3 3V3

If your display does not include any of the above pins, they can be omitted. Pass NULL into the constructor for the missing pin(s).

Wiring a Ssd1681 to a Meadow F7

Ssd1681(ISpiBus, IPin, IPin, IPin, IPin, int, int)

Create a new Ssd1681 object

Declaration
public Ssd1681(ISpiBus spiBus, IPin chipSelectPin, IPin dcPin, IPin resetPin, IPin busyPin, int width, int height)

Parameters

Type Name Description
ISpiBus spiBus

SPI bus connected to display

IPin chipSelectPin

Chip select pin

IPin dcPin

Data command pin

IPin resetPin

Reset pin

IPin busyPin

Busy pin

int width

Width of display in pixels

int height

Height of display in pixels

Remarks

Ssd1681
Status Status badge: working
Source code GitHub
Datasheet(s) GitHub
NuGet package NuGet Gallery for Meadow.Foundation.Displays.ePaper

The Ssd1681 is a two-color display controller for ePaper displays. Data is sent to the controller via SPI and supports full screen updates only.

The Ssd1681 is paired with a wide range of two color ePaper display sizes and resolutions.

Sample projects available on GitHub

Code Example

MicroGraphics graphics;

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

    var display = new Ssd1681(
        spiBus: Device.CreateSpiBus(),
        chipSelectPin: Device.Pins.A04,
        dcPin: Device.Pins.A03,
        resetPin: Device.Pins.A02,
        busyPin: Device.Pins.A01,
        width: 200,
        height: 200);

    graphics = new MicroGraphics(display);

    return base.Initialize();
}

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

    graphics.Clear();

    graphics.DrawRectangle(10, 40, 120, 60, Color.Black, true);
    graphics.DrawRectangle(20, 80, 120, 90, Color.Red, true);

    graphics.CurrentFont = new Font12x16();
    graphics.DrawText(2, 20, "Meadow F7", Color.Black);
    graphics.DrawText(30, 50, "Color", Color.Red);
    graphics.DrawText(50, 90, "Black", Color.Black);
    graphics.DrawText(50, 120, "White", Color.White);

    graphics.Show();

    return base.Run();
}

Sample project(s) available on GitHub

Wiring Example

To control a Ssd1681 from Meadow, connect the following:

Ssd1681 Meadow Pin
BUSY D15
RST D14
DC D13
CS D12
CLK SCK
DIN MOSI
GND GND
3V3 3V3

If your display does not include any of the above pins, they can be omitted. Pass NULL into the constructor for the missing pin(s).

Wiring a Ssd1681 to a Meadow F7

Properties

IsBlackInverted

Is black inverted on this display

Declaration
protected override bool IsBlackInverted { get; }

Property Value

Type Description
bool

Overrides

Remarks

Ssd1681
Status Status badge: working
Source code GitHub
Datasheet(s) GitHub
NuGet package NuGet Gallery for Meadow.Foundation.Displays.ePaper

The Ssd1681 is a two-color display controller for ePaper displays. Data is sent to the controller via SPI and supports full screen updates only.

The Ssd1681 is paired with a wide range of two color ePaper display sizes and resolutions.

Sample projects available on GitHub

Code Example

MicroGraphics graphics;

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

    var display = new Ssd1681(
        spiBus: Device.CreateSpiBus(),
        chipSelectPin: Device.Pins.A04,
        dcPin: Device.Pins.A03,
        resetPin: Device.Pins.A02,
        busyPin: Device.Pins.A01,
        width: 200,
        height: 200);

    graphics = new MicroGraphics(display);

    return base.Initialize();
}

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

    graphics.Clear();

    graphics.DrawRectangle(10, 40, 120, 60, Color.Black, true);
    graphics.DrawRectangle(20, 80, 120, 90, Color.Red, true);

    graphics.CurrentFont = new Font12x16();
    graphics.DrawText(2, 20, "Meadow F7", Color.Black);
    graphics.DrawText(30, 50, "Color", Color.Red);
    graphics.DrawText(50, 90, "Black", Color.Black);
    graphics.DrawText(50, 120, "White", Color.White);

    graphics.Show();

    return base.Run();
}

Sample project(s) available on GitHub

Wiring Example

To control a Ssd1681 from Meadow, connect the following:

Ssd1681 Meadow Pin
BUSY D15
RST D14
DC D13
CS D12
CLK SCK
DIN MOSI
GND GND
3V3 3V3

If your display does not include any of the above pins, they can be omitted. Pass NULL into the constructor for the missing pin(s).

Wiring a Ssd1681 to a Meadow F7

IsColorInverted

Is color inverted on this display

Declaration
protected override bool IsColorInverted { get; }

Property Value

Type Description
bool

Overrides

Remarks

Ssd1681
Status Status badge: working
Source code GitHub
Datasheet(s) GitHub
NuGet package NuGet Gallery for Meadow.Foundation.Displays.ePaper

The Ssd1681 is a two-color display controller for ePaper displays. Data is sent to the controller via SPI and supports full screen updates only.

The Ssd1681 is paired with a wide range of two color ePaper display sizes and resolutions.

Sample projects available on GitHub

Code Example

MicroGraphics graphics;

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

    var display = new Ssd1681(
        spiBus: Device.CreateSpiBus(),
        chipSelectPin: Device.Pins.A04,
        dcPin: Device.Pins.A03,
        resetPin: Device.Pins.A02,
        busyPin: Device.Pins.A01,
        width: 200,
        height: 200);

    graphics = new MicroGraphics(display);

    return base.Initialize();
}

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

    graphics.Clear();

    graphics.DrawRectangle(10, 40, 120, 60, Color.Black, true);
    graphics.DrawRectangle(20, 80, 120, 90, Color.Red, true);

    graphics.CurrentFont = new Font12x16();
    graphics.DrawText(2, 20, "Meadow F7", Color.Black);
    graphics.DrawText(30, 50, "Color", Color.Red);
    graphics.DrawText(50, 90, "Black", Color.Black);
    graphics.DrawText(50, 120, "White", Color.White);

    graphics.Show();

    return base.Run();
}

Sample project(s) available on GitHub

Wiring Example

To control a Ssd1681 from Meadow, connect the following:

Ssd1681 Meadow Pin
BUSY D15
RST D14
DC D13
CS D12
CLK SCK
DIN MOSI
GND GND
3V3 3V3

If your display does not include any of the above pins, they can be omitted. Pass NULL into the constructor for the missing pin(s).

Wiring a Ssd1681 to a Meadow F7

Methods

ClearFrame()

Clear the on-display frame buffer

Declaration
protected void ClearFrame()

Remarks

Ssd1681
Status Status badge: working
Source code GitHub
Datasheet(s) GitHub
NuGet package NuGet Gallery for Meadow.Foundation.Displays.ePaper

The Ssd1681 is a two-color display controller for ePaper displays. Data is sent to the controller via SPI and supports full screen updates only.

The Ssd1681 is paired with a wide range of two color ePaper display sizes and resolutions.

Sample projects available on GitHub

Code Example

MicroGraphics graphics;

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

    var display = new Ssd1681(
        spiBus: Device.CreateSpiBus(),
        chipSelectPin: Device.Pins.A04,
        dcPin: Device.Pins.A03,
        resetPin: Device.Pins.A02,
        busyPin: Device.Pins.A01,
        width: 200,
        height: 200);

    graphics = new MicroGraphics(display);

    return base.Initialize();
}

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

    graphics.Clear();

    graphics.DrawRectangle(10, 40, 120, 60, Color.Black, true);
    graphics.DrawRectangle(20, 80, 120, 90, Color.Red, true);

    graphics.CurrentFont = new Font12x16();
    graphics.DrawText(2, 20, "Meadow F7", Color.Black);
    graphics.DrawText(30, 50, "Color", Color.Red);
    graphics.DrawText(50, 90, "Black", Color.Black);
    graphics.DrawText(50, 120, "White", Color.White);

    graphics.Show();

    return base.Run();
}

Sample project(s) available on GitHub

Wiring Example

To control a Ssd1681 from Meadow, connect the following:

Ssd1681 Meadow Pin
BUSY D15
RST D14
DC D13
CS D12
CLK SCK
DIN MOSI
GND GND
3V3 3V3

If your display does not include any of the above pins, they can be omitted. Pass NULL into the constructor for the missing pin(s).

Wiring a Ssd1681 to a Meadow F7

Initialize()

Initialize the display

Declaration
protected override void Initialize()

Overrides

Remarks

Ssd1681
Status Status badge: working
Source code GitHub
Datasheet(s) GitHub
NuGet package NuGet Gallery for Meadow.Foundation.Displays.ePaper

The Ssd1681 is a two-color display controller for ePaper displays. Data is sent to the controller via SPI and supports full screen updates only.

The Ssd1681 is paired with a wide range of two color ePaper display sizes and resolutions.

Sample projects available on GitHub

Code Example

MicroGraphics graphics;

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

    var display = new Ssd1681(
        spiBus: Device.CreateSpiBus(),
        chipSelectPin: Device.Pins.A04,
        dcPin: Device.Pins.A03,
        resetPin: Device.Pins.A02,
        busyPin: Device.Pins.A01,
        width: 200,
        height: 200);

    graphics = new MicroGraphics(display);

    return base.Initialize();
}

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

    graphics.Clear();

    graphics.DrawRectangle(10, 40, 120, 60, Color.Black, true);
    graphics.DrawRectangle(20, 80, 120, 90, Color.Red, true);

    graphics.CurrentFont = new Font12x16();
    graphics.DrawText(2, 20, "Meadow F7", Color.Black);
    graphics.DrawText(30, 50, "Color", Color.Red);
    graphics.DrawText(50, 90, "Black", Color.Black);
    graphics.DrawText(50, 120, "White", Color.White);

    graphics.Show();

    return base.Run();
}

Sample project(s) available on GitHub

Wiring Example

To control a Ssd1681 from Meadow, connect the following:

Ssd1681 Meadow Pin
BUSY D15
RST D14
DC D13
CS D12
CLK SCK
DIN MOSI
GND GND
3V3 3V3

If your display does not include any of the above pins, they can be omitted. Pass NULL into the constructor for the missing pin(s).

Wiring a Ssd1681 to a Meadow F7

Show()

Send the display buffer to the display and refresh

Declaration
public override void Show()

Overrides

Remarks

Ssd1681
Status Status badge: working
Source code GitHub
Datasheet(s) GitHub
NuGet package NuGet Gallery for Meadow.Foundation.Displays.ePaper

The Ssd1681 is a two-color display controller for ePaper displays. Data is sent to the controller via SPI and supports full screen updates only.

The Ssd1681 is paired with a wide range of two color ePaper display sizes and resolutions.

Sample projects available on GitHub

Code Example

MicroGraphics graphics;

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

    var display = new Ssd1681(
        spiBus: Device.CreateSpiBus(),
        chipSelectPin: Device.Pins.A04,
        dcPin: Device.Pins.A03,
        resetPin: Device.Pins.A02,
        busyPin: Device.Pins.A01,
        width: 200,
        height: 200);

    graphics = new MicroGraphics(display);

    return base.Initialize();
}

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

    graphics.Clear();

    graphics.DrawRectangle(10, 40, 120, 60, Color.Black, true);
    graphics.DrawRectangle(20, 80, 120, 90, Color.Red, true);

    graphics.CurrentFont = new Font12x16();
    graphics.DrawText(2, 20, "Meadow F7", Color.Black);
    graphics.DrawText(30, 50, "Color", Color.Red);
    graphics.DrawText(50, 90, "Black", Color.Black);
    graphics.DrawText(50, 120, "White", Color.White);

    graphics.Show();

    return base.Run();
}

Sample project(s) available on GitHub

Wiring Example

To control a Ssd1681 from Meadow, connect the following:

Ssd1681 Meadow Pin
BUSY D15
RST D14
DC D13
CS D12
CLK SCK
DIN MOSI
GND GND
3V3 3V3

If your display does not include any of the above pins, they can be omitted. Pass NULL into the constructor for the missing pin(s).

Wiring a Ssd1681 to a Meadow F7

Show(int, int, int, int)

Send the display buffer to the display and refresh

Declaration
public override void Show(int left, int top, int right, int bottom)

Parameters

Type Name Description
int left
int top
int right
int bottom

Overrides

Remarks

Ssd1681
Status Status badge: working
Source code GitHub
Datasheet(s) GitHub
NuGet package NuGet Gallery for Meadow.Foundation.Displays.ePaper

The Ssd1681 is a two-color display controller for ePaper displays. Data is sent to the controller via SPI and supports full screen updates only.

The Ssd1681 is paired with a wide range of two color ePaper display sizes and resolutions.

Sample projects available on GitHub

Code Example

MicroGraphics graphics;

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

    var display = new Ssd1681(
        spiBus: Device.CreateSpiBus(),
        chipSelectPin: Device.Pins.A04,
        dcPin: Device.Pins.A03,
        resetPin: Device.Pins.A02,
        busyPin: Device.Pins.A01,
        width: 200,
        height: 200);

    graphics = new MicroGraphics(display);

    return base.Initialize();
}

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

    graphics.Clear();

    graphics.DrawRectangle(10, 40, 120, 60, Color.Black, true);
    graphics.DrawRectangle(20, 80, 120, 90, Color.Red, true);

    graphics.CurrentFont = new Font12x16();
    graphics.DrawText(2, 20, "Meadow F7", Color.Black);
    graphics.DrawText(30, 50, "Color", Color.Red);
    graphics.DrawText(50, 90, "Black", Color.Black);
    graphics.DrawText(50, 120, "White", Color.White);

    graphics.Show();

    return base.Run();
}

Sample project(s) available on GitHub

Wiring Example

To control a Ssd1681 from Meadow, connect the following:

Ssd1681 Meadow Pin
BUSY D15
RST D14
DC D13
CS D12
CLK SCK
DIN MOSI
GND GND
3V3 3V3

If your display does not include any of the above pins, they can be omitted. Pass NULL into the constructor for the missing pin(s).

Wiring a Ssd1681 to a Meadow F7