Official agent skill

Jetson Customize Camera

by NVIDIA in NVIDIA/skills

Enable MIPI/GMSL camera sensors on a Jetson Thor or Orin custom carrier by rendering a kernel-DT overlay from the in-tree sensor DTSI.

OfficialApache-2.0Auto-check passedAI & LLM Engineering

Install Jetson Customize Camera

skills CLI
$ npx skills add NVIDIA/skills --skill jetson-customize-camera -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install NVIDIA/skills jetson-customize-camera --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/NVIDIA/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/jetson-customize-camera .claude/skills/jetson-customize-camera && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
jetson-customize-camera
GitHub stars
3.5k
Token cost
~2.4k tokens
SKILL.md length
1,011 words
Files
11 (incl. references)
Skills in repo
380
Repo updated
First seen
Licence
Apache-2.0

At a glance

Enable MIPI/GMSL camera sensors on a Jetson Thor or Orin custom carrier by rendering a kernel-DT overlay from the in-tree sensor DTSI.

  • Works in 4 steps: Sensor selection — picked from the set… → Carrier + module support check —… → Wiring — derived from the in-tree → …
  • UPHY lane allocation
  • SKILL.md covers Overview, When to invoke, Procedure and Gotchas, plus 1 more section
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

Jetson Customize Camera is an agent skill from NVIDIA/skills, published by the product's own GitHub organization. Enable MIPI/GMSL camera sensors on a Jetson Thor or Orin custom carrier by rendering a kernel-DT overlay from the in-tree sensor DTSI. Do NOT use for UPHY lane allocation or ODMDATA edits.

Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 13 other files, including reference files (for example `BENCHMARK.md`, `evals/evals.json` and `references/camera-overlay-templates/README.md`).

It sits in AI & LLM Engineering, covering GPU and accelerator computing. It works with NVIDIA AI Platform. The repository describes itself as: Agent Skills for NVIDIA products — install into Claude Code, Codex, and other coding agents to run Physical AI, robotics, simulation, CUDA, and RAG workflows end to end. The licence is Apache-2.0.

When your agent uses it

  • UPHY lane allocation
  • Tasks that involve GPU and accelerator computing

Example prompts

  • “/jetson-customize-camera”

Requirements

  • Python 3

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. Sensor selection — picked from the set NVIDIA ships in-tree
  2. Carrier + module support check — verified against the Camera
  3. Wiring — derived from the in-tree
  4. Kernel-DT overlay — cpp-expand the in-tree DTSI, extract its

What it can do on your machine

Read from SKILL.md and the folder at commit 0e0d506. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    No scripts in the folder and no shell commands in SKILL.md.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Jetson Customize Camera loads about 2.4k tokens when it runs, and up to ~14k if it reads all its reference files. Until then it costs about 53 tokens; SKILL.md has 1,011 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~53
When it runs · the whole SKILL.md, loaded when a task matches
~2.4k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~14k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from NVIDIA/skills at commit 0e0d506, republished under its Apache-2.0 licence (© NVIDIA). 1,011 words, ~2,441 tokens.

