Jetson Power & PSU — methodology

Method version 1.11.0 · dataset module-power-input 2026-09-29 · engine: /engines/jetson-power-psu/ · dataset: datasets/module-power-input.json

A bring-up check, not a power-supply simulation. Every voltage window, power ceiling, adapter figure and PoE statement is the vendor's published number with the document quoted; the only engineering figure is the peak factor, and it is labelled class E.

Contents

  1. What it decides, and what it does not
  2. Inputs
  3. Which board the rail is judged against
  4. The four checks
  5. Verdict rule
  6. Class E engineering defaults
  7. The module registry and its sources
  8. Evidence classes and confidence
  9. What invalidates a result
  10. Method changelog

1. What it decides, and what it does not

The engine answers one bring-up question: for this module at this power mode, on this carrier, from this DC rail — is the supply inside the window the datasheet specifies, is the module inside its power ceiling, is the PSU big enough with a peak factor, and is powering it over PoE something the vendor actually documents? It returns FIT, FIT WITH RISKS, NEEDS VALIDATION or NO FIT, with the PSU wattage to buy.

It does not model supply efficiency curves, inrush waveforms, rail sequencing, transient response or brown-out behaviour. Those depend on the actual supply, cable and capacitance, none of which a form can capture. What it does instead is hold the design against the vendor's own printed limits and say plainly when the vendor prints nothing.

It is also not the Power Budget engine, which sizes a whole deployment's electrical envelope including UPS runtime and cooling. This one is about one node's rail and its supply.

2. Inputs

InputValuesDefaultUsed by
platformmodule id (Jetson Orin Nano / NX / AGX Orin family, Thor T5000 / T4000, Raspberry Pi 5, RK3588, Hailo-8 / 8L, Coral)requiredall checks
power_wmodule power in Wthe power_mode preset's watts, else the vendor's maximum module powerpower ceiling, PSU sizing
power_modenvpmodel preset id from the power-mode registrynone; with no power_w either the module is sized at the vendor's maximum module power, listed in provenance.defaulted as power_modepower resolution
carrierproduction-carrier registry id—the voltage window the rail is judged against; the carrier's power rating joins the assumptions
peripherals_w0–500 W — cameras, USB accelerators, M.2 cards on the same supply0PSU sizing
supply_vthe DC rail available (V)— (UNKNOWN without one)input voltage
psu_wthe supply you already have (W)—PSU sizing
peak_factor1–31.5 (class E)PSU sizing
devkitboolean — the node is the vendor developer kitfalsethe node is the developer kit: with no carrier named, the rail is judged against the kit carrier's DC input window and the bundled adapter becomes the available supply
poeboolean — the node is to be powered over PoEfalsePoE powered device

Inputs (WP-01). A field that is not stated takes its documented default and is listed in provenance.defaulted; a field that is stated but invalid — a count of 0, a negative, a fraction or a non-number, true in place of a count, an unknown value of an enumerated input, or an empty string — is rejected with VALIDATION_ERROR naming the field, never replaced by a default.

Input keys (WP-02). The engine accepts one list of input keys — the inputs documented here and their declared backward-compatible aliases. Unknown input keys are rejected with VALIDATION_ERROR naming the key: an invented or misspelt key is never silently ignored, a __ test hook never reaches the engine, and an alias sent together with the key it stands for is rejected too (the engine would read only one of them). export_json.inputs echoes every input the engine honoured, so replaying it reproduces the result.

3. Which board the rail is judged against

A supply plugs into the outermost board, not into the module. An Orin Nano module's VDD_IN is a 4.75–5.25 V rail; the developer kit's carrier board takes 9–20 V at its DC jack and regulates it down. Judging a 12 V bench supply against the module's 5 V window would fail a configuration NVIDIA ships in a box.

