<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[How quickly can I get I2C going during boot? (OLED DIsplay)]]></title><description><![CDATA[<p dir="auto">Hi everyone<br />
I have built a device for a client that creates a kind of Network (UDP) to Serial convertor. It also does protocol convertion and scaling etc.</p>
<p dir="auto">Anyway... it has an OLED display on board, and some buttons to present a UI.<br />
Since the Onion takes about 1 minute to boot up, I was wondering how early in the boot process I could send some commands over i2c to the oled, so that something appears on the display early in the boot process?</p>
<p dir="auto">I tried START=13 in my service file, but the difference between that and START=99 was minimal.</p>
<p dir="auto">In other words... is it possible to use I2C and get something showing on the display early in the boot, if so, how early?</p>
]]></description><link>http://community.onion.io/topic/5051/how-quickly-can-i-get-i2c-going-during-boot-oled-display</link><generator>RSS for Node</generator><lastBuildDate>Thu, 05 Mar 2026 18:09:21 GMT</lastBuildDate><atom:link href="http://community.onion.io/topic/5051.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 14 May 2024 08:39:37 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to How quickly can I get I2C going during boot? (OLED DIsplay) on Tue, 14 May 2024 08:40:05 GMT]]></title><description><![CDATA[<p dir="auto">Hi everyone<br />
I have built a device for a client that creates a kind of Network (UDP) to Serial convertor. It also does protocol convertion and scaling etc.</p>
<p dir="auto">Anyway... it has an OLED display on board, and some buttons to present a UI.<br />
Since the Onion takes about 1 minute to boot up, I was wondering how early in the boot process I could send some commands over i2c to the oled, so that something appears on the display early in the boot process?</p>
<p dir="auto">I tried START=13 in my service file, but the difference between that and START=99 was minimal.</p>
<p dir="auto">In other words... is it possible to use I2C and get something showing on the display early in the boot, if so, how early?</p>
]]></description><link>http://community.onion.io/post/25917</link><guid isPermaLink="true">http://community.onion.io/post/25917</guid><dc:creator><![CDATA[SpiderKenny]]></dc:creator><pubDate>Tue, 14 May 2024 08:40:05 GMT</pubDate></item><item><title><![CDATA[Reply to How quickly can I get I2C going during boot? (OLED DIsplay) on Wed, 15 May 2024 07:43:45 GMT]]></title><description><![CDATA[<p dir="auto">You might want to look at the <code>preinit</code> mechanism. This is similar to the <code>/etc/init.d</code> scripts, but runs much earlier.</p>
<p dir="auto">The <code>preinit</code> scripts are in <code>/lib/preinit/</code> and, according to my <code>dmesg</code> outputs (search for "init: - preinit -" line), start running around 3.5 seconds into the boot process.</p>
<p dir="auto">However, when these <em>start</em> running, you have almost nothing ready yet. In particular, loading of additional kernel modules, such as the i2c driver, seems to happen only after preinit is done. Most of the preinit runtime seems to be mounting the jffs2 overlay, taking around 20 seconds. Only then, <code>procd</code> starts running, and kernel module autoload starts.</p>
<p dir="auto">The main challenge might be: before the jffs overlay is up, you only have the files that are baked into the firmware image. So whatever custom things you want to do early, need to be part of a custom-built OpenWrt image and can't be just installed later on top.</p>
]]></description><link>http://community.onion.io/post/25918</link><guid isPermaLink="true">http://community.onion.io/post/25918</guid><dc:creator><![CDATA[luz]]></dc:creator><pubDate>Wed, 15 May 2024 07:43:45 GMT</pubDate></item><item><title><![CDATA[Reply to How quickly can I get I2C going during boot? (OLED DIsplay) on Wed, 15 May 2024 08:49:12 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="http://community.onion.io/uid/8203">@SpiderKenny</a> Perhaps look at this thread, where <a class="plugin-mentions-user plugin-mentions-a" href="http://community.onion.io/uid/7132">@supczinskib</a> developed a driver for their display, some kernel magic required.</p>
<p dir="auto"><a href="https://community.onion.io/topic/4238/smart-irrigation-system/7?_=1715760525737" rel="nofollow">https://community.onion.io/topic/4238/smart-irrigation-system/7?_=1715760525737</a></p>
]]></description><link>http://community.onion.io/post/25919</link><guid isPermaLink="true">http://community.onion.io/post/25919</guid><dc:creator><![CDATA[crispyoz]]></dc:creator><pubDate>Wed, 15 May 2024 08:49:12 GMT</pubDate></item><item><title><![CDATA[Reply to How quickly can I get I2C going during boot? (OLED DIsplay) on Thu, 16 May 2024 14:08:42 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="http://community.onion.io/uid/1033">@luz</a> Thanks - there's some things for me to think about there!</p>
]]></description><link>http://community.onion.io/post/25923</link><guid isPermaLink="true">http://community.onion.io/post/25923</guid><dc:creator><![CDATA[SpiderKenny]]></dc:creator><pubDate>Thu, 16 May 2024 14:08:42 GMT</pubDate></item><item><title><![CDATA[Reply to How quickly can I get I2C going during boot? (OLED DIsplay) on Thu, 16 May 2024 14:16:35 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="http://community.onion.io/uid/8203">@SpiderKenny</a> another option would be to modify the bootloader so it writes a loading screen to the OLED display before Linux even starts booting.<br />
Might be a little work intensive tho!</p>
]]></description><link>http://community.onion.io/post/25924</link><guid isPermaLink="true">http://community.onion.io/post/25924</guid><dc:creator><![CDATA[Lazar Demin]]></dc:creator><pubDate>Thu, 16 May 2024 14:16:35 GMT</pubDate></item><item><title><![CDATA[Reply to How quickly can I get I2C going during boot? (OLED DIsplay) on Wed, 22 May 2024 11:14:42 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="http://community.onion.io/uid/6184">@crispyoz</a> Thanks! That's an idea - I could probably just do a bunch of register level acces to initialise the display over i2c and put up something. I'll need to do a bit of learning on uboot <img src="http://community.onion.io/plugins/nodebb-plugin-emoji/emoji/android/1f642.png?v=ic093v0mjao" class="not-responsive emoji emoji-android emoji--slightly_smiling_face" title=":-)" alt="🙂" /></p>
]]></description><link>http://community.onion.io/post/25926</link><guid isPermaLink="true">http://community.onion.io/post/25926</guid><dc:creator><![CDATA[SpiderKenny]]></dc:creator><pubDate>Wed, 22 May 2024 11:14:42 GMT</pubDate></item></channel></rss>