Download SKILL.mdSave it as .claude/skills/jetson-customize-camera/SKILL.md (or your agent's skills folder). This skill also uses 10 other files; get the full folder from GitHub.
name
jetson-customize-camera
description
Enable MIPI/GMSL camera sensors on a Jetson Thor or Orin custom carrier by rendering a kernel-DT overlay from the in-tree sensor DTSI. Do NOT use for UPHY lane allocation or ODMDATA edits.
version
0.0.1
license
Apache-2.0
metadata.data-classification
public
metadata.author
Jetson Team
metadata.tags
bsp, phase-2, io, camera, csi
metadata.domain
meta

Customize camera (CSI / MIPI / GMSL sensor bring-up)

Overview

Tegra264 (Thor) and Tegra234 (Orin) expose a single tegra-capture-vi controller fronted by NVCSI and a fixed set of CSI ports. Camera bring-up is:

  1. Sensor selection — picked from the set NVIDIA ships in-tree .dtsi references for on the active platform.
  2. Carrier + module support check — verified against the Camera Development Guide, Adaptation Guide §Camera, carrier schematic, Module TRM, and carrier pinmap.
  3. Wiring — derived from the in-tree tegra<soc>-camera-<sensor>*.dtsi when one exists (the DTSI IS the wiring source of truth); captured per-sensor from the user when the sensor is custom.
  4. Kernel-DT overlay — cpp-expand the in-tree DTSI, extract its fragment@N body, append into the composite custom overlay .dts for the active target (per ../../references/bsp-customization-kernel-dtb.md), verify the composite with fdtoverlay. /jetson-build-source compiles the composite and owns the carrier conf's OVERLAY_DTB_FILE+= registration.

Agentic, not table-driven — sensor list is built at runtime by globbing in-tree per-sensor dtbos. No _THOR_CAMERAS dict, no questions.json, no Python renderer in the question path.

No ODMDATA edit — cameras don't consume UPHY lanes (CSI is a separate PHY pool). The skill emits only a kernel-DT overlay; the ODMDATA line in the carrier conf is untouched by this skill.

The output is one commit:

  • Camera fragment@N block (plus jetson-header-name on the composite root if not already present) appended to the composite custom overlay .dts per ../../references/bsp-customization-kernel-dtb.md → committed to the bsp_sources/ hardware repo. /jetson-build-source compiles the composite to .dtbo and owns its Makefile + flash-conf registration.

When to invoke

  • The user says "enable camera", "configure CSI", "wire a Hawk / Owl / IMX sensor", "MIPI camera", "GMSL camera", or asks to bring up tegra-capture-vi / NVCSI on a custom carrier.
  • Flash boots but v4l2-ctl --list-devices shows no tegra-capture-vi channels, OR sensor enumeration on a fresh daughter-card needs to be confirmed.
  • A sensor was previously enabled and the user wants to add another (multi-sensor bring-up).

Prerequisites:

  • Active profile with reference_devkit: + custom_carrier: blocks.
  • <source.root_path>/Linux_for_Tegra/.git exists (/jetson-init-source).
  • /jetson-derive-carrier has run — the carrier flash-conf fork is in the overlay tracker.
  • <source.root_path>/bsp_sources/hardware/nvidia/<chip-dir>/nv-public/overlay/ exists and contains the in-tree per-sensor .dtsi files (sourced by /jetson-init-source's Branch A archive extract).
  • <source.root_path>/bsp_sources/kernel/kernel-noble/include/dt-bindings/ contains the macro headers cpp needs (source_sync.sh may need to run if Branch B was used — see Step 5a.i below).
  • Source-of-truth docs registered or supplied at prompt: Camera Development Guide (in bsp_developer_guide mirror or separate path), Adaptation Guide §Camera, carrier schematic, SoC TRM, Module Design Guide.
  • dtc, cpp, fdtoverlay on PATH.

Procedure

Detailed step-by-step procedure (Steps 1–7, with all tables, code blocks, and gates) lives in references/procedure.md. Summary:

  1. Step 1 — Resolve active target + open source-of-truth docs.
  2. Step 2 — Enumerate supported sensors by globbing in-tree per-platform camera dtbos; classify as DPHY-direct / GMSL / custom. Never invent sensors.
  3. Step 3 / 3a — Cross-check carrier + module support against DTSI, Camera Development Guide, Adaptation Guide §Camera, SoC TRM, Module Design Guide, schematic, and carrier pinmap. Render the wiring table FIRST, then issue the confirm-or-customize gate.
  4. Step 4 (custom path only) — Batched per-sensor wiring questions auto-filled from the carrier pinmap.
  5. Step 5 — Append exactly ONE /* custom-bsp: camera:<sensor> */ fragment to the composite custom overlay .dts (see ../../references/bsp-customization-kernel-dtb.md). Clone path cpp-expands the in-tree DTSI; custom path splices Step-4 answers + mode tables in-place. Idempotently set jetson-header-name on the composite root. Verify with dtc + fdtoverlay (pre-compile single-fragment gate; post-compile deep-tree uniqueness gate). Commit via the workflow's commit-message preview gate.
  6. Step 6 — Verify ancillary CAM pin SFIOs (cam_i2c_*, extperiph<m>_clk, reset/PWDN/PWR_EN GPIOs) via pin_verifier.py; route mismatches to /jetson-customize-pinmux.
  7. Step 7 — Atomic-write run-state JSON sidecar at <workspace>/target-platform/<profile-stem>.jetson-customize-camera.json and emit the headline, then drive the downstream next-step chain via sequential AskUserQuestion prompts per references/procedure.md Step 7. The chain is a documented workflow gate, not a clarifying question — auto-mode does NOT exempt it. Never substitute a printed "Next step: …" line for the prompts.
Show full SKILL.md (392 more words)Show less

Gotchas

  • Dual-fragment trap. Contribute exactly ONE camera-tagged fragment@N to the composite. A second one carrying status overrides triggers dtc deep-merge → duplicate sibling subtrees (e.g. two tca9546@70) → runtime first-match drops the dtsi- supplied deep tree → camera silently doesn't enumerate. Gate on this skill's marker only (Step 5c).
  • Composite root compatible is owned globally, not by this skill. Don't widen from any in-tree per-sensor dtbo's compatible (devkit-SKU-gated). Fix the composite root if needed.
  • jetson-header-name from any in-tree per-sensor dtbo. Fixed, carrier-agnostic; read once, paste onto the metadata root.
  • DO NOT also append the in-tree per-sensor dtbo to OVERLAY_DTB_FILE. Registering both your rendered overlay AND the in-tree tegra<soc>-p3971-camera-<sensor>-overlay.dtbo produces a phantom subdev bind that bricks camera enumeration.
  • Stub overlay is a known footgun. Committing tegra-capture-vi { status="okay"; num-channels=<N>; } with no ports / sensor / nvcsi body bricks the camera (all channel init failed). Splice the FULL sensor body via cpp + dtc.
  • Sensor mode tables must be spliced, never hand-authored. mode<N>, sensor_modes, pixel_phase — copy verbatim from the closest in-tree DTSI.
  • camera_common_regulator_get (null) ERR: -EINVAL = missing avdd-reg / iovdd-reg / dvdd-reg strings — splice the FULL sensor body; always-on rails fall back to dummy regulator.
  • External &label refs must exist in base DTB's __symbols__. Use target-path = "/tegra-capture-vi" when the label is absent; fdtoverlay exits non-zero with FDT_ERR_NOTFOUND otherwise.
  • cpp failure on dt-bindings/gpio/gpio.h: No such file = L4T source tree isn't staged. Re-run /jetson-init-source (Branch B's source_sync.sh fetches the headers). Never fabricate the macro expansion.
  • No ODMDATA edit, no flash-conf edit. Camera doesn't consume UPHY lanes. The carrier conf's ODMDATA="..." is untouched. OVERLAY_DTB_FILE+= is owned by /jetson-build-source Step 5.0a — this skill never touches the carrier flash conf.
  • Don't touch the upstream BSP at <bsp_image.root_path>. All edits land in <source.root_path>/Linux_for_Tegra/ (overlay tracker) and <source.root_path>/bsp_sources/ (overlay .dts) under the pristine + customization commit pattern.

References

© NVIDIA, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 10 other files (references) in skills/jetson-customize-camera of NVIDIA/skills.

  • SKILL.md
  • BENCHMARK.md
  • evals/evals.json
  • references/camera-overlay-templates/README.md
  • references/camera-overlay-templates/dphy-direct.dts.tmpl
  • references/camera-overlay-templates/gmsl-serdes.dts.tmpl
  • references/csi-dt-bindings.md
  • references/overlay-template.md
  • references/procedure.md
  • skill-card.md
  • skill.oms.sig

Open the folder on GitHubat commit 0e0d506

Compare with similar skills

Jetson Customize Camera next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Jetson Customize Camera compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Jetson Customize Camera this skillNVIDIA/skills3.5k—~2.4kAutomated safety check: PassApache-2.0
Fla Triton To Gluonfla-org/flash-linear-attention5.8k—~4.2kAutomated safety check: PassMIT
DGX Spark Memory and Thermal Opswshobson/agents40k1 repos~2kAutomated safety check: PassMIT
DGX Spark Training Gotchaswshobson/agents40k1 repos~2kAutomated safety check: PassMIT
Megatron-LM on SLURMNVIDIA/Megatron-LM18k—~1.8kAutomated safety check: PassApache-2.0
OpenVLA-OFT Fine-TuningOrchestra-Research/AI-Research-SKILLs13k1 repos~3.7kAutomated safety check: PassMIT

Similar skills

  • Fla Triton To Gluon

    fla-org/flash-linear-attention

    Workflow for porting an existing Triton kernel in fla/ops/ to Gluon (triton.experimental.gluon) to gain explicit control over tensor layouts, shared memory, async data movement (cp.async / TMA), MMA…

    5.8k GitHub stars~4.2k tokensUpdated yesterday
    AI & LLM EngineeringAuto-check passed
  • Plans memory headroom, works through out-of-memory failures and watches temperature and power during long ML training jobs on NVIDIA DGX Spark.

    40k GitHub starsUsed in 1 repo~2k tokens
    AI & LLM EngineeringAuto-check passed
  • Preflight checks and diagnosis for ten known failure modes of ML training on NVIDIA DGX Spark's GB10, spanning launch errors, memory, thermals, bandwidth and precision.

    40k GitHub starsUsed in 1 repo~2k tokens
    AI & LLM EngineeringAuto-check passed
  • Megatron-LM on SLURM

    NVIDIA/Megatron-LM

    Official

    Shows how to launch distributed Megatron-LM training on a SLURM cluster: sbatch skeleton, torch.distributed.run setup, CUDA_DEVICE_MAX_CONNECTIONS rules and failure diagnosis.

    18k GitHub stars~1.8k tokensUpdated today
    AI & LLM EngineeringAuto-check passed
  • OpenVLA-OFT Fine-Tuning

    Orchestra-Research/AI-Research-SKILLs

    Fine-tunes and evaluates OpenVLA-OFT and OFT+ robot policies with LoRA and continuous action heads on LIBERO simulation and ALOHA real-robot setups.

    13k GitHub starsUsed in 1 repo~3.7k tokens
    AI & LLM EngineeringAuto-check passed
  • Cosmos Policy Evaluation

    Orchestra-Research/AI-Research-SKILLs

    Sets up and runs NVIDIA Cosmos Policy evaluations on the LIBERO and RoboCasa simulators, including headless GPU rendering and inference latency profiling.

    13k GitHub stars~3.7k tokensUpdated 3 mo ago
    AI & LLM EngineeringAuto-check passed

More from NVIDIA/skills

All 380 skills in this repo
  • Official

    A skill your agent uses when the user wants to deploy, run, debug, tear down, or call the REST API of the RTVI-CV 2D detection / tracking microservice.

    3.5k GitHub starsUsed in 1 repo~4.5k tokens
    Auto-check passed
  • Official

    Generates, validates, compares and explains HOLOLINK_def.svh macro files for the HSB IP, using bundled Python scripts and asking before it writes anything.

    3.5k GitHub stars~2.9k tokensUpdated today
    Auto-check passed
  • Official

    Runs and validates an end-to-end Mission Control demo in a locally installed Isaac Sim, with a Nova Carter robot driven through a Python server.

    3.5k GitHub stars~4.8k tokensUpdated today
    Auto-check passed
  • Orchestrates defect image generation for PCBA, metal surface and glass inspection with NVIDIA Cosmos AnomalyGen on OSMO, from cold-start Day 0 to real-photo Day 1 labeling.

    3.5k GitHub stars~5k tokensUpdated today
    Auto-check: notes
  • Orchestrates video data augmentation and auto-labeling workflows on OSMO, from flow selection and preflight checks to submission, monitoring and output download.

    3.5k GitHub stars~4.7k tokensUpdated today
    Auto-check: notes
  • Official

    Runs NVIDIA TAO Data Services KPI analysis on object detection results, comparing predictions to ground truth and writing per-class precision, recall and AP to a CSV.

    3.5k GitHub stars~2.7k tokensUpdated today
    Auto-check: notes

Questions about Jetson Customize Camera

What does Jetson Customize Camera do?

Enable MIPI/GMSL camera sensors on a Jetson Thor or Orin custom carrier by rendering a kernel-DT overlay from the in-tree sensor DTSI. Jetson Customize Camera is an agent skill from NVIDIA/skills, published by the product's own GitHub organization. Enable MIPI/GMSL camera sensors on a Jetson Thor or Orin custom carrier by rendering a kernel-DT overlay from the in-tree sensor DTSI.

When should I use Jetson Customize Camera?

Jetson Customize Camera fits situations like: UPHY lane allocation; tasks that involve GPU and accelerator computing.

How do I install Jetson Customize Camera in Claude Code?

Run `npx skills add NVIDIA/skills --skill jetson-customize-camera -a claude-code`. Or copy the skill folder (skills/jetson-customize-camera in NVIDIA/skills) into .claude/skills/jetson-customize-camera in your project. Claude Code loads it when a task matches its description.

How do I install Jetson Customize Camera in Codex?

Run `npx skills add NVIDIA/skills --skill jetson-customize-camera -a codex`. Or copy the skill folder (skills/jetson-customize-camera in NVIDIA/skills) into .agents/skills/jetson-customize-camera in your project. Codex loads it when a task matches its description.

Can I use Jetson Customize Camera in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add NVIDIA/skills --skill jetson-customize-camera -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/jetson-customize-camera, .gemini/skills/jetson-customize-camera, .github/skills/jetson-customize-camera and .opencode/skills/jetson-customize-camera in your project.

What does Jetson Customize Camera need to run?

SKILL.md names no scripts, command-line tools or credentials: Jetson Customize Camera is instructions for the agent only. Our summary lists: Python 3.

Does Jetson Customize Camera access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Jetson Customize Camera safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Jetson Customize Camera use?

Jetson Customize Camera is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Jetson Customize Camera use?

About 2.4k tokens (SKILL.md is roughly 9.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 12k tokens, read only when the agent opens those files.

What are the alternatives to Jetson Customize Camera?

Skills that share tags, products or a category with Jetson Customize Camera: Fla Triton To Gluon (fla-org/flash-linear-attention, 5.8k stars), DGX Spark Memory and Thermal Ops (wshobson/agents, 40k stars), DGX Spark Training Gotchas (wshobson/agents, 40k stars) and Megatron-LM on SLURM (NVIDIA/Megatron-LM, 18k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Jetson Customize Camera?

NVIDIA (a GitHub organization, an official publisher) maintains it in NVIDIA/skills, which has 3,534 GitHub stars. The repository holds 380 skills in this directory. The repository was last updated on October 7, 2026.

Source: NVIDIA/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.