<?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[Edukit ATECC608B &amp; AWS IOT &amp; UiFlow]]></title><description><![CDATA[<p dir="auto">Hi, I read the tutorial for creating a thing in AWS IOT core, creating the certificates, download, etc.</p>
<p dir="auto">But I don't find anythig regarding using the ATECC608B UID  with AWS IOT Core and UIFlow, do you know where could I find examples, tutorials using the certificates that  are inside the edukit.</p>
<p dir="auto">How could I register my edukit using UiFlow in aws iot core ?</p>
<p dir="auto">Thank you in advance.</p>
]]></description><link>https://community.m5stack.com/topic/4496/edukit-atecc608b-aws-iot-uiflow</link><generator>RSS for Node</generator><lastBuildDate>Tue, 10 Mar 2026 18:50:38 GMT</lastBuildDate><atom:link href="https://community.m5stack.com/topic/4496.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 01 Aug 2022 19:51:11 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Edukit ATECC608B &amp; AWS IOT &amp; UiFlow on Wed, 10 Aug 2022 07:40:05 GMT]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/4037">@felmue</a> thanks for letting me know. It’s been stable for the testing but I’m yet to move beyond. I tried looking at provisioning for vets and codes but my brain is not taking it in hence the low level MP stuff.</p>
<p dir="auto">I’m sure there will s an issue with MP but I don’t deal directly and not getting feedback from <a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/1">@m5stack</a> or <a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/3966">@IAMLIUBO</a></p>
]]></description><link>https://community.m5stack.com/post/18273</link><guid isPermaLink="true">https://community.m5stack.com/post/18273</guid><dc:creator><![CDATA[ajb2k3]]></dc:creator><pubDate>Wed, 10 Aug 2022 07:40:05 GMT</pubDate></item><item><title><![CDATA[Reply to Edukit ATECC608B &amp; AWS IOT &amp; UiFlow on Wed, 10 Aug 2022 07:21:34 GMT]]></title><description><![CDATA[<p dir="auto">Hello <a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/443">@ajb2k3</a></p>
<p dir="auto">thank you. I've tried to add the <code>gc.collect()</code> command. The result is still not 100% persistent. From time to time I still get a crash.</p>
<p dir="auto">Thanks<br />
Felix</p>
]]></description><link>https://community.m5stack.com/post/18272</link><guid isPermaLink="true">https://community.m5stack.com/post/18272</guid><dc:creator><![CDATA[felmue]]></dc:creator><pubDate>Wed, 10 Aug 2022 07:21:34 GMT</pubDate></item><item><title><![CDATA[Reply to Edukit ATECC608B &amp; AWS IOT &amp; UiFlow on Tue, 09 Aug 2022 18:05:55 GMT]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/23226">@gabrielgc75</a> <a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/4037">@felmue</a> I now present to you the configuration loaded from the ATECC608b in my Core2 AWS<br />
<img src="/assets/uploads/files/1660068339467-screenshot-2022-08-09-at-19.02.56-resized.png" alt="0_1660068336244_Screenshot 2022-08-09 at 19.02.56.png" class=" img-fluid img-markdown" /></p>
]]></description><link>https://community.m5stack.com/post/18260</link><guid isPermaLink="true">https://community.m5stack.com/post/18260</guid><dc:creator><![CDATA[ajb2k3]]></dc:creator><pubDate>Tue, 09 Aug 2022 18:05:55 GMT</pubDate></item><item><title><![CDATA[Reply to Edukit ATECC608B &amp; AWS IOT &amp; UiFlow on Mon, 08 Aug 2022 17:17:02 GMT]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/4037">@felmue</a> try adding the following before defining ID_0</p>
<p dir="auto"><s>From esp import gc<br />
gc.collect.</s></p>
<p dir="auto">This should help clean up some memory.</p>
<p dir="auto">Nope that was wrong. the min code I can get running is</p>
<pre><code>import unit
import units
from units import _ID
import gc
ATECC = unit.get(unit.ID, (21,22))
gc.collect()
</code></pre>
<p dir="auto">Oh cool, I got import units._ID to work.</p>
]]></description><link>https://community.m5stack.com/post/18240</link><guid isPermaLink="true">https://community.m5stack.com/post/18240</guid><dc:creator><![CDATA[ajb2k3]]></dc:creator><pubDate>Mon, 08 Aug 2022 17:17:02 GMT</pubDate></item><item><title><![CDATA[Reply to Edukit ATECC608B &amp; AWS IOT &amp; UiFlow on Mon, 08 Aug 2022 07:22:38 GMT]]></title><description><![CDATA[<p dir="auto">The issue of found was that the basic unit functions are in the unit module with <a href="http://unit.ID" target="_blank" rel="noopener noreferrer nofollow ugc">unit.ID</a> being empty but the ATecc function are all in units._ID</p>
]]></description><link>https://community.m5stack.com/post/18239</link><guid isPermaLink="true">https://community.m5stack.com/post/18239</guid><dc:creator><![CDATA[ajb2k3]]></dc:creator><pubDate>Mon, 08 Aug 2022 07:22:38 GMT</pubDate></item><item><title><![CDATA[Reply to Edukit ATECC608B &amp; AWS IOT &amp; UiFlow on Mon, 08 Aug 2022 07:17:20 GMT]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/4037">@felmue</a> said in <a href="/post/18237">Edukit ATECC608B &amp; AWS IOT &amp; UiFlow</a>:</p>
<blockquote>
<p dir="auto">Hello <a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/443">@ajb2k3</a></p>
<p dir="auto">at this point I think whether the commands succeed or result in a crash depends on the amount of free memory.<br />
With a freshly rebooted M5Core2 the following commands (sometimes) can be executed w/o crash.</p>
<pre><code>&gt;&gt;&gt; import unit
&gt;&gt;&gt; ID_0 = unit.get(unit.ID, (21,22))
&gt;&gt;&gt; print(ID_0.wakeup())
True
&gt;&gt;&gt; print(ID_0.readConfigZone())
Traceback (most recent call last):
  File "&lt;stdin&gt;", line 1, in &lt;module&gt;
  File "units/_ID.py", line 186, in readConfigZone
  File "units/_ID.py", line 363, in read
  File "units/_ID.py", line 377, in read_output
  File "units/_ID.py", line 161, in idle_mode
  File "i2c_bus.py", line 100, in write_list
