Copyright 2017 Moddable Tech, Inc.
Revised: December 28, 2017
The SSD1351 OLED display controller drives 16-bits per pixel (RGB565LE) displays. Displays are up to 128 pixels wide and 128 pixels high.
To add the SSD1351 driver to a project, include its manifest:
"include": [
/* other includes here */
"$(MODULES)/drivers/ssd1351/manifest.json",
],
If using Commodetto or Piu, set the screen
property of the config
object in the manifest to ssd1351
to make SSD1351 the default display driver. Since there is no touch input, set the touch driver name to an empty string to disable it.
"config": {
"screen": "ssd1351",
"touch": "",
},
The SSD1351 driver requires 16-bit color pixels as input. When building with mcconfig
, set the pixel format to rgb565le
on the command line:
mcconfig -m -p esp -f rgb565le
In the defines
object, declare the pixel width
and height
.
"defines": {
"ssd1351": {
"width": 128,
"height": 128,
}
}
The optional offset_column
and offset_row
properties offset the x
and y
position of the image within the display, which is useful for some configurations.
"defines": {
"ssd1351": {
/* other properties here */
"offset_column": 4,
"offset_row": 0,
}
}
The optional initialization
property is used to override the default initialization of registers on the SSD1351.
"defines": {
"ssd1351": {
/* other properties here */
"initialization": [
"0xFD, 1, 0x12,"
"0xFD, 1, 0xB1,"
"0xAE, 0,"
"0xB3, 1, 0xF1,"
"0xCA, 1, 0x7F,"
"0xA0, 1, 0x74,"
"0x15, 2, 0x00, 0x7F,"
"0x75, 2, 0x00, 0x7F,"
"0xA1, 1, 0,"
"0xA2, 1, 0x00,"
"0xB5, 1, 0x00,"
"0xAB, 1, 0x01,"
"0xB1, 1, 0x32,"
"0xBE, 1, 0x05,"
"0xA6, 0,"
"0xC1, 3, 0xC8, 0x80, 0xC8,"
"0xC7, 1, 0x0F,"
"0xB4, 3, 0xA0, 0xB5, 0x55,"
"0xB6, 1, 0x01,"
"0xAF, 0,"
"0x00"
]
}
}
The defines
object must contain the spi_port
, along with the DC
and CS
pin numbers. If a RST
pin is provided, the device will be reset when the constructor is invoked. If the cs_port
, dc_port
, or rst_port
properties are not provided, they default to NULL.
"defines": {
"ssd1351": {
/* other properties here */
"cs_pin": 4,
"dc_pin": 2,
"rst_pin": 0,
"spi_port": "#HSPI"
}
}
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 SSD1351.