LS013B4DN04 display driver
Copyright 2017-2024 Moddable Tech, Inc.
Revised: September 10, 2024
The LS013B4DN04 Sharp memory display controller drives 1-bit per pixel (black and white) displays. Displays are up to 400 pixels wide and 240 pixels high.
Adding LS013B4DN04 to a project
To add the LS013B4DN04 driver to a project, include its manifest:
If using Commodetto or Piu, set the screen property of the config object in the manifest to ls013b4dn04 to make LS013B4DN04 the default display driver. Since there is no touch input, set the touch driver name to an empty string to disable it.
"config": {
"screen": "ls013b4dn04",
"touch": ""
},
The LS013B4DN04 driver requires 8-bit gray pixels as input. When building with mcconfig, set the pixel format to gray256 on the command line:
mcconfig -m -p esp -f gray256
In the defines object, declare the pixel width and height.
"defines": {
"ls013b4dn04": {
"width": 400,
"height": 240
}
}
The defines object must contain the spi_port, along with the CS pin number. If the cs_port property is not provided, it defaults to NULL.
The hz property, when present, specifies the SPI bus speed. The default value is 10,000,000 Hz which is near the maximum SPI speed supported by the LS013B4DN04.
The LS013B4DN04 driver always updates full scan lines, but can update arbitrary scan lines. This allows for partial updates of full rows. Piu automatically takes care of this, so script using Piu do not need to take this into account. Scripts using Poco need to ensure when calling poco.begin() that the x parameter is zero and the width parameter is equal to poco.width.
The LS013B4DN04 driver supports 0 and 180 degree rotation by setting the driver's rotation property: screen.rotation = 180.