ATSHA Chip, Blink Up, Blessing, Developer and Non-Developer Cards

I’m having trouble understanding the exact associations between these things. Here are my assumptions and some things I gathered via experiment. Can somebody confirm, or elaborate on these points?

  1. The ATSHA chip sits off the imp card, in a hardware device. It gives a hardware device an id.

  2. An imp card also has an id, a MAC address.

  3. Blink-up an impee with a dev card, and it will associate your ide account, with this hardware id from the ATSHA and a new model you create which contains code.
    a) Put the same imp card I blinked up into a new instance of identical hardware (but with a different ATSHA id) I get a new unassigned device in the imp ide, correct? Does the imp card erase it’s own old firmware? Does it attempt to run the old firmware?
    b) Put a new imp card in the same hardware device.
    Nothing happens in the IDE. The new imp card downloads the same firmware that ran on the old card. The impee can continue like nothing ever happened.

  4. If I were to bless an impee, the only difference is that the ide account can’t be reassociated to another one via blink-up? That ATSHA id will stick in the blessers ide account forever? As a blesser, how do I de-bless so I may test my hardware some more?

  5. Difference between developer and non-developer imp cards?

Correct, same hardware and (after they have auto-updated) same OS version too.

That’s broadly right. Think of the imp card as intelligence + radio, but without personality - the personality (the device ID/ATASHA ID) comes from the device the imp fits into.

So BlinkUp addresses the device, not the imp; move the imp to another device and it will appear as a separate device. It’s the devices you see in the IDE, not the imps.

A new imp card in a previously BlinkUp’d device still needs to be BlinkUp’d because the new card has no WiFi credentials. When it has them, and connects, the device appears in the IDE as before.

The imp downloads the firmware - impOS + Model - assigned to that device. Take an imp from device A to device B and, assuming, A and B have Models assigned, the imp will just grab the right Model.

A blessed device is locked to a specific Model, set at blessing time. It will re-download firmware if necessary (the Model has been updated, say, or the imp OS has been revised) but that’s all. Blessing is for devices going to end-users, which is why they do not appear in the developers’ IDE. Developer cards are not blessed; non-developer cards (intended to ship inside a manufacturer’s device) are blessed.

Clarification: Cards are not blessed/unblessed; devices are.

@smittyone hmm you say non-developer cards are blessed, but I’m able to put a non-developer card into my hanna board and program my own model on it. It seems the hardware ATSHA id is really what is “permanently” blessed – because the hardware device can’t be reassociated simply by putting in a new card. The blessed hardware remains on the production account no matter which imp I put inside it.

See my clarification above, @mikob. As I say, devices are blessed, not cards (slip of the brain in the final line)

@smittytone Thanks! Now it’s all clear.

so there is effectively no difference between ‘developer edition’ cards and other cards ? Important for me to know. I still have about 30 developer editions which i used during pilot tests in development (logical, right :-), but which I now would like to use in final production devices. Reading the above, I assume that’s no problem.