OSError: I2C bus error (110)
&gt;&gt;&gt; print(ID_0.readConfigZone())
True
&gt;&gt;&gt; print(ID_0.revisionNumber)
bytearray(b'\x00\x00`\x03')
</code></pre>
<p dir="auto">Note: The commands need to be executed manually one by one.<br />
Note: I don't need the <code>import units</code> nor the <code>from units import _ID</code> commands.</p>
<p dir="auto">Thanks<br />
Felix<br />
Agreed, once the error occurs then memory gets filled requiring hard reset.<br />
You didn’t need unit or the from? I will try again later.<br />
I have spent all weekend writing up the atecc for my av2 book including logging the MP modules. I’ll try without those two line tonight.</p>
</blockquote>
]]></description><link>https://community.m5stack.com/post/18238</link><guid isPermaLink="true">https://community.m5stack.com/post/18238</guid><dc:creator><![CDATA[ajb2k3]]></dc:creator><pubDate>Mon, 08 Aug 2022 07:17:20 GMT</pubDate></item><item><title><![CDATA[Reply to Edukit ATECC608B &amp; AWS IOT &amp; UiFlow on Mon, 08 Aug 2022 07:01:39 GMT]]></title><description><![CDATA[<p dir="auto">Hello <a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/443">@ajb2k3</a></p>
<p dir="auto">at this point I think whether the commands succeed or result in a crash depends on the amount of free memory.<br />
With a freshly rebooted M5Core2 the following commands (sometimes) can be executed w/o crash.</p>
<pre><code>&gt;&gt;&gt; import unit
&gt;&gt;&gt; ID_0 = unit.get(unit.ID, (21,22))
&gt;&gt;&gt; print(ID_0.wakeup())
True
&gt;&gt;&gt; print(ID_0.readConfigZone())
Traceback (most recent call last):
  File "&lt;stdin&gt;", line 1, in &lt;module&gt;
  File "units/_ID.py", line 186, in readConfigZone
  File "units/_ID.py", line 363, in read
  File "units/_ID.py", line 377, in read_output
  File "units/_ID.py", line 161, in idle_mode
  File "i2c_bus.py", line 100, in write_list