So the rule is: when a carrier is named, the rail is judged against the carrier's published input window; when the node is the developer kit (devkit: true) and no carrier is named, against the input window of the module's developer-kit carrier row in the production-carrier registry (Orin Nano and Orin Nano Super, and Orin NX 16GB and 8GB, which NVIDIA supports on the same carrier: the 9–20 V DC jack); otherwise against the module's. The requirement judged is published as detail.judged_against (carrier_input, devkit_carrier_input or module_rail), with the kit row in detail.devkit_carrier. A module with no developer-kit row keeps its own window, and the assumptions say so. The Orin Nano datasheet lists two VDD_IN windows because one 260-pin socket serves two modules: 4.75–5.25 V when MODULE_ID is low (Orin Nano) and 4.75–20 V when it is high (Orin NX). Only a window inside the module's own rated input applies to it, so with no carrier named a 12 V or 19 V rail into an Orin Nano FAILs against 4.75–5.25 V — the 4.75–20 V window is reported, marked as belonging to the other module, and never authorises the rail. Name the carrier and its input window is judged instead. The constraint's available is the applied window as {min, max} (not a single scalar voltage); detail.range repeats the bounds with the datasheet selector, quote, and the MODULE_ID / carrier prerequisite that selected it. A rail outside the window FAILs with that window named, and the verdict is NO FIT. Both carrier and module windows are reported when both exist. When neither publishes a window, or no rail was given, the check is UNKNOWN.

A board or accelerator whose vendor states a single fixed input is judged against a window around that voltage, never left UNKNOWN: the Raspberry Pi 5 against the USB Power Delivery safe 5 V range (4.75–5.5 V, class B; Raspberry Pi recommends a 5.1 V supply), the Hailo-8 and Hailo-8L against their datasheets' 3.3 V ± 5 % (3.135–3.465 V, class A), and the Coral M.2 Accelerator against its datasheet's 3.3 V ± 10 % (2.97–3.63 V, class A) or the USB Accelerator's 5 V bus. The stated voltage PASSes; a rail outside the window FAILs and the verdict is NO FIT, because 12 V or 24 V into a 5 V board is outside its rating. UNKNOWN is left for modules that state no input at all (RK3588, Thor).

One implementation note: a published window written as “9-19V DC” can be parsed with the hyphen read as a minus sign, giving a nonsensical −19 V lower bound. A window whose lower bound is negative while its upper bound is positive and smaller is read back as the range the vendor printed rather than being used as-is.

4. The four checks

CheckRequiredAvailableClass
input_voltage the DC rail the applied board's published window as available: {min, max} plus detail.range (selector, quote, prerequisite); PASS inside any quoted range, FAIL outside every range (remediation names the documented max), UNKNOWN with no window or no rail A
module_power the resolved module watts the ceiling of the preset's own flash configuration: the vendor's maximum module power for a standard preset or an explicit figure, the registry's Super envelope (40 W Orin NX, 25 W Orin Nano, 50 W AGX Orin 32GB) for a Super preset; for a board whose maximum draw is recorded apart from its supply rating (Raspberry Pi 5: 11.6 W measured peak, not the 25 W supply) that draw, with its own evidence class; UNKNOWN when none is on record A / C
power_mode_ceiling the lowest preset's watts (or, for a module without presets, its stated maximum) the watts the requested power mode names; present only when no preset of the module is at or below them, and then always FAIL A
carrier_module_power the resolved power mode and module watts what the carrier the module sits on supports for it, from the production-carrier registry (module_power_limits); present only when that carrier states a limit for the module (today: Orin NX on the Orin Nano developer-kit carrier). FAIL for a preset the vendor names as unsupported, PASS within the stated watts, UNKNOWN otherwise A / D
psu_sizing (module W + peripherals W) × peak_factor the PSU given, else the developer-kit adapter when the node is the devkit, else — when PoE-powered — the carrier's onboard PD budget or the registry splitter's output watts, else UNKNOWN with the wattage to buy. An onboard PD with no published wattage is UNKNOWN with can_flip_verdict: false (capability still PASSes). D / A / C
poe_pd whether PoE power was asked for when PoE is asked for, a resolved poe_supply: the named carrier's documented onboard 802.3 PD input, or else the registry's external 802.3bt splitter (Tycon POE-SPLT-BT-UNI-P) — always PASS with the path named. PoE not asked for → PASS whatever the vendor documents: the node is powered from DC, the prerequisite does not arise, and detail.applicable is false. Module poe_pd_documented stays informational. A / C

