<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>[NRF54L15DK] How to use the LVGL to control ssd1306 OLED?</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/122102/nrf54l15dk-how-to-use-the-lvgl-to-control-ssd1306-oled</link><description>I have a question here. My purpose is to add an OLED ssd1306 in my project. 
 
 Hardware: 
 
 
 nRF54L15-DK. PCA10156 
 
 
 OLED SSD1306 128x64. 
 
 
 Software: 
 
 
 ncs v3.0.1 
 
 
 Refer to zephyr/samples/subsys/display/lvgl . 
 
 
 
 The attached</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 11 Jun 2025 11:37:22 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/122102/nrf54l15dk-how-to-use-the-lvgl-to-control-ssd1306-oled" /><item><title>RE: [NRF54L15DK] How to use the LVGL to control ssd1306 OLED?</title><link>https://devzone.nordicsemi.com/thread/538804?ContentTypeID=1</link><pubDate>Wed, 11 Jun 2025 11:37:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:3bd08ff2-82c7-4640-ac97-c05034dec6ed</guid><dc:creator>Kazi Afroza Sultana</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;I have seen that you have commented out the&amp;nbsp;&lt;span&gt;&amp;nbsp;SSD1306 device node from your overlay file, that is because you have used arduino shield. You have to add the shield in the device tree overlay file under the i2c1 node like following way (pointing this &lt;strong&gt;arduino_i2c: &amp;amp;i2c21 {};)&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;pre class="ui-code" data-mode="text"&gt;&amp;amp;i2c21 {
    compatible = &amp;quot;nordic,nrf-twim&amp;quot;;
    status = &amp;quot;okay&amp;quot;;
    clock-frequency = &amp;lt;I2C_BITRATE_STANDARD&amp;gt;;
    zephyr,concat-buf-size = &amp;lt;4096&amp;gt;;
    pinctrl-0 = &amp;lt;&amp;amp;i2c21_default&amp;gt;;
    pinctrl-1 = &amp;lt;&amp;amp;i2c21_sleep&amp;gt;;
    pinctrl-names = &amp;quot;default&amp;quot;, &amp;quot;sleep&amp;quot;;
};

arduino_i2c: &amp;amp;i2c21 {};

&amp;amp;pinctrl {
    i2c21_default: i2c21_default {
        group1 {
            psels = &amp;lt;NRF_PSEL(TWIM_SDA, 1, 11)&amp;gt;,
                    &amp;lt;NRF_PSEL(TWIM_SCL, 1, 12)&amp;gt;;
            bias-pull-up;
        };
    };

    i2c21_sleep: i2c21_sleep {
        group1 {
            psels = &amp;lt;NRF_PSEL(TWIM_SDA, 1, 11)&amp;gt;,
                    &amp;lt;NRF_PSEL(TWIM_SCL, 1, 12)&amp;gt;;
            low-power-enable;
        };
    };
};&lt;/pre&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;In the prj.conf file, you should not coment out&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;CONFIG_SSD1306=y and&amp;nbsp;CONFIG_I2C=y.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>