OSError: I2C bus error (110)
&gt;&gt;&gt; print(ID_0.readConfigZone())
True
&gt;&gt;&gt; print(ID_0.revisionNumber)
bytearray(b'\x00\x00`\x03')
</code></pre>
<p dir="auto">Note: The commands need to be executed manually one by one.<br />
Note: I don't need the <code>import units</code> nor the <code>from units import _ID</code> commands.</p>
<p dir="auto">Thanks<br />
Felix</p>
]]></description><link>https://community.m5stack.com/post/18237</link><guid isPermaLink="true">https://community.m5stack.com/post/18237</guid><dc:creator><![CDATA[felmue]]></dc:creator><pubDate>Mon, 08 Aug 2022 07:01:39 GMT</pubDate></item><item><title><![CDATA[Reply to Edukit ATECC608B &amp; AWS IOT &amp; UiFlow on Sun, 07 Aug 2022 18:53:27 GMT]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/4037">@felmue</a> ok, its been working all day and now crashing<br />
1.10.2</p>
<p dir="auto">OK if you make 1 single mistake, you to to disconnect and power down the Core2 to empty the memory<br />
<img src="/assets/uploads/files/1659898395030-screenshot-2022-08-07-at-19.53.03-resized.png" alt="0_1659898393874_Screenshot 2022-08-07 at 19.53.03.png" class=" img-fluid img-markdown" /></p>
<p dir="auto">this works.</p>
]]></description><link>https://community.m5stack.com/post/18234</link><guid isPermaLink="true">https://community.m5stack.com/post/18234</guid><dc:creator><![CDATA[ajb2k3]]></dc:creator><pubDate>Sun, 07 Aug 2022 18:53:27 GMT</pubDate></item><item><title><![CDATA[Reply to Edukit ATECC608B &amp; AWS IOT &amp; UiFlow on Sun, 07 Aug 2022 18:06:48 GMT]]></title><description><![CDATA[<p dir="auto">Hello <a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/443">@ajb2k3</a></p>
<p dir="auto">thank you again. I tried both your code sequences - still no luck. M5Core2 still reboots after the last command.</p>
<p dir="auto">Which UIFlow firmware version is running on your M5Core2?</p>
<p dir="auto">Thanks<br />
Felix</p>
]]></description><link>https://community.m5stack.com/post/18233</link><guid isPermaLink="true">https://community.m5stack.com/post/18233</guid><dc:creator><![CDATA[felmue]]></dc:creator><pubDate>Sun, 07 Aug 2022 18:06:48 GMT</pubDate></item><item><title><![CDATA[Reply to Edukit ATECC608B &amp; AWS IOT &amp; UiFlow on Sun, 07 Aug 2022 09:17:26 GMT]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/4037">@felmue</a> Sorry, you need to import unit<br />
Then import units then from units import _ID</p>
<p dir="auto">also the code is</p>
<pre><code>import units
import unit
from units import _ID
ID_0 = unit.get(unit.ID, (21,22))
</code></pre>
<p dir="auto">however you can also use:</p>
<pre><code>import units
import unit
from units import _ID
ATECC = unit.get(unit.ID, (21,22))
</code></pre>
<p dir="auto">I don't know why both unit and units (with an S) must be called but they both do.</p>
]]></description><link>https://community.m5stack.com/post/18232</link><guid isPermaLink="true">https://community.m5stack.com/post/18232</guid><dc:creator><![CDATA[ajb2k3]]></dc:creator><pubDate>Sun, 07 Aug 2022 09:17:26 GMT</pubDate></item><item><title><![CDATA[Reply to Edukit ATECC608B &amp; AWS IOT &amp; UiFlow on Sun, 07 Aug 2022 08:20:05 GMT]]></title><description><![CDATA[<p dir="auto">Hello <a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/443">@ajb2k3</a></p>
<p dir="auto">thank you. I appreciate all your help. Unfortunately for some reason I cannot get it to work on my side. Whatever steps I execute before, every time I try to execute <code>ID_0 = unit.get(unit.ID, (21,22))</code> my M5Core2 crashes.</p>
<p dir="auto">Thanks<br />
Felix</p>
]]></description><link>https://community.m5stack.com/post/18231</link><guid isPermaLink="true">https://community.m5stack.com/post/18231</guid><dc:creator><![CDATA[felmue]]></dc:creator><pubDate>Sun, 07 Aug 2022 08:20:05 GMT</pubDate></item><item><title><![CDATA[Reply to Edukit ATECC608B &amp; AWS IOT &amp; UiFlow on Sun, 07 Aug 2022 06:50:36 GMT]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/4037">@felmue</a> It will.<br />
You have to run the commands in that exact order or it will crash and restart!</p>
<p dir="auto">If you run help('modules') in Thonny you will find the module units/_ID this took me house to work out.</p>
<p dir="auto">_ID0 does not exist, the module is _ID</p>
]]></description><link>https://community.m5stack.com/post/18229</link><guid isPermaLink="true">https://community.m5stack.com/post/18229</guid><dc:creator><![CDATA[ajb2k3]]></dc:creator><pubDate>Sun, 07 Aug 2022 06:50:36 GMT</pubDate></item><item><title><![CDATA[Reply to Edukit ATECC608B &amp; AWS IOT &amp; UiFlow on Sat, 06 Aug 2022 21:47:03 GMT]]></title><description><![CDATA[<p dir="auto">Hello <a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/443">@ajb2k3</a></p>
<p dir="auto">thank you for putting together the guide. Unfortunately I cannot get it to work. I do not fully understand the following instructions from your guide.</p>
<p dir="auto"><em>Now I have the basics after poking away at micropython I import machine and units._ID0</em></p>
<pre><code>import units
from units import _ID
ID_0 = unit.get(unit.ID, (21,22))
</code></pre>
<p dir="auto">Using Thonny and ...<br />
... trying to <code>import units._ID0</code> results in an error.<br />
... where is <code>_ID</code> used?<br />
... trying to run <code>ID_0 = unit.get(unit.ID, (21,22))</code> still crashes my M5Core2.</p>
<p dir="auto">Thanks<br />
Felix</p>
]]></description><link>https://community.m5stack.com/post/18228</link><guid isPermaLink="true">https://community.m5stack.com/post/18228</guid><dc:creator><![CDATA[felmue]]></dc:creator><pubDate>Sat, 06 Aug 2022 21:47:03 GMT</pubDate></item><item><title><![CDATA[Reply to Edukit ATECC608B &amp; AWS IOT &amp; UiFlow on Sat, 06 Aug 2022 18:51:12 GMT]]></title><description><![CDATA[<p dir="auto">And a guide:<br />
<a href="https://www.hackster.io/AJB2K3/accessing-the-atecc608b-in-uiflow-part-1-5ac679" target="_blank" rel="noopener noreferrer nofollow ugc">https://www.hackster.io/AJB2K3/accessing-the-atecc608b-in-uiflow-part-1-5ac679</a></p>
]]></description><link>https://community.m5stack.com/post/18227</link><guid isPermaLink="true">https://community.m5stack.com/post/18227</guid><dc:creator><![CDATA[ajb2k3]]></dc:creator><pubDate>Sat, 06 Aug 2022 18:51:12 GMT</pubDate></item><item><title><![CDATA[Reply to Edukit ATECC608B &amp; AWS IOT &amp; UiFlow on Sat, 06 Aug 2022 18:15:03 GMT]]></title><description><![CDATA[<pre><code>&gt;&gt;&gt; print(ID_0.loadTempKey(64))
True
&gt;&gt;&gt; print(ID_0.generatePublicKey())
True
&gt;&gt;&gt; print(ID_0.publicKey64Bytes)
bytearray(b'\x84\xf8\xda\xf6\xda\x18&amp;r\x1b\xf0\xdbv\x1a\xcc\xf6z\xfd\xe2&gt;\xdcY\xd5l\xf4kk\xb7D\xffI6\x1d\xcfDO\x9f\xc8bv\x80\xa9\xb8\xe75\xc5\x13\xe4\xe91\x9b\xcelg\xeb\x01Q\x18\xd0&lt;\x91\xcb\xd8\xc1\xa1')
&gt;&gt;&gt; 
</code></pre>
<p dir="auto">Generate and display a key!</p>
]]></description><link>https://community.m5stack.com/post/18226</link><guid isPermaLink="true">https://community.m5stack.com/post/18226</guid><dc:creator><![CDATA[ajb2k3]]></dc:creator><pubDate>Sat, 06 Aug 2022 18:15:03 GMT</pubDate></item><item><title><![CDATA[Reply to Edukit ATECC608B &amp; AWS IOT &amp; UiFlow on Sat, 06 Aug 2022 17:58:56 GMT]]></title><description><![CDATA[<p dir="auto">And more progress!<br />
I have stable access to the Core2 AWS' ATECC608b</p>
<pre><code>&gt;&gt;&gt; help(_ID.ID)
object &lt;class 'ID'&gt; is of type type
  receiveResponseData -- &lt;function receiveResponseData at 0x3f95ce00&gt;
  read_output -- &lt;function read_output at 0x3f95d1d0&gt;
  publicKey64Bytes -- bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
  verifySignature -- &lt;function verifySignature at 0x3f95d260&gt;
  wakeup -- &lt;function wakeup at 0x3f95cc90&gt;
  dataOTPLockStatus -- False
  createNewKeyPair -- &lt;function createNewKeyPair at 0x3f95ce60&gt;
  signTempKey -- &lt;function signTempKey at 0x3f95d240&gt;
  generatePublicKey -- &lt;function generatePublicKey at 0x3f95d1a0&gt;
  getRandomInt -- &lt;function getRandomInt at 0x3f95cdc0&gt;
  sha256 -- &lt;function sha256 at 0x3f95d270&gt;
  updateRandom32Bytes -- &lt;function updateRandom32Bytes at 0x3f95cd10&gt;
  random32Bytes -- bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
  KeyConfig -- bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
  configZone -- bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
  input_buffer -- bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
  writeConfigZone -- &lt;function writeConfigZone at 0x3f95d280&gt;
  lockDataSlot0 -- &lt;function lockDataSlot0 at 0x3f95ccf0&gt;
  signature -- bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
  readConfigZone -- &lt;function readConfigZone at 0x3f95ccd0&gt;
  get_crc -- bytearray(b'\x00\x00')
  countGlobal -- 0
  check_crc -- &lt;function check_crc at 0x3f95ce20&gt;
  read -- &lt;function read at 0x3f95d1c0&gt;
  write -- &lt;function write at 0x3f95d1e0&gt;
  __init__ -- &lt;function __init__ at 0x3f95cd90&gt;
  slot0LockStatus -- False
  createSignature -- &lt;function createSignature at 0x3f95d200&gt;
  revisionNumber -- bytearray(b'\x00\x00\x00\x00\x00')
  get_info -- &lt;function get_info at 0x3f95ccb0&gt;
  getRandomLong -- &lt;function getRandomLong at 0x3f95cdd0&gt;
  random_min_max -- &lt;function random_min_max at 0x3f95cdf0&gt;
  __module__ -- units._ID
  configLockStatus -- False
  hash256 -- bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
  lockDataAndOTP -- &lt;function lockDataAndOTP at 0x3f95cce0&gt;
  random_max -- &lt;function random_max at 0x3f95cde0&gt;
  idle_mode -- &lt;function idle_mode at 0x3f95cca0&gt;
  calculate_crc -- &lt;function calculate_crc at 0x3f95ce30&gt;
  cleanInputBuffer -- &lt;function cleanInputBuffer at 0x3f95ce40&gt;
  lock_config -- &lt;function lock_config at 0x3f95ccc0&gt;
  __qualname__ -- ID
  serialNumber -- bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
  lock -- &lt;function lock at 0x3f95cd00&gt;
  loadTempKey -- &lt;function loadTempKey at 0x3f95d220&gt;
  getRandomByte -- &lt;function getRandomByte at 0x3f95cdb0&gt;
  sendCommand -- &lt;function sendCommand at 0x3f95d2c0&gt;
  check_count -- &lt;function check_count at 0x3f95ce10&gt;
  SlotConfig -- bytearray(b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
&gt;&gt;&gt; help(_ID.ID.wakeup)
object &lt;function wakeup at 0x3f95cc90&gt; is of type function
&gt;&gt;&gt; help(_ID.ID.get_info)
object &lt;function get_info at 0x3f95ccb0&gt; is of type function
&gt;&gt;&gt; help('_ID.ID.get_info')
object _ID.ID.get_info is of type str
  encode -- &lt;function&gt;
  find -- &lt;function&gt;
  rfind -- &lt;function&gt;
  index -- &lt;function&gt;
  rindex -- &lt;function&gt;
  join -- &lt;function&gt;
  split -- &lt;function&gt;
  splitlines -- &lt;function&gt;
  rsplit -- &lt;function&gt;
  startswith -- &lt;function&gt;
  endswith -- &lt;function&gt;
  strip -- &lt;function&gt;
  lstrip -- &lt;function&gt;
  rstrip -- &lt;function&gt;
  format -- &lt;function&gt;
  replace -- &lt;function&gt;
  count -- &lt;function&gt;
  partition -- &lt;function&gt;
  rpartition -- &lt;function&gt;
  center -- &lt;function&gt;
  lower -- &lt;function&gt;
  upper -- &lt;function&gt;
  isspace -- &lt;function&gt;
  isalpha -- &lt;function&gt;
  isdigit -- &lt;function&gt;
  isupper -- &lt;function&gt;
  islower -- &lt;function&gt;
&gt;&gt;&gt; import i2c_bus
&gt;&gt;&gt; i2c = machine.I2C(scl=machine.Pin(22), sda=machine.Pin(21), freq=133000)
Traceback (most recent call last):
  File "&lt;stdin&gt;", line 1, in &lt;module&gt;
NameError: name 'machine' isn't defined
&gt;&gt;&gt; import i2c_bus
&gt;&gt;&gt; Import machine
Traceback (most recent call last):
  File "&lt;stdin&gt;", line 1
SyntaxError: invalid syntax
&gt;&gt;&gt; import machine
&gt;&gt;&gt; i2c = machine.I2C(scl=machine.Pin(22), sda=machine.Pin(21), freq=133000)
&gt;&gt;&gt; print(i2c.scan())
[52, 53, 56, 81, 104]
&gt;&gt;&gt; import units
&gt;&gt;&gt; from units import _ID
&gt;&gt;&gt; i2c.wakeup
Traceback (most recent call last):
  File "&lt;stdin&gt;", line 1, in &lt;module&gt;
AttributeError: 'I2C' object has no attribute 'wakeup'
&gt;&gt;&gt; ID_0 = unit.get(unit.ID, (21,22))
&gt;&gt;&gt; ID_0.wakeup
&lt;bound_method&gt;
&gt;&gt;&gt; ID_0.ID.wakeup
Traceback (most recent call last):
  File "&lt;stdin&gt;", line 1, in &lt;module&gt;
AttributeError: 'ID' object has no attribute 'ID'
&gt;&gt;&gt; ID_0.get_info
&lt;bound_method&gt;
&gt;&gt;&gt; print(ID_0.get_info)
&lt;bound_method&gt;
&gt;&gt;&gt; print(ID_0.get_info())
True
&gt;&gt;&gt; print(ID_0.wakeup())
True
&gt;&gt;&gt; print(ID_0.read_output())
Traceback (most recent call last):
  File "&lt;stdin&gt;", line 1, in &lt;module&gt;
TypeError: function takes 5 positional arguments but 1 were given
&gt;&gt;&gt; print(ID_0.readConfigZone())
True
&gt;&gt;&gt; print(ID_0.revisionnumber())
Traceback (most recent call last):
  File "&lt;stdin&gt;", line 1, in &lt;module&gt;
AttributeError: 'ID' object has no attribute 'revisionnumber'
&gt;&gt;&gt; print(ID_0.revisionNumber())
Traceback (most recent call last):
  File "&lt;stdin&gt;", line 1, in &lt;module&gt;
TypeError: 'bytearray' object isn't callable
&gt;&gt;&gt; print(ID_0.revisionNumber)
bytearray(b'\x00\x00`\x02')
&gt;&gt;&gt; print(ID_0.serialNumber)
bytearray(b'\x01#\xce\xa0\xcf\x06\x90\x0b\x01')
&gt;&gt;&gt; 
</code></pre>
<p dir="auto">Datalog dump from Thonny!</p>
]]></description><link>https://community.m5stack.com/post/18225</link><guid isPermaLink="true">https://community.m5stack.com/post/18225</guid><dc:creator><![CDATA[ajb2k3]]></dc:creator><pubDate>Sat, 06 Aug 2022 17:58:56 GMT</pubDate></item><item><title><![CDATA[Reply to Edukit ATECC608B &amp; AWS IOT &amp; UiFlow on Sat, 06 Aug 2022 11:38:13 GMT]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/4037">@felmue</a> I'm doing multi scans because I'm not sure how do make one and pass the results to both the Label and print functions.</p>
<p dir="auto">Yeh found out about the sleep mode, you have to hard reset the base plate to wake it up before running an i2C scan.<br />
I'm running 1.10.2 and found the issue is in the i2C setup function.</p>
<p dir="auto"><code>addresses = i2c.scan()</code><br />
Is just a left over function of what I was testing earlier.</p>
]]></description><link>https://community.m5stack.com/post/18223</link><guid isPermaLink="true">https://community.m5stack.com/post/18223</guid><dc:creator><![CDATA[ajb2k3]]></dc:creator><pubDate>Sat, 06 Aug 2022 11:38:13 GMT</pubDate></item><item><title><![CDATA[Reply to Edukit ATECC608B &amp; AWS IOT &amp; UiFlow on Sat, 06 Aug 2022 10:32:53 GMT]]></title><description><![CDATA[<p dir="auto">Hello <a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/443">@ajb2k3</a></p>
<p dir="auto">are you doing multiple <code>i2c.scan()</code> calls on purpose? When I try that I only get an empty list. However doing only one scan works for me.</p>
<p dir="auto">I went through older M5Core2 UIFlow firmware versions and all of them crash on me when using the ID unit with custom values for I2C (e.g. 21, 22) in order to access the ATECC608 in the AWS bottom. And UIFlow firmware 1.7.5 doesn't support the ID unit.</p>
<p dir="auto">BTW: The ATECC608B has a sleep mode and when it is in that mode it will not show up during an I2C scan.</p>
<p dir="auto">Thanks<br />
Felix</p>
]]></description><link>https://community.m5stack.com/post/18222</link><guid isPermaLink="true">https://community.m5stack.com/post/18222</guid><dc:creator><![CDATA[felmue]]></dc:creator><pubDate>Sat, 06 Aug 2022 10:32:53 GMT</pubDate></item><item><title><![CDATA[Reply to Edukit ATECC608B &amp; AWS IOT &amp; UiFlow on Sat, 06 Aug 2022 07:53:18 GMT]]></title><description><![CDATA[<p dir="auto">1 Step Forward!</p>
<pre><code class="language-from">from m5stack_ui import *
from uiflow import *
import i2c_bus
import machine
i2c = machine.I2C(scl=machine.Pin(22), sda=machine.Pin(21), freq=133000)