A requested power mode is read as a power ceiling. An id that is neither a preset of the module, a wattage ceiling, MAXN nor default is a validation error naming power_mode (HTTP 400); it is never sized at the registry default. A requested mode that is not a preset of the module is sized at the module's highest preset at or below the requested ceiling, and the result publishes the ceiling, the selected preset and the resolution with an informational note; when every preset of the module exceeds the ceiling, a power_mode_ceiling FAIL makes the verdict NO FIT. For example, a 40 W request on a Jetson AGX Orin 64GB (presets 15 W, 30 W, 50 W, MAXN) is sized at its 30 W preset, and a 7 W request fails: its lowest preset is 15 W. A named mode is never sized at the vendor maximum as though no power were given.

A carrier can feed a module less than the module draws on another board. When the board the module sits on — the named carrier, or the developer-kit carrier of devkit: true — states a module-power limit in the production-carrier registry, a carrier_module_power check holds the power mode against it. NVIDIA’s carrier specification says the Orin Nano developer-kit carrier supports every Orin NX module but feeds it 5 V only, and that “Orin NX 40W (MAXN_SUPER) is NOT supported on the developer kit carrier board” (Super mode on Orin NX needs a carrier with a higher-voltage rail). So an Orin NX at the 40W or MAXN_SUPER preset on that carrier is a FAIL and the verdict is NO FIT, citing that statement (class A). A preset within the 25 W the carrier supplies (5.0 V × 5.0 A at the module connector, a class D derivation) PASSes. An uncapped preset or a figure above 25 W is UNKNOWN until validated on the board: the derived bound never eliminates. The same module on a production carrier that states no such limit is judged against its own Super envelope, as before.

The PSU check takes its status from utilization against the shared thresholds: PASS below 0.8, NEAR LIMIT from 0.8 through 1.0, FAIL above 1.0. recommended_psu_w is the required watts rounded up, and it is reported whether or not a supply was given — so an UNKNOWN check still ends in a purchase order rather than a shrug.

Above 1.0 is a FAIL only on evidence that can prove the shortfall (elimination authority). The power figures are the vendor's and the arithmetic is exact, but the default 1.5 peak factor is a class E estimate. So the check FAILs when the sustained draw alone — module plus peripherals, before any peak factor — already exceeds the supply, or when you stated the peak factor yourself; when only the default factor takes the requirement over the supply, the check is REQUIRES VALIDATION with the shortfall stated and the verdict NEEDS VALIDATION, never NO FIT.

5. Verdict rule

  • Any check FAILs → NO FIT.
  • Else any check is UNKNOWN or REQUIRES VALIDATION → NEEDS VALIDATION.
  • Else any check is NEAR LIMIT → FIT WITH RISKS.
  • Else FIT.

Every non-PASS check that has a fix lists it in remediations: a supply inside the window or a DC-DC converter to reach it, a lower power mode, a bigger PSU, or a PoE splitter whose output sits inside the module's input window. The result also carries the module's power presets from the power-mode registry, so the power mode that would fit the supply is one glance away.

6. Class E engineering defaults

DefaultValueWhy
Peak factor1.5A power mode is an average envelope, not a ceiling. Inrush at boot and workload transients both draw above it, and a supply sized exactly to the mode browns out. 1.5 is the planning margin; it is not a vendor figure.

It is a class E engineering figure, named as such in the assumptions of every result and overridable from the Advanced panel and the API. Nothing else in the engine is an estimate: every voltage window, power ceiling, adapter wattage and PoE statement comes from a vendor document.

7. The module registry and its sources

Fourteen modules and accelerators, every row carrying the vendor datasheet, design guide or product page it was read from, with a verbatim quote and a link:

