<?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>Thingy:91 EEPROM</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/107279/thingy-91-eeprom</link><description>I have a Thingy:91 and am trying to write to and read from the onboard I2C EEPROM . 
 I don&amp;#39;t see any samples that do this on this board, and can&amp;#39;t find any use of EEPROM in the &amp;quot;AssetTrackerV2&amp;quot; application. What&amp;#39;s particularly confusing is that in the</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 15 Jan 2024 16:46:23 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/107279/thingy-91-eeprom" /><item><title>RE: Thingy:91 EEPROM</title><link>https://devzone.nordicsemi.com/thread/464258?ContentTypeID=1</link><pubDate>Mon, 15 Jan 2024 16:46:23 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b8e8a34d-c05b-4669-9245-9d384d9a5840</guid><dc:creator>Achim Kraus</dc:creator><description>&lt;p&gt;&amp;gt; &lt;span&gt;2048*8 (8-bit address width) format&lt;/span&gt;. &lt;span&gt;Am I misunderstanding&lt;/span&gt;?&lt;/p&gt;
&lt;p&gt;Yes ;-).&lt;/p&gt;
&lt;p&gt;There are two &amp;quot;widths&amp;quot;:&lt;/p&gt;
&lt;p&gt;- data-bus (that&amp;#39;s the 8bit from the 2048x&lt;strong&gt;8&lt;/strong&gt;)&lt;/p&gt;
&lt;p&gt;- address-bus (that&amp;#39;s 11bits from the &lt;strong&gt;2048&lt;/strong&gt;x8), see table 3-3/3-4 on page 9.&lt;/p&gt;
&lt;p&gt;Usually you need the next 8bit value for the &amp;quot;address-width&amp;quot;, e.g. 11 =&amp;gt; 16.&lt;/p&gt;
&lt;p&gt;Some other EEPROMs with 512bytes (4096 bits, 9 bits address bus) are using only a 8 bit address with the 9th bit in the hardware client address (e.g. 0x50 and 0x51). In such cases the value 8 is used for the &amp;quot;address-width&amp;quot; and the EEPROM I2C driver is handling that.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Thingy:91 EEPROM</title><link>https://devzone.nordicsemi.com/thread/464256?ContentTypeID=1</link><pubDate>Mon, 15 Jan 2024 16:31:24 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:71f5a2c3-d70a-499a-9946-a9083be7e9b4</guid><dc:creator>Kyle</dc:creator><description>&lt;p&gt;The EEPROM overlay you linked to uses an address width of 16 bits. From the &lt;span&gt;24CW160&amp;nbsp;documentation, it seems like it&amp;#39;s in 2048*8 (8-bit address width) format. Am I misunderstanding?&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Thingy:91 EEPROM</title><link>https://devzone.nordicsemi.com/thread/464055?ContentTypeID=1</link><pubDate>Sun, 14 Jan 2024 18:14:30 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:54cbfaa1-4f58-43e7-a14d-82df676def63</guid><dc:creator>Achim Kraus</dc:creator><description>&lt;p&gt;Maybe some older threads help:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/94902/thingy-91---eeprom-version-identification"&gt;Thingy:91 - EEPROM version identification&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/94859/thingy-91---eeprom-usage-for-application-data"&gt;Thingy:91 - EEPROM usage for application data?&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I use &lt;a href="https://github.com/boaks/zephyr-coaps-client/blob/main/boards/thingy91_nrf9160_ns.overlay#L54-L63"&gt;Thingy:91 EEPROM overlay&lt;/a&gt; to access the onboard EEPROM.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&amp;gt; says the hardware address should be 0x000b&lt;/p&gt;
&lt;p&gt;That&amp;#39;s slightly different.&lt;/p&gt;
&lt;p&gt;The I2C base hardware client address is 0x50. In order to be able to use several EEPROM on the same I2C bus there are two approaches, address pins (not used for the&amp;nbsp;24CW160) and a preset hardware client address (depending on the order number, here 0). That results according the 24CW160 datasheet, table 3-1 (page 8)&amp;nbsp; in:&lt;/p&gt;
&lt;p&gt;EEPROM&amp;nbsp; &amp;quot;1 0 1&amp;quot;&amp;nbsp; &amp;quot;0 A2 A1 A0&amp;quot; = 0x5?&lt;/p&gt;
&lt;p&gt;and table 3-2 (page 9) then specifies A2 A1 A0&lt;/p&gt;
&lt;p&gt;0&amp;nbsp;&amp;nbsp; =&amp;gt; 0 0 0&lt;/p&gt;
&lt;p&gt;...&lt;/p&gt;
&lt;p&gt;7&amp;nbsp;&amp;nbsp; =&amp;gt; 1 1 1&lt;/p&gt;
&lt;p&gt;So a 24CW160 uses &amp;quot;1 0 1&amp;quot; &amp;quot;0 0 0 0&amp;quot; = 0x50&lt;/p&gt;
&lt;p&gt;A 24CW167 uses &amp;quot;1 0 1&amp;quot; &amp;quot;0 1 1 1&amp;quot; = 0x57&lt;/p&gt;
&lt;p&gt;Hope that helps and clarifies your question.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Thingy:91 EEPROM</title><link>https://devzone.nordicsemi.com/thread/463865?ContentTypeID=1</link><pubDate>Thu, 11 Jan 2024 20:34:09 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:12a0c745-ad97-45b6-b22d-3ef3792b13ae</guid><dc:creator>Kyle</dc:creator><description>&lt;p&gt;That&amp;#39;s ok, no need to check on the content.&lt;/p&gt;
&lt;p&gt;I am a bit confused as to the I2C address of this chip though. On the &lt;a href="https://infocenter.nordicsemi.com/topic/ug_thingy91/UG/thingy91/hw_description/eeprom.html"&gt;EEPROM page&lt;/a&gt;, it says the I2C hardware address is 0x50. In the schematic though, it shows it&amp;#39;s using a 24CW160, and the &lt;a href="https://ww1.microchip.com/downloads/aemDocuments/documents/MPD/ProductDocuments/DataSheets/24CW16X-24CW32X-24CW64X-24CW128X-Data-Sheet-DS20005772.pdf"&gt;documentation for that chip&lt;/a&gt;&amp;nbsp;(page 51) says the hardware address should be 0x000b. Could you clarify what the hardware address should be, and if it is actually 0x50, why it&amp;#39;s different than the specifications?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Thingy:91 EEPROM</title><link>https://devzone.nordicsemi.com/thread/463858?ContentTypeID=1</link><pubDate>Thu, 11 Jan 2024 18:35:02 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d78977e7-5bf7-4140-b3cd-ccfad85ae383</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;But all that said, I can double check if the content is used in any way today.&lt;/p&gt;
&lt;p&gt;Kenneth&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Thingy:91 EEPROM</title><link>https://devzone.nordicsemi.com/thread/463856?ContentTypeID=1</link><pubDate>Thu, 11 Jan 2024 18:12:37 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ced77118-176a-42b1-82b7-d958418dadf7</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;Hello again,&lt;/p&gt;
&lt;p&gt;From my understanding the area is not used by the application (only intended to be used). There is data however in the EEPROM at that range,&amp;nbsp;the reason we have the EEPROM to begin with was to keep track of the HW version, so no matter what&amp;nbsp;you as customers did to the nRF9160 flash the application could find the HW version if it needed to.&lt;/p&gt;
&lt;p&gt;If for instance you make your own design, you don&amp;#39;t need to replicate that part of the design in any way, instead if&amp;nbsp;you want to store that kind of information for your design, you can do in in the nRF9160 flash instead.&lt;/p&gt;
&lt;p&gt;Hope that helps,&lt;br /&gt;Kenneth&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Thingy:91 EEPROM</title><link>https://devzone.nordicsemi.com/thread/463819?ContentTypeID=1</link><pubDate>Thu, 11 Jan 2024 15:38:30 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5c36fee2-8d6d-4dc7-bde6-de8103e56668</guid><dc:creator>Kyle</dc:creator><description>&lt;p&gt;Thanks Kenneth, I didn&amp;#39;t realize it was AT24 compatible.&lt;/p&gt;
&lt;p&gt;So on the &lt;a href="https://infocenter.nordicsemi.com/topic/ug_thingy91/UG/thingy91/hw_description/eeprom.html"&gt;EEPROM page&lt;/a&gt; for the Thingy:91, where it says &amp;quot;&lt;span&gt;Information stored in region 0x0600 - 0x07FF is written during the production of Nordic Thingy:91. This is critical for the correct operation and should not be changed.&amp;quot; Is that not true then? Is it safe to use the entire EEPROM and not worry about overwriting &amp;quot;critical&amp;quot; information?&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Thingy:91 EEPROM</title><link>https://devzone.nordicsemi.com/thread/463789?ContentTypeID=1</link><pubDate>Thu, 11 Jan 2024 14:25:57 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:18747ff0-c10b-4e82-b95d-cd56ea24c83b</guid><dc:creator>Kenneth</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;1. &lt;br /&gt;When the thingy:91 was made they were not sure if en EEPROM could be useful or not, so it was designed-in, but it&amp;#39;s not used.&lt;/p&gt;
&lt;p&gt;2-3. &lt;br /&gt;I would assume any example or project that use an AT24 compatible EEPROM can be used as reference:&lt;br /&gt;&lt;a href="https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/zephyr/build/dts/api/bindings/mtd/atmel%2Cat24.html#dtbinding-atmel-at24"&gt;https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/zephyr/build/dts/api/bindings/mtd/atmel%2Cat24.html#dtbinding-atmel-at24&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I can find several dts and overlay files in nRF Connect SDK that have the&amp;nbsp;compatible = &amp;quot;atmel,at24&amp;quot;; property, so those should be good starting points.&lt;/p&gt;
&lt;p&gt;Kenneth&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>