screen = M5Screen()
screen.clean_screen()
screen.set_screen_bg_color(0xFFFFFF)

label0 = M5Label('label0', x=15, y=43, color=0x000, font=FONT_MONT_14, parent=None)

print('Scan i2c bus...')
addresses = i2c.scan()
print(i2c.scan())
label0.set_text(str(i2c.scan()))
</code></pre>
<p dir="auto">So the code get run out of order and crashes the i2c bus.</p>
]]></description><link>https://community.m5stack.com/post/18220</link><guid isPermaLink="true">https://community.m5stack.com/post/18220</guid><dc:creator><![CDATA[ajb2k3]]></dc:creator><pubDate>Sat, 06 Aug 2022 07:53:18 GMT</pubDate></item><item><title><![CDATA[Reply to Edukit ATECC608B &amp; AWS IOT &amp; UiFlow on Sat, 06 Aug 2022 07:49:35 GMT]]></title><description><![CDATA[<p dir="auto">And there is the Issue:<br />
<img src="/assets/uploads/files/1659771861812-screenshot-2022-08-06-at-08.43.41-resized.png" alt="0_1659771847735_Screenshot 2022-08-06 at 08.43.41.png" class=" img-fluid img-markdown" /></p>
<p dir="auto">The code is not getting run in the correct order!</p>
<p dir="auto">There was a man who had a dog and BINGO! was his Name-O!<br />
![0_1659772116790_Screenshot 2022-08-06 at 08.47.52.png](Uploading 100%)</p>
<p dir="auto">1 Set forward.</p>
]]></description><link>https://community.m5stack.com/post/18219</link><guid isPermaLink="true">https://community.m5stack.com/post/18219</guid><dc:creator><![CDATA[ajb2k3]]></dc:creator><pubDate>Sat, 06 Aug 2022 07:49:35 GMT</pubDate></item><item><title><![CDATA[Reply to Edukit ATECC608B &amp; AWS IOT &amp; UiFlow on Sat, 06 Aug 2022 07:41:17 GMT]]></title><description><![CDATA[<p dir="auto">OK getting somewhere, every time you get a guru or kernel panic you need to hard shut down the core two for 5 seconds or the bug remains in memory.</p>
]]></description><link>https://community.m5stack.com/post/18218</link><guid isPermaLink="true">https://community.m5stack.com/post/18218</guid><dc:creator><![CDATA[ajb2k3]]></dc:creator><pubDate>Sat, 06 Aug 2022 07:41:17 GMT</pubDate></item><item><title><![CDATA[Reply to Edukit ATECC608B &amp; AWS IOT &amp; UiFlow on Sat, 06 Aug 2022 07:22:12 GMT]]></title><description><![CDATA[<p dir="auto">Interesting, It seams that the I2C master bus is not being initialised.</p>
<pre><code>E (71690) i2c: /home/m5/M5-Workspace/esp-idf-for-m5/components/driver/i2c.c:1273 (i2c_master_cmd_begin):i2c driver not installed
E (71692) i2c: /home/m5/M5-Workspace/esp-idf-for-m5/components/driver/i2c.c:1273 (i2c_master_cmd_begin):i2c driver not installed
Guru Meditation Error: Core  0 panic'ed (LoadProhibited). Exception was unhandled.
Core 0 register dump:
PC      : 0x400d29ea  PS      : 0x00060230  A0      : 0x800dffe5  A1      : 0x3ffd3450  
A2      : 0x3f9530c0  A3      : 0x3f76a89d  A4      : 0x3f953070  A5      : 0x00000000  
A6      : 0x000000fe  A7      : 0x3ffc4c40  A8      : 0x800d29ea  A9      : 0x3ffd3430  
A10     : 0x00000000  A11     : 0x00000001  A12     : 0x3f953150  A13     : 0x3ffd3440  
A14     : 0x0000000c  A15     : 0xff000000  SAR     : 0x0000001a  EXCCAUSE: 0x0000001c  
EXCVADDR: 0x00000010  LBEG    : 0x40093aa4  LEND    : 0x40093ad2  LCOUNT  : 0xffffffff  

