<?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>Corrupt I2C scanning when adding load to the system</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/117198/corrupt-i2c-scanning-when-adding-load-to-the-system</link><description>How to reproduce the issue: 
 We have used the standard hello_world sample application in the zephyr repository. CONFIG_I2C, CONFIG_SHELL and CONFIG_I2C_SHELL configurations are added to the sample application. We have also changed the i2c2 clock-frequency</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 11 Mar 2025 08:27:00 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/117198/corrupt-i2c-scanning-when-adding-load-to-the-system" /><item><title>RE: Corrupt I2C scanning when adding load to the system</title><link>https://devzone.nordicsemi.com/thread/526684?ContentTypeID=1</link><pubDate>Tue, 11 Mar 2025 08:27:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6e76aa0e-f171-49ab-b983-1e20a3ddf6ff</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;I understand. Let me keep poking our developers.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Corrupt I2C scanning when adding load to the system</title><link>https://devzone.nordicsemi.com/thread/526583?ContentTypeID=1</link><pubDate>Mon, 10 Mar 2025 14:21:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:caf8cba6-8450-4a0f-ab57-1f4268119d09</guid><dc:creator>Daniel Maartensson</dc:creator><description>&lt;p&gt;Hi Edvin,&lt;/p&gt;
&lt;p&gt;We haven&amp;#39;t looked any more into this since we currently only use the I2C to send commands to a display. These commands aren&amp;#39;t critical because we only use the display for debug purposes. We started investigating this issue when we saw that the display randomly seemed to lose some data. We have the &lt;span&gt;CONFIG_SHELL option set in our application but it seems as if the problem increases&amp;nbsp;as we add functionality to the application&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Daniel&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Corrupt I2C scanning when adding load to the system</title><link>https://devzone.nordicsemi.com/thread/526480?ContentTypeID=1</link><pubDate>Mon, 10 Mar 2025 07:38:24 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:93ba8663-23c6-4f49-b48d-281bb5e3e647</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Hello Daniel,&lt;/p&gt;
&lt;p&gt;I still haven&amp;#39;t gotten this confirmed from R&amp;amp;D, but I wanted to check the status on your project. Do you still see irregularities in the I2C? Do you have some application that steadily reproduces this, preferably without the need for shell commands? I pinged the R&amp;amp;D team again now.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Corrupt I2C scanning when adding load to the system</title><link>https://devzone.nordicsemi.com/thread/518733?ContentTypeID=1</link><pubDate>Thu, 16 Jan 2025 21:28:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:22f97c88-52dd-4ac1-8f6b-ced0d6048662</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;Unfortunately I don&amp;#39;t have any news. I just wanted to let you know that I am still tracking this issue. I will ping our developers to see if they have found anything yet.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Corrupt I2C scanning when adding load to the system</title><link>https://devzone.nordicsemi.com/thread/516014?ContentTypeID=1</link><pubDate>Fri, 20 Dec 2024 23:14:10 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ad925302-92e7-431e-9a0a-2def6d958016</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Thank you for that update. I will keep you posted when I get back!&lt;/p&gt;
&lt;p&gt;Happy holidays!&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Corrupt I2C scanning when adding load to the system</title><link>https://devzone.nordicsemi.com/thread/515891?ContentTypeID=1</link><pubDate>Fri, 20 Dec 2024 10:49:23 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:cd83c4ba-c8d1-4632-96d6-7525e1e3ffa9</guid><dc:creator>Daniel Maartensson</dc:creator><description>&lt;p&gt;Hi again Edvin,&lt;/p&gt;
&lt;p&gt;Once again, thank you for your support on this issue. This is not on a critical line and most people here will be out for Christmas and new year as well.&lt;/p&gt;
&lt;p&gt;Happy holidays !&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; Best regards,&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; Daniel.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Corrupt I2C scanning when adding load to the system</title><link>https://devzone.nordicsemi.com/thread/515883?ContentTypeID=1</link><pubDate>Fri, 20 Dec 2024 10:24:47 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:97476110-81bf-4d5b-a909-7ad6d1e25563</guid><dc:creator>Edvin</dc:creator><description>[quote user="Daniel Maartensson"]I think that the fact that a simple sleep in the hello_world application causes an invalid start sequence on the I2C bus when using the shell is an indication that there is a timing issue in the I2C framework or that there is an issue on the nRF9151 DK setup.[/quote]
&lt;p&gt;I agree. There is definitely something here. I have reported it internally, but I don&amp;#39;t expect any feedback before christmas, unfortunately. I also didn&amp;#39;t see the same behavior on other chips, like the nRF52 series or the nRF5340. I will continue to investigate, but I also don&amp;#39;t think I will have the time to find much before Christmas (this is my last day before January).&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Corrupt I2C scanning when adding load to the system</title><link>https://devzone.nordicsemi.com/thread/515647?ContentTypeID=1</link><pubDate>Thu, 19 Dec 2024 07:17:16 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:749bcdf8-e8e8-4bab-8994-6368042d337e</guid><dc:creator>Daniel Maartensson</dc:creator><description>&lt;p&gt;Hi Edvin,&lt;/p&gt;
&lt;p&gt;Thank you for helping us to&amp;nbsp;investigate the issue. We&amp;nbsp;started to look into this after experiencing random loss of data to another I2C device that we connected to the nRF9151 DK. The issue seemed to happen more often as we added functionality so we assumed it was dependent on load or timing.&lt;/p&gt;
&lt;p&gt;It is interesting that you&amp;nbsp;couldn&amp;#39;t reproduce it outside of the shell. We believe that we see this issue outside of the shell but we do have the CONFIG_SHELL option set in our application. I will try to see if we can narrow it down further on our side.&lt;/p&gt;
&lt;p&gt;I think that the fact that a simple sleep in the hello_world application causes an invalid start sequence on the I2C bus when using the shell is an indication that there is a timing issue in the I2C framework or that there is an issue on the nRF9151 DK setup.&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; Best regards,&lt;/p&gt;
&lt;p&gt;&amp;nbsp; &amp;nbsp; Daniel.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Corrupt I2C scanning when adding load to the system</title><link>https://devzone.nordicsemi.com/thread/515451?ContentTypeID=1</link><pubDate>Wed, 18 Dec 2024 11:34:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:83ed409b-4119-4c2a-b54d-5641cf8cbced</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;I was a bit mistaken in my previous answer. It only happened when I added the sleeping loop in main(), as you said.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;However, I have not been able to reproduce this outside the shell application. Have you?&lt;/p&gt;
&lt;p&gt;I tried using this sample, basically the hello world sample with added I2C functionality.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/hello_5F00_world_5F00_i2c.zip"&gt;devzone.nordicsemi.com/.../hello_5F00_world_5F00_i2c.zip&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Note that it uses I2C1, and different pins. You can change this, but I wanted to rule out that it was something else using I2C on the DK .&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;If you are able to reproduce it outside the shell sample, please let me know! But I have tried for a good while, without success.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Corrupt I2C scanning when adding load to the system</title><link>https://devzone.nordicsemi.com/thread/514994?ContentTypeID=1</link><pubDate>Sat, 14 Dec 2024 22:02:31 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4328f8e9-f842-4559-adce-be3adea42e6f</guid><dc:creator>Edvin</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;Just wanted to chip in. I see the same, but also without the sleep in your main loop, so I don&amp;#39;t think it is related to that. I do however, suspect that it is related to the board controller that is present on the DK (using I2C). I also see that it triggers from an extra pulse, like the one you circled in your logic trace. I need to do more investigation, but I will get back to you.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Edvin&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Corrupt I2C scanning when adding load to the system</title><link>https://devzone.nordicsemi.com/thread/514645?ContentTypeID=1</link><pubDate>Thu, 12 Dec 2024 06:56:55 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7f10f5ef-681f-4068-a95f-1f0b43c90586</guid><dc:creator>Daniel Maartensson</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Thank you for your reply. I agree with your analysis.&lt;/p&gt;
&lt;p&gt;The above measurements are taken on a stock&amp;nbsp;&lt;span&gt;nRF9151-DK (0.9.0, 2024.30). Nothing has been added to the board. According to the HW user guide there should be 4.7&amp;nbsp;k&amp;Omega; pull-up resistors on the SCL and SDA lines.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;From the&amp;nbsp;nRF9151 DK Hardware (v.0.9.0):&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;img style="max-height:240px;max-width:320px;" src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1733986410169v1.png" alt=" " /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;Best regards,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; Daniel.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Corrupt I2C scanning when adding load to the system</title><link>https://devzone.nordicsemi.com/thread/514641?ContentTypeID=1</link><pubDate>Thu, 12 Dec 2024 06:28:54 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b250ce38-ad71-4a3a-9a2f-6634a60d7879</guid><dc:creator>selddbk</dc:creator><description>&lt;p&gt;It seems like the issue you&amp;#39;re facing is related to I2C bus instability when the system is under load, which could be affecting the reliability of the I2C scan. The extra devices showing up on the scan could be a result of I2C noise, clock stretching, or timing issues caused by the added load in the system.&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;Make sure that appropriate pull-up resistors are placed on the I2C lines (SCL and SDA). A weak or absent pull-up can cause noise on the bus, which may lead to false detections, especially under load. Ensure you&amp;#39;re using the correct values for the pull-ups (typically 4.7k&amp;Omega; to 10k&amp;Omega;).&amp;nbsp;&lt;span style="color:#ffffff;font-size:75%;"&gt;&lt;a style="color:#ffffff;" href="https://blockblastgames.org"&gt;Block Blast&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>