Hello, I’m working with a Jetson Nano 4GB, jetpack 4.6.2 on a Turtlebot3 robot. When I power the Jetson nanos with the micro B USB charger, everything works fine. For using it on the robots, I’m powering it by stepping down the 12V power from an OpenCR board to 5V using these buck converters, and then plugging in two 5V, 3A dupont wires into the J41 pins 2, and 4 to provide 5V at 6A (30W). Both robots use a realsense D435i camera plugged into the Jetson Nano via USB, and I expect to get images in ROS2 by using SSH to connect my computer to the jetsons and running a script while I run the robots. I make sure to measure the voltage coming out at the dupont wires going into the J41 pins to make sure they’re 5V and the voltage isn’t dropping from the step-down converter to the end of the dupont wires. For some reason, this setup works on one of the robots, but not the other.
The only difference between the two robots is that the one that does work uses an m.2 WiFi antenna, and the one that doesn’t uses this WiFi dongle plugged into the USB port, where I tried looking, but can’t find any datasheet for its power consumption.
There are varying degrees of issues I’m running into the robot using the WiFi dongle, which are explained below:
- Using the 12V 5A SMPS to power the OpenCR board, the nano turns on but seems to have insufficient performance for my tasks:
- I constantly get the error message “System throttled due to Over-current” when I’m connecting the Jetson to a screen with HDMI. When turning on, I also noticed a lot of
soctherm: OC ALARM 0x00000001errors on bootup. - When I run a script which uses the D435i camera with a ROS2 node, a certain topic that publishes the IMU is at a lower frequency than it should be. It should be at 400Hz, but publishes at around 165-200Hz
- I constantly get the error message “System throttled due to Over-current” when I’m connecting the Jetson to a screen with HDMI. When turning on, I also noticed a lot of
- When using the 11.1V 1800mAh battery to power the OpenCR, the green light on the nano stays on but it doesn’t seem to turn on (using HDMI, it doesn’t turn on), and ssh won’t work
soctherm: OC ALARM 0x00000001constantly seen in bootup screen before seemingly not turning on (despite green light still being on)
For the robot that works, I can just plug in the battery, boot it up, and run everything fine (such as the IMU being published at 400Hz as I mentioned above).
From here, I tried using jtop to get the stats on the voltage and current on the board, and increased the voltage coming out of the buck converter (as shown in rows 3-4), and summarized results in the table below. The script is what runs the realsense camera in ROS2 to collect data. All used power mode at 10W (MAXN). When connecting to HDMI, the peripherals I connected to are: WiFi dongle, realsense d435i, keyboard, and mouse (although I assume the last 2 have trivial power consumption)
| Power Source | Script Running? | Volt (multimeter) | Volt (jtop) | POM_5V_IN | POM_5V_CPU | Current | IMU frequency |
|-----------------|-----------------|-----------------------|-------------|-----------|------------|-----------|---------------|
| OpenCR via SMPS | No | 5.08-5.10 (both pins) | 4.5-4.6V | 2.4-2.5W | 603-677mW | 502-520mA | N/A |
| OpenCR via SMPS | Yes | 5.08-5.10 (both pins) | 4.5-4.6V | 3.4W | 1.4W | 768-880mA | 165-200Hz |
| OpenCR via SMPS | No | 5.25V (both pins) | 4.7-4.8V | 2.4-2.5W | 603-677mW | 502-520mA | N/A |
| OpenCR via SMPS | Yes | 5.25V (both pins) | 4.7-4.8V | 3.1-3.7W | 1.1-1.8W | 712-800mA | 380-400Hz |
- Noting that voltage could be increased to 5.25V from here, I adjusted the buck converter to reach that amount and tried again (bottom two rows), and note that IMU frequencies are essentially where I want them to be
- Other tendencies: I noticed better performance when removing the WiFi dongle. It also increased the IMU frequency before I increased the voltage to 5.25V.
- These tests are from running in the GUI with an HDMI, but I also noticed the voltage given from jtop dropped to about 4.5V when connecting via SSH and running the scripts
- As reference, for the robot that works, I couldn’t use jtop but I used the command
sudo cat /sys/bus/i2c/drivers/ina3221x/6-0040/iio:device0/in_voltage0_inputand voltage was around 4.9V, from SSH, using a battery. The measurement at the end of the dupont wires were about 5V, so there wasn’t a large discrepancy in voltage between the multimeter measurements and what the board shows. I also used the same command above for the robot that doesn’t work, and voltage is similar to what jtop returns. - Even with the improved performance by increasing voltage, I still get the “System throttled due to Over-current” message constantly in the GUI.
From above, increasing voltage works well when powering the OpenCR board with SMPS, but once I use the 11.1V battery, it doesn’t work. It measures around 5.15V at the end of the dupont wires (compared to 5.25V when using SMPS). When I connected to HDMI, it would constantly show soctherm: OC ALARM 0x00000001 constantly seen in the bootup screen, then the screen goes black, but the Jetson Nano is apparently still on because its green LED is still on. I’ve tried booting up multiple times and only got it to successfully boot up once, where after I connected via SSH and tried to run the script, it completely turned off the Jetson (green LED flashed before going off).
Other than the above, I test using the micro-B USB, and everything works completely fine, as it shows 4.9V constantly and IMU frequency is 400Hz all the time. I wanted to know if there’s any advice to proceed. Considering the extra power needed from the WiFi dongle and slightly less voltage coming from the battery, I was thinking of increasing the voltage coming out of the buck converter even more, but I don’t think that would be safe. As mentioned, the only difference between the robots that work/doesn’t work is the WiFi dongle, and that the wires going into the buck converter for the working robot are thicker (I noticed from answers like here, thicker wires may provide a more stable power source). Sorry if this is a long post as I’m relatively new to working with this board and managing all the wiring and peripherals appropriately. I also wanted to know if using a battery to the 5V-4A barrel jack could be a solution.
EDIT 1: I realize when I turned up the voltage to 5.40V, performance actually did improve on battery power: I can successfully SSH to it, run the script, and get reasonable IMU frequency around 360-380Hz. When I checked jtop, it said power was coming in at 4.9V. I was wondering if I could proceed with this, or if this is dangerous and could damage the board? I’m thinking jtop is giving the reliable values of voltage and current, but I don’t want to pursue this further until I know it’s safe to do so.