Nano33 IOT Documentation Fails

So I was excited by these Nano33 IOT devices, but when I got them the real work began. First of all I bought them because they are the only Arduino's I know with the AETCC608A chip wired on to the board. But Arduino has not been very good citizens about disclosure and openness related to these boards. I found the official AETCC608A libraries at: Their GitHub Repo[GitHub - MicrochipTech/cryptoauthlib: Library for interacting with the Crypto Authentication secure elements].

Reading through the code I learned that the default I2C slave address for the chip is 0xC0
(see: /master/lib/atca_cfgs.c[GitHub - MicrochipTech/cryptoauthlib: Library for interacting with the Crypto Authentication secure elements] ) However on the Nano33 IOT devices I bought I discovered that the slave address for the chip on the board is 0x6A.

Reading through: Differences Between the ATECC608A and ATECC508A CryptoAuthenticationTM Devices[https://www.microchip.com/wwwappnotes/appnotes.aspx?appnote=en601556] I learned that: The ATECC608A provides the flexibility to change the I2C address after the configuration zone has been locked. It can only be changed once. This feature helps to update the device address dynamically even when the device is deployed in the field.

So this means that they must have locked the configuration zone on these devices. (See AN_8845 - ATSHA204A and ATECC508A Personalization Guide[

Since this affects the layout of key storage on the device I would appreciate it if the Arduino team could be more forthcoming about what configuration they did apply and lock in to these devices before selling them to us.

](https://www.microchip.com//wwwAppNotes/AppNotes.aspx?appnote=en591600)

  1. many more Arduino boards have the ATECC
  2. GitHub - arduino-libraries/ArduinoECCX08
  3. if it says "provides the flexibility to change the I2C address after the configuration zone has been locked." it doesn't say it can't be done before that (I didn't read the note and I don't know anything about the chip)