Imp works on hw module but not when detached

I have a small Imp application running that works well with the Imp placed on an Arduino shield. The shield itself isn’t placed on the Arduino board at all; it’s just serving as an Imp container without the Arduino around.

However, as soon as I remove the Imp from the Arduino shield and power it from a plain SD card connector, it won’t go online. I’ve applied 0V and 3V3 to pins 3 and 4, respectively, and while the Arduino flashes orange and green, it doesn’t get online. It also doesn’t go online when I apply the supply voltage directly to the Imp when it’s just placed on my table.

But when I place the Imp back in the Arduino shield and apply 0V and 3V3 directly to the Imp pins 3 and 4, it goes online.

It seems to me that maybe the Arduino shield contains some hardware that is necessary for the Imp to function. Looking over the various hardware platforms, apparently there’s always an Atmel ATSHA204-TSU-T IC hooked up on pin 6.

Do I need that IC, too, or am I missing something obvious when I can’t get the Imp working by applying power to its power pins unless it’s placed in the Arduino shield?

Yes, you’re correct … you will need the ATSHA device. You don’t necessarily need the Arduino shield - there are several other breakouts (Adafruit, Sparkfun, etc.) that contain the required ID device - but you do need it to get online with the imp-001 … power alone is not sufficient.

Edit: p 10-11 of the link provide more details …

Thanks for the link.

Sigh. I can think of a few reasons why that IC couldn’t be part of the Imp itself, but it’s kind of awkward to sell the Imp as a self-contained device if it has to rely on specific external processing.

The imp-002 does contain an integrated ATSHA device, but it’s a solder-down module, not plug-in like the -001. If this meets your needs it’s an alternative to consider.

You should also add the recommended capacitors at VDD for either the card or the module.

There isn’t external processing done by the ATSHA chip. It is just a unique identifier. The thought was that one could move the imp between devices for some economy. I like this aspect of it for some cases; especially for those that I use infrequently. The chip identifies the device and can help the imp card know which program to load. The imp card itself has the wifi (obviously) and does all the processing. that is, except for processing that you might write for the agent.

however, for new designs I have switched to using the imp-002 to avoid paying for the card socket.

Decoupling capacitors are mandatory for any design. I was merely trying to minimize the number of reasons my wifi connection was failing; in a final design, there would of course be decoupling capacitors, chokes, etc. Also, the requirement that an engineer hold the power wires against the imp like I did would probably be eliminated. :slight_smile:

I imagine I’d probably go for the Imp-002 in any new design, too.