ID chip (ATSHA204) configuration for custom impee?

I may have misinterpreted some posts, but I understood that the ID chips need configuration after impee production. Reading through the datasheet, the chip contains already a unique 72bit serial nr. Why isn’t that used as such ?
Could you summarize the steps needed to produce a custom impee. I read the entry on the dev wiki, but that’s not clear enough to do proper production planning…

…to be clear, I talk about ‘producing’ as in ‘manufacturing’ steps, not the design part. That’s easy enough…

Yes, each one has a unique serial number; we do use this as the device ID.

What we do is in addition to that serial number, enrollment stores a unique 256-bit number in there and shares it with the server, then locks down that page so it is unreadable. The server can then, at any point, issue HMAC challenges to the device (which are processed totally within the ATSHA204) and ensure that the device is actually the one that was present during enrollment.

This prevents someone from cloning a product by using a micro that emulated the ATSHA and responded with the ID of the original device.

We also store some device-specific flags in the ATSHA, eg if the device has a boost DCDC and how it needs to be controlled. This is important for devices which need some hardware adjustment before they connect to wifi.

I won’t go through the production flow here; there’s some revision with the new IDE and console and docs on that will be available when it launches. What are you concerned about for production planning? (you can always email if you want to discuss this somewhere less public!)

If I just buy a bare ATSHA204 and “solder it up” will the imp boot correctly or is there a pre-configuration step with the ATSHA204 required?

It’ll just work, all the Aprils just have the chips soldered down.

Hannah’s were blessed (so they loaded the hannah software), but when the chip was soldered down it was just as it came from the reel.

OK, but how do you get the special configs into the ID chip ? Is it the imp itself that uses the deployment soft to do the programming ? These aspects may seem trivial to you but are not clear for many. A good detailed description of all the steps to take from scratch to finished product is really needed. The one pager “how to work with Electric Imp” on the wiki is a start but each step needs to be explained in detail. a company interested to build an impee (such as mine) cannot afford to ask the full team to read through the whole forum to understand in bits and pieces what they are supposed to do.

If you have special config needs, you’d do this with the factory code that’s run by the enrollment imp, yes. There is no need to pre-program the ATSHA before SMT.

Detailed descriptions are in the website update, which will launch in the next 2 weeks, so look out for those.

Thx ! Looking forward to the web updates.

Maybe important to note to the community interested in building their own impee is that the ATSHA comes in two different flavours: I2C controlled and single wire controlled. An Impee uses single wire. As long as you order the SOT-23 package, there’s no issue, but for the TSSOP8 and SOIC8 packages their configuration (I2C or single wire mode) is factory preprogrammed, cannot be changed and depends on the part order nr postfix. Just had to throw away a dozen of devices where I discovered the difference just before they were soldered to the protos…But fortunately they’re not very costly. Only a pity of the lost time to re-order the right ones :frowning:

By the way, the dev board BOMs contain the right manufacturer code for the SOT23 variant if you don’t want to dive into the datasheet…
The correct ordering nr for the TSSOP8 is ATSHA204-TH-CZ-T
and for the SOIC8 is ATSHA204-SH-CZ-T.