FamilyRowsInput windowMaximum module power
Jetson Orin Nano (incl. Super)24.75–5.25 V15 / 25 W
Jetson Orin NX (16GB, 8GB)24.75–20 V25 / 20 W
Jetson AGX Orin (64GB, 32GB, Industrial)37–20 V60 / 40 / 75 W
Jetson Thor (T5000, T4000)2not published by a class A source130 / 70 W
Raspberry Pi 5, Rockchip RK358824.75–5.5 V (USB PD) / not published11.6 W board peak draw (25 W supply) / not published
Hailo-8, Hailo-8L, Coral Edge TPU33.135–3.465 V (3.3 V ± 5 %) / Coral 2.97–3.63 V M.2 (3.3 V ± 10 %) or 5 V USB8.25 / 6.6 W / not published

Ten of the fourteen publish a usable input window (the Coral row carries two, one per variant, without a single rated range) and twelve publish a power ceiling; the rest report UNKNOWN rather than a guess. Some records were read from local PDF mirrors whose download URL the research pass did not record: those are kept only where the same document is reachable at a URL the site already cites (the Thor thermal design guide, the RK3588 datasheet, the Raspberry Pi 5 product brief, the Hailo accelerator page), and are otherwise dropped and counted in the dataset's gaps. Two conflicts were resolved in favour of the datasheet: AGX Orin 32GB uses the datasheet's 40 W rather than the product page's 15–60 W band, and Thor T4000 uses the product page's 70 W rather than the thermal design guide's MAXN figure. Developer-kit adapter wattage is published for the AGX Orin kit (inferred from the port's maximum USB PD rating, and flagged as such) and the Raspberry Pi 5. NVIDIA does not state the Orin Nano kit's adapter wattage on a reachable page, so its 45 W is taken from the kit's developer-kit carrier row in the production-carrier registry and quoted from an authorised distributor's box contents (class C). The Jetson Thor kit's adapter wattage is not on record, so a Thor developer kit's PSU check stays UNKNOWN. For the Raspberry Pi 5 the board's maximum draw and its supply rating are separate figures. The 25 W is the supply: Raspberry Pi recommends its 27 W USB-C supply, and the board gives 1.6 A to USB peripherals only on a 5 V / 5 A (25 W) supply (class A). The draw is 11.6 W, a measured board peak under a sustained Linpack stress (class C; Raspberry Pi publishes only the typical 800 mA bare-board current). USB peripherals, SSDs and HATs are extra and belong in peripherals_w.

8. Evidence classes and confidence

  • A — every module figure: input voltage window, nominal rail, maximum module power, developer-kit adapter, PoE documentation; and the carrier windows and power ratings from the production-carrier registry.
  • B — a standard's range applied to a stated fixed input (the USB Power Delivery safe 5 V range for the Raspberry Pi 5 and the Coral USB Accelerator).
  • C — the Orin Nano developer kit's 45 W adapter (distributor box contents), and the Raspberry Pi 5's 11.6 W maximum board draw (independent bench measurements).
  • D — the PSU sizing check, which combines class A power figures with a class E peak factor.
  • E — the peak factor, and any check whose vendor figure is missing (reported UNKNOWN).

Confidence: HIGH for the voltage and power-ceiling checks when the vendor publishes the figure; MEDIUM for the derived PSU check and the PoE check; LOW for any UNKNOWN. The overall confidence is the lowest of the four.

9. What invalidates a result

  • A supply whose rated wattage is a peak rather than a continuous figure, or one that derates at temperature.
  • Voltage drop along a long or thin DC cable: the rail at the jack is what the check assumes, not the rail at the bench supply.
  • Peripherals that draw more than entered, or that are hot-plugged and add inrush of their own.
  • A real peak above the 1.5 factor — a heavy camera pipeline plus a boot storm can exceed it.
  • A carrier that has its own regulator losses or a lower continuous rating than its connector implies.
  • Any figure the vendor does not publish — the check reports UNKNOWN and the verdict becomes NEEDS VALIDATION rather than a number. This is why both Thor modules come back NEEDS VALIDATION on the voltage check.
  • A PoE splitter whose output voltage sits outside the module's window: the PoE check answers documentation, not the splitter's specification.

