On Amy board, why are RESET_L and DNC connected to tactile switches?

In IMP003 datasheet DNC and RESET_L are not connected. Why are they connected to tactile switches on Amy? IMP003 doesn’t need any reset circuitry, right? :wink:

Correct, no reset circuitry is required. These are for our internal use during development.

Thanks Hugo

I’m working on a design that controls power to the wifi transmitter through squirrel to reduce power consumption and if I get the squirrel wrong I’d rather not have to throw out the chip and solder in a new one. Does RESET_L return the Imp003 to factory default and therefore allow re-blinkuping and reloading of new squirrel? If not, how can I reset the imp003 to factory default without a wifi connection?

When the Imp is power cycled it will reconnect and look for a code update.

So best case recovery process is to revert to known working code on the IDE +“build and run” then remove and reapply power on the IMP. The IMP will re-establish connection at power up and get the update its device code.

Even bigger hammer is to repower the IMP and then blinkup clear/new login while the connection process is underway.

I have not been able to brick an IMP with code. and how I have tried!

Ahh, so removing power = reset = old squirrel cleaned out then latest code will be downloaded from the server? Good news!

Thanks Hyperone. :slight_smile:

A bit more detail: removing power means that the imp will spend up to 10 seconds verifying that it has the latest code from the cloud. If, in those 10 seconds, it’s unable to connect to verify this, then the cached code will be run (which might make the device inoperable again).

However, this does allow you to “get out of jail”. Update the code in the IDE, click build and run, and power up the device. It’ll connect, download the new code, and all will be well. Generally, if the internet is available, this means that the device will take 1-2s on a cold boot checking the code is good before running it.

The other detail is that if a blinkup is started during these 10 seconds, it will wait for it to complete before running squirrel. This allows you to reconfigure a device so it can connect to the internet if it’s not within range of its configured network (and, from there, download the latest bug-free squirrel).

Good to know what’s happening under the hood, thanks Hugo.