I’m looking to setup a microcontroller to be able to remote power-on/auto power on my TX2 when the device occasionally shuts down. What microcontroller do you guys recommend and is there a specific setup or road map you could refer me to for hooking it up?
Hi Jordan, a 555 timer circuit should do the trick. You can either design the circuitry into your custom carrier, for example using the NE555P IC, or use a 3rd-party carrier board that already supports auto power-on like ConnectTech’s do. Alternatively if you wanted to try wiring something to the power header of your existing developer kit, you may be able to use an external add-on module like this one.
This also for the dev kit. So we will have the primary power source from for the TX2, but I just want to make sure we can turn it on remotely in the event that it crashes. Is what you mentioned above still the best route?
The cleanest way is to use a 3rd party carrier with the feature (like mentioned above) or roll your own carrier with the 555 circuit.
For use on the devkit itself, you could connect the power header to an external timer board like from Adafruit above.
There is a standard 2-pin 0.1" spaced header in parallel with both the power button and reset button. Anything which detects a non-working state and performs either the correct reset button or power button operation (such as from the 555 which is very easy to work with and inexpensive) will do the job. The trick is determining when to hit the reset or power button…you’ll need some sort of heartbeat function.
Thank you guys,
What would the installation of the Adafruit or 555 look like and can you clarify heartbeat function?
I can’t give you an exact answer on heartbeat. Basically you just need to determine how to decide that the 555 would trigger power up. An obvious answer is that power was off and now it is on, but some bus shows power has not been applied to the Jetson itself beyond having the power connector, then the 555 would trigger power on (this would be a case of using the 555 to guarantee autoboot upon power being applied).
In your case it sounds like you might also be interested in forcing a reset if the system locks, or if software has told the Jetson to shut down without actually losing power. Is this the case?
A typical hearbeat might be a ping of the ethernet port, and if ping is lost, it waits one minute and then hits the power reset button…if ping does not start within two minutes of a power on event, then it would reset and try again in an infinite loop. If you need ping to know about “I’m alive”, then you’ll need something with network abilities…which could be a micro controller attached to a 555 for the timer side. It’s up to you to define what state the Jetson is in and whether to force a power up.
As an alternative, perhaps a GPIO pin could be clocked to tick once each 30 seconds…and this would reset the 555 on a two minute wait. Should the 555 not get a tick for two minutes, then it would do the equivalent of hitting the power buttton and/or reset button.
Great, thank you both.
Do either of you know of any tutorials or walk throughs on integrating something like the adafruit timer board from above with power headers? & just to verify, the power header for the devkit is the J9 pin?
J9 is the “force recovery” button, J3 is the reset button. J11 is the power “force off” button. The button you are interested in is J6. Pin 1 of J6 is marked and is ground, shorting pin 2 to pin 1 (or ground) results in turning an “off” Jetson “on” (and probably if you hold a short on those pins for about 5 seconds for an “on” Jetson it should go to “off”…I didn’t test).
Semi random question – we are using a raspberry pi for a component of our solution that we think would put too much strain on our TX2, any chance you know if we could use that to short the J6 pin?
I suspect any open collector gate which can float until triggered, but then briefly ground upon trigger, would do the job. An RPi should be fine if it has a 5V tolerant open collector/open drain output (grounding the “hot” pin triggers…the float voltage is 5V which your design should not draw current from until triggered). About the only thing to be of issue is if the pulse is too short…I don’t know what a correct pulse width is, but think of the time a human might spend on “tapping” an on button or reset button…perhaps 100ms.