10. Method changelog

MethodDatasetDateChange
1.02026-09-092026-09-09First release. Fourteen vendor-sourced modules and accelerators; the applied-window rule for carriers; four checks (input voltage, module power ceiling, PSU sizing, PoE powered device); the verdict rule; the 1.5 peak factor as a class E default; the module's power presets and the carrier's power block in every result.
1.02026-09-092026-09-14Correction (v2.48.1): a Super flash configuration preset is judged against the Super envelope from the power-mode registry (40 W Orin NX, 25 W Orin Nano, 50 W AGX Orin 32GB), not the standard-configuration maximum module power. Before this, Orin NX and Orin Nano failed module power at their registry-default planning modes, so Hardware Match and Architecture Designer eliminated both families on every workload unless a power mode was given.
1.12026-09-172026-09-17MODULE_ID multi-window input voltage (5 V, 12 V and 19 V PASS for Orin Nano; 24 V FAIL — superseded in 1.3); RANGE rows do not publish a scalar available. PoE PD when PoE is not requested reads UNKNOWN when the vendor documents no PD path.
1.22026-09-172026-09-18input_voltage publishes available: {min, max} and detail.range (selector, quote, prerequisite) for the matched window; FAIL outside every window names the documented maximum.
1.32026-09-172026-09-18Correction: with no carrier named, only the module VDD_IN windows inside the module's own rated input judge the rail. Orin Nano and Orin Nano Super at 12 V or 19 V now FAIL against 4.75–5.25 V; before this they PASSed on the 4.75–20 V window the datasheet documents for Orin NX on the same socket. A rail outside the one applicable window now names that window and reads NO FIT, not NEEDS VALIDATION.
1.42026-09-172026-09-18Correction: when PoE is not requested the PoE powered-device check PASSes (not applicable) instead of reading UNKNOWN. Since 1.1 every DC-powered Orin Nano, Orin NX and AGX Orin result was pulled to NEEDS VALIDATION by a PoE path nobody asked for. A PoE request is judged as before: partial documentation → REQUIRES VALIDATION, none → FAIL.
1.5.12026-09-172026-09-24On PoE-powered paths the judged rail and available watts now come only from poe_supply; caller-supplied supply_v/psu_w are preserved as inputs but explicitly marked "not judged".
1.8.12026-09-282026-09-28Correction (bug #231). The Raspberry Pi 5 row used its 25 W supply rating as the board's maximum power, so the PSU check multiplied the supply by the peak factor and compared it with itself: a Pi 5 with devkit: true on its own supply was NO FIT (37.5 W vs 25 W). The row now separates the board's maximum draw (11.6 W measured peak, class C) from the supply rating (25 W, Raspberry Pi documentation, class A): module power is 11.6 W (class C on the module_power row), and the kit on its own supply is PASS at 17.4 W of 25 W; a 5 V / 3 A (15 W) supply, or the full 8 W USB peripheral budget, still FAILs. No other row conflated the two. Hardware Match's Raspberry Pi 5 host draw for Hailo and Coral candidates reads the same figure.
1.8.02026-09-272026-09-27An unrecognised power_mode is a 400 validation error naming the field, through the power-mode resolver Hardware Match, Compute Fit and Camera Stream Capacity use; it was sized at the registry default (Orin NX 16GB banana → the 40W preset). Recognised modes keep the ceiling rule; a module without power-mode presets keeps the not-applicable note; measured_25w is read as the 25 W ceiling, as elsewhere.
1.7.02026-09-272026-09-27Correction (bugs #219, #220). devkit: true with no carrier named now judges the rail against the module's developer-kit carrier row (Orin Nano and Orin Nano Super: 9–20 V, NVIDIA's carrier-board specification), not the bare module's 4.75–5.25 V VDD_IN: an Orin Nano developer kit on its own 19 V adapter was NO FIT with “use a 4.75–5.25 V supply”. The kit's 45 W adapter (from that carrier row, class C) is the available supply, so the PSU check is evaluated instead of UNKNOWN. detail.judged_against and detail.devkit_carrier publish which requirement was judged. Fixed-voltage boards now carry a sourced window around the stated input — Raspberry Pi 5 4.75–5.5 V (USB PD, class B), Hailo-8 / 8L 3.135–3.465 V (datasheet 3.3 V ± 5 %, class A), Coral 2.97–3.63 V M.2 (datasheet 3.3 V ± 10 %, class A) or 5 V USB — so the stated rail PASSes and 12 V or 24 V FAILs (NO FIT) where every rail read UNKNOWN and NEEDS VALIDATION. With several windows and a rail outside all of them, the nearest window is named.
1.6.02026-09-172026-09-26A requested power mode is a ceiling, resolved with the same rule as Hardware Match (bug #186). A mode the module lacks was mapped through the legacy-id table (AGX Orin 64GB 40w → 50W, above the request), read as a measured draw inside the envelope, or sized at the vendor maximum as “no power given”. It is now sized at the highest preset at or below the ceiling, with power_mode_request (requested_ceiling_w, selected_preset, selected_preset_w, resolution) and an informational note; with no preset within the ceiling a new power_mode_ceiling check FAILs (verdict NO FIT). A supported preset is unchanged.
1.52026-09-172026-09-24PoE-powered nodes resolve a poe_supply from the carrier's documented onboard 802.3 PD input or the registry's external 802.3bt splitter, and run poe_pd, input_voltage and psu_sizing against that supply instead of asking whether the module documents a PD path.
1.8.22026-09-172026-09-28Input rules (WP-01 remainder, WP-02): power_w, peripherals_w, supply_v, psu_w and peak_factor that are stated but malformed are rejected instead of defaulted; devkit and poe are strict booleans; peripherals_w, peak_factor, devkit and poe defaults are listed in provenance.defaulted. Unknown input keys are rejected. No formula changed.
1.8.32026-09-282026-09-29With neither power_w nor power_mode the module is sized at the vendor's maximum module power, as before, and that default is now listed in provenance.defaulted as power_mode (bug #257, WP-01): it was the one power default not recorded with the others. A named mode or explicit watts is never listed; a module with no maximum on record defaults nothing. No figure, check or verdict changed.
1.11.02026-09-292026-09-29Evidence labels (#279): AGX Orin developer-kit adapter wattage is class D (USB PD port ceiling); carrier input_v_range stamps match their sources; a missing devkit evidence_class is E, not A.
1.10.02026-09-282026-09-29elimination authority (#263, owner ruling 2026-09-29). The PSU check FAILs when the sustained draw alone exceeds the supply, or when the peak factor was stated; when only the default 1.5 factor (class E) takes the requirement over the supply it is REQUIRES VALIDATION (NEEDS VALIDATION, was NO FIT): the Raspberry Pi 5 developer kit on a 5 V / 3 A (15 W) supply, or with the full 8 W USB peripheral budget, is REQUIRES VALIDATION now. Every row publishes elimination_authority.
1.9.02026-09-282026-09-29Carrier module-power limit (bug #252, owner ruling 2026-09-29). NVIDIA’s Orin Nano developer-kit carrier supports all Orin NX modules, so the production-carrier registry lists Orin NX 16GB and 8GB on it (a named carrier was a 400 “does not list”; devkit: true on Orin NX was judged on the module rail). New conditional check carrier_module_power: when the board the module sits on states a limit for it, a preset the vendor names as unsupported FAILs (Orin NX 40W and MAXN_SUPER on the kit carrier, which feeds the module 5 V only), a preset within the carrier’s stated supply PASSes (25 W, class D), anything else is UNKNOWN. Orin NX with devkit: true is judged on the kit carrier’s 9–20 V jack.

Method changes bump the method version; new or re-verified module rows bump the dataset version. Both are in every result and in the citation block.