ELF file SHA256: 0000000000000000

Backtrace: 0x400d29e7:0x3ffd3450 0x400dffe2:0x3ffd3470 0x400e0bcc:0x3ffd3490 0x4016d781:0x3ffd34b0 0x4016d7b1:0x3ffd34d0 0x40097d55:0x3ffd3500

Rebooting...
ets Jul 29 2019 12:21:46

rst:0xc (SW_CPU_RESET),boot:0x17 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:5228
load:0x40078000,len:13424
load:0x40080400,len:3568
entry 0x4008063c

       _  __ _               
 _   _(_)/ _| | _____      __
| | | | | |_| |/ _ \ \ /\ / /
| |_| | |  _| | (_) \ V  V / 
 \__,_|_|_| |_|\___/ \_/\_/  
</code></pre>
]]></description><link>https://community.m5stack.com/post/18217</link><guid isPermaLink="true">https://community.m5stack.com/post/18217</guid><dc:creator><![CDATA[ajb2k3]]></dc:creator><pubDate>Sat, 06 Aug 2022 07:22:12 GMT</pubDate></item><item><title><![CDATA[Reply to Edukit ATECC608B &amp; AWS IOT &amp; UiFlow on Sat, 06 Aug 2022 06:48:47 GMT]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/4037">@felmue</a> <a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/5798">@greenleaf</a> I've reached out to M5Stack to see if they have a solution.</p>
]]></description><link>https://community.m5stack.com/post/18216</link><guid isPermaLink="true">https://community.m5stack.com/post/18216</guid><dc:creator><![CDATA[ajb2k3]]></dc:creator><pubDate>Sat, 06 Aug 2022 06:48:47 GMT</pubDate></item><item><title><![CDATA[Reply to Edukit ATECC608B &amp; AWS IOT &amp; UiFlow on Fri, 05 Aug 2022 23:00:56 GMT]]></title><description><![CDATA[<p dir="auto"><a class="mention plugin-mentions-user plugin-mentions-a" href="https://community.m5stack.com/uid/443">@ajb2k3</a> It's super buggy.  I tried getting this ATECC608 chip working with Arduino code and had very inconsistent results, kernel panics and crashes.  The only way I've seen it run consistently is by running the RTOS code in the AWS edukit tutorials.</p>
]]></description><link>https://community.m5stack.com/post/18215</link><guid isPermaLink="true">https://community.m5stack.com/post/18215</guid><dc:creator><![CDATA[greenleaf]]></dc:creator><pubDate>Fri, 05 Aug 2022 23:00:56 GMT</pubDate></item></channel></rss>