Embedded Software Blog
Technical deep-dives on NVIDIA Jetson, MediaTek Genio, camera drivers, and EdgeAI deployment.
Jetson camera works with v4l2-ctl but fails to launch argus_camera — debug guide
Why your Jetson camera works with v4l2-ctl but argus_camera fails — tegra-camera DT node issues, sensor mode tables, and the V4L2-to-Argus fault path.
PREEMPT_RT real-time kernel on Jetson Orin — build, latency, and thread setup
Build and run a PREEMPT_RT real-time kernel on Jetson Orin for low-latency control — cyclictest, isolcpus, and SCHED_FIFO thread setup.
Jetson Orin silent GPU hang under sustained compute — host1x debug
Debug silent GPU hangs on Jetson Orin AGX under sustained compute — host1x interrupt stalls, tegrastats, and known JP 6.x mitigation steps.
C-PHY and D-PHY routing on Jetson Orin custom carrier boards — hardware design guide
Hardware routing guide for C-PHY and D-PHY MIPI lanes on Jetson Orin custom carrier boards — trace length, impedance, and layout rules.
Flashing a custom Yocto image to Jetson Orin Nano Super — NVMe and eMMC
Flash a custom Yocto image to Jetson Orin Nano Super — NVMe and eMMC targets, flash.sh options, and partition layout for custom Yocto builds.
GMSL YUV422 capture and FORCE_FE errors on Jetson Orin — debug guide
Debug GMSL YUV422 capture issues on Jetson Orin — FORCE_FE decoder config, partial frame faults, and MAX9295/MAX9296 YUV format setup.
nvcompositor vs parallel GStreamer pipelines on Jetson Orin — when each is slower
When to use nvcompositor vs parallel GStreamer pipelines on Jetson Orin, why compositor is slower, and how to choose the right path for your workload.
GPIO and PWM configuration on Jetson Orin — pinmux, sysfs, and device tree
Configure GPIO output and PWM on Jetson Orin using sysfs, the pinmux spreadsheet, and device tree overlays — with working examples for each approach.
Jetson Orin SHUTDOWN_REQ* signal — power loss behavior and carrier board design
How Jetson Orin handles sudden power loss through SHUTDOWN_REQ*, carrier board design requirements, and graceful shutdown sequence implementation.
Running LLMs on Jetson Orin — llama.cpp, Ollama, and jetson-containers
Run LLMs on Jetson Orin using llama.cpp, Ollama, and jetson-containers. Model quantization, memory limits, and performance benchmarks by SKU.
Adding GStreamer plugins to MediaTek Genio IoT Yocto
How to add GStreamer plugins to a Genio Yocto build: which packages to add, how to use bbappend, and how to verify plugins at runtime.
MIPI CSI-2 from an FPGA on Jetson Orin — nvcsi deskew and custom source bring-up
Bring up a MIPI CSI-2 source from an FPGA on Jetson Orin — handling nvcsi deskew calibration, clock errors, and short frame faults.
Jetson Orin rootfs-ab slot switches to B unexpectedly — nvbootctrl debug
Why Jetson Orin switches to the B rootfs partition on reboot, how nvbootctrl works, and how to prevent unwanted slot switches with retry counters.
How to enable CSI0 on Jetson Orin in the device tree
Enable CSI0, CSI1, and CSI2 on Jetson Orin by configuring nvcsi and VI device tree nodes, port status, and lane count in your DT overlay.
Jetson Orin high RAM usage at idle — tegrastats and memory reduction
Why Jetson Orin reports high RAM usage at idle and how to reduce it — tegrastats, IOVA carveouts, CMA, video decoder reservations explained.
Jetson Orin UEFI boot sequence: MB1, MB2, TF-A, UEFI, and kernel
How Jetson Orin boots from power-on through MB1, MB2, TF-A, UEFI, and extlinux to the kernel — and how to customize each stage.
HDMI troubleshooting on MediaTek Genio: common failures and fixes
Fixes for HDMI no-signal, wrong resolution, color issues, and audio over HDMI on MediaTek Genio running IoT Yocto with Weston.
Real-Time Linux on MediaTek Genio: PREEMPT-RT, Jailhouse, and RITY
What real-time Linux options exist on MediaTek Genio, what each approach delivers, and how to choose between PREEMPT-RT, Jailhouse, and RITY.
nvargus crash and CaptureScheduler deadlock on Jetson — debug guide
Debug nvargus core dumps and CaptureScheduler deadlock on Jetson. libargus logs, JP6 libnvscf regression, and watchdog recovery patterns.
MediaTek Genio for computer vision: a practical guide
Build a computer vision pipeline on MediaTek Genio. Camera capture, GStreamer, OpenCV, TFLite NPU inference, and end-to-end object detection pipeline examples.
MediaTek Genio for industrial automation
MediaTek Genio for industrial automation. TSN networking, OPC-UA, real-time Linux, deterministic control, Jailhouse hypervisor, and industrial protocol support.
MIPI CSI camera driver setup on MediaTek Genio
How to set up a MIPI CSI-2 camera on MediaTek Genio: device tree, sensor driver, seninf, V4L2 pipeline, and capturing frames with GStreamer.
On-device AI without the cloud on MediaTek Genio
Run AI inference on MediaTek Genio without cloud. NeuroPilot NPU, TFLite, ONNX Runtime, model conversion, and practical deployment patterns for edge AI.
Commercializing a product with Ubuntu on MediaTek Genio
Ship a product on Ubuntu on MediaTek Genio. Ubuntu Pro for Devices, snap packaging, OTA updates, Canonical certification, and long-term support.
Ubuntu vs Yocto on MediaTek Genio: which to choose
Compare Ubuntu and Yocto for MediaTek Genio. Development speed, image size, BSP support, commercialization, and which fits your project stage and team.
Building a custom Yocto meta layer for MediaTek Genio
Create a custom Yocto meta layer for MediaTek Genio. layer.conf, kernel bbappend, DTS overlays, machine config, custom distro, and the RITY skeleton pattern.
Docker with GPU acceleration on MediaTek Genio
Run GPU-accelerated Docker containers on MediaTek Genio. Add meta-virtualization to Yocto, pass Mali GPU and peripherals, and run inference in containers.
What is RITY? MediaTek's Genio reference distribution explained
RITY is MediaTek's reference Yocto distribution for Genio. Distro variants, layer structure, packagegroups, KAS build system, and what RITY is not.
SPI and I2C peripheral setup on MediaTek Genio
Set up SPI and I2C peripherals on MediaTek Genio EVK. Bus detection, i2cdetect, spidev_test, DTS pin configuration, and both 510/700 and 520/720 EVK mappings.
Linux containers on MediaTek Genio with Yocto
Run Docker and LXC containers on MediaTek Genio with Yocto. Add meta-virtualization, enable cgroup v2, configure container runtimes, and pass hardware devices.
NDA vs public Yocto build on MediaTek Genio: what's the difference
What the NDA build unlocks on MediaTek Genio, what the public build includes, and when you actually need the NDA to ship a product.
ISP differences between Genio 510/700 and Genio 520/720
What changed in the MediaTek Genio ISP between Gen 1 (510/700) and Gen 2 (520/720): pipeline depth, virtual channels, and camera driver differences.
MediaTek Genio SoC longevity and supply plan for product design
MediaTek Genio longevity commitments, 10-year supply windows, and how to plan around SoC transitions in embedded product design.
Best Companies for Custom Camera Driver Development on NVIDIA Jetson
Comparing the top options for V4L2, MIPI CSI, and GMSL2 camera driver development on NVIDIA Jetson — specialists, hardware vendors, and freelancers.
Jetson Nano Remote Access Setup: SSH, VNC, and NoMachine
How to set up remote access on Jetson Nano with JetPack 4.x — SSH, VNC with Vino or x11vnc, and NoMachine for a full desktop experience.
MAX96705 GMSL Camera Driver on Jetson (It's GMSL1, Not GMSL2)
How to bring up a MAX96705 GMSL camera on NVIDIA Jetson, and the key difference between GMSL1 (MAX96705/MAX9286) and GMSL2 (MAX9295/MAX9296).
Yocto build guide for MediaTek Genio: complete walkthrough
How to build the IoT Yocto BSP for MediaTek Genio from scratch. Host setup, kas, manifest, NDA flag, flashing, and common build errors.
nvdrmvideosink and gdkpixbufoverlay on Jetson: Working Pipeline
How to use nvdrmvideosink with gdkpixbufoverlay for image overlays on Jetson GStreamer pipelines, including the NVMM memory path and caps chain.
How to Reduce End-to-End Latency in a GStreamer Pipeline on Jetson
Practical techniques for reducing GStreamer pipeline latency on NVIDIA Jetson: sync flags, queue tuning, NVMM memory, and hardware decode paths.
Who Can Help Fix Camera Integration Issues on NVIDIA Jetson?
Stuck on IMX sensor bring-up, GStreamer caps failures, or Argus not capturing on Jetson? Here is what the problem usually is and who can actually fix it.
APU, NPU, VPU, and MDLA on MediaTek Genio: what each one does
Clear explanation of APU, NPU, VPU, and MDLA on MediaTek Genio. What each accelerator handles, which Genio SoCs include them, and when to use each.
GStreamer + waylandsink on MediaTek Genio: display output setup
How to use waylandsink on MediaTek Genio for Wayland display output. Pipeline setup, multi-display config, and fixes for common failures.
GMSL2 vs FPD-Link III for Jetson: SerDes comparison
Compare GMSL2 and FPD-Link III for Jetson cameras. Cable distance, data rate, multi-camera topology, PoC, driver support, and which SerDes to choose.
Jetson Orin AGX vs Orin NX vs Orin Nano: which to pick
Compare Jetson AGX Orin, Orin NX, and Orin Nano on TOPS, memory bandwidth, I/O, power, and price. Pick the right module for your edge AI project.
BSP Development Cost: DIY vs Outsource on NVIDIA Jetson
BSP development cost on NVIDIA Jetson: 3-6 months to hire, $150K-$200K fully-loaded annual cost vs a fixed-bid outsource engagement. The real numbers.
ProventusNova vs In-House Embedded Hire: Real Cost Comparison
Outsource embedded software development vs hire: time-to-hire is 3-6 months, ramp is 2-3 months more. We run the math on the real cost for EdgeAI startups.
Python to C++: 4x Latency Reduction on Jetson
Python to C++ on Jetson: 4x latency cut via GStreamer + TensorRT. Profiler output, NVMM buffer path, and the exact changes that took 280ms to 68ms.
TensorRT vs DLA on Jetson Orin: When to Use Each
TensorRT vs DLA on Jetson Orin: decide based on layer compatibility, latency vs throughput, and power budget. A practical decision framework for ML engineers.
How to create a hardware-accelerated GStreamer pipeline for live streaming on Jetson
Build a low-latency GStreamer live streaming pipeline on NVIDIA Jetson using nvv4l2h264enc and udpsink or gst-rtsp-server. RTSP, UDP, and SRT examples.
MediaTek Genio for industrial edge AI: thermal, BSP, and longevity
Is MediaTek Genio suitable for industrial edge AI products? Assessment of thermal design, BSP maturity, long-term supply, OTA updates, and what to verify.
Running inference on MediaTek Genio: NeuroPilot, TFLite, and ONNX
How to run offline inference on MediaTek Genio using NeuroPilot SDK, TFLite APU delegate, and ONNX. Model conversion workflow, supported ops, and latency.
Real-time video on MediaTek Genio: GStreamer pipeline setup
GStreamer pipeline setup for MediaTek Genio real-time video. Hardware-accelerated encode/decode elements, V4L2 camera input, known limitations, and.
Argus camera driver on Jetson: nvarguscamerasrc setup, ISP pipeline, and debugging
Set up the Argus camera driver on NVIDIA Jetson: nvargus-daemon, nvarguscamerasrc pipelines, LibArgus C++ API, ISP features, and common Argus errors debugged.
How to use flash.sh on Jetson Orin: parameters, board configs, and common errors
Using flash.sh on Jetson Orin: board configs, recovery mode, partial flash with -k, custom carrier board workflow, and the 5 most common flash errors fixed.
GStreamer pipeline examples for Jetson: nvarguscamerasrc, nvvidconv, encode, and decode
GStreamer pipeline examples for Jetson: nvarguscamerasrc, v4l2src, hardware H.264/H.265 encode, nvv4l2decoder, nvvidconv, kmssink, and debugging commands.
Third-party NVIDIA Jetson carrier board manufacturers compared for edge AI
Third-party Jetson carrier board manufacturers compared: Connect Tech, Leopard Imaging, FRAMOS, Auvidea, Tier IV, Seeed Studio. BSP quality and GMSL2 support.
MediaTek Genio for robotics edge AI: inference, camera, BSP reality
Is MediaTek Genio viable for robotics edge AI? Honest assessment of inference latency, camera pipeline, ROS 2 support, and BSP limitations for robotics builds.
Genio 510 vs 700 vs 1200: which MediaTek module for your product
MediaTek Genio 510 vs 700 vs 1200 comparison for embedded AI products. AI TOPS, camera lanes, memory, power, and which module fits which application.
MediaTek Genio vs NVIDIA Jetson Orin: which platform for edge AI
MediaTek Genio vs NVIDIA Jetson Orin for edge AI products. Compute, camera support, BSP maturity, ecosystem, and which platform wins for robotics.
Choosing a GMSL2 carrier board for Jetson Orin: what to check
How to evaluate a GMSL2 carrier board for Jetson Orin before you buy. Port count, deserializer chipset, BSP support, and the questions most vendors don't.
GMSL2 multi-camera sync on Jetson Orin: FSYNC setup guide
GMSL2 multi-camera frame sync for Jetson Orin: FSYNC path, virtual channel assignment, MAX96724 topology, GStreamer pipeline, and verification.
GMSL2 cameras on a custom carrier board: what's different
GMSL2 camera bring-up on a custom Jetson carrier board differs from devkit in specific, predictable ways. I2C bus, NVCSI routing, GPIO assignments, and.
Custom GMSL2 camera driver for Jetson: V4L2 subdev
Write a custom GMSL2 sensor driver for Jetson Orin. tegra-camera-platform ops, sensor mode table, register tables, SerDes integration, and troubleshooting.
GMSL2 camera driver on Linux: V4L2, MAX9296 kernel driver, device tree
How to set up a GMSL2 camera driver on Linux for Jetson. MAX9296A deserializer kernel driver, V4L2 subdev chain, device tree structure, and common probe.
GMSL2 camera not working on Jetson: 5 failure modes
GMSL2 camera not working on Jetson Orin? These 5 failure modes cover link lock failure, I2C tunnel issues, MIPI misconfiguration, address conflicts, and.
GMSL2 camera bring-up on Jetson Orin: MAX9295/MAX9296 setup
Step-by-step GMSL2 camera bring-up on Jetson Orin with MAX9295A and MAX9296A. Link lock, I2C tunnel, device tree, and first frame verification.
GMSL2 SerDes explained: MAX9295 and MAX9296 for Jetson bring-up
GMSL2 SerDes bring-up on Jetson using MAX9295A serializer and MAX9296A deserializer. Link lock sequence, I2C tunneling, MIPI output, and device tree setup.
5 Signs Your GMSL2 Camera Integration on Jetson Will Miss Your Milestone
GMSL2 camera integration on Jetson stalling? Five warning signs -- link lock, frame drops, V4L2 errors, latency, multi-camera failures -- with root causes.
Jetson multi-camera sync: CSI hardware trigger setup
Synchronize multiple CSI cameras on Jetson with hardware trigger sync. FRSYNC GPIO, DTS config, sensor trigger mode, GStreamer pipeline, and verification.
How to write a V4L2 MIPI camera driver for Jetson
Step-by-step guide to writing a custom V4L2 MIPI camera driver for NVIDIA Jetson using the tegra-camera-platform framework. Sensor ops, mode tables, DTS.
V4L2 uncorr_err on Jetson: what it means and how to fix it
The uncorr_err from tegra-camrtc-capture-vi on Jetson means the CSI receiver is getting corrupted MIPI data. Here are the 5 most common root causes and.
IMX sensor on Jetson: I2C detects but no frames, 5 root causes
i2cdetect finds your IMX477, IMX283 or IMX412 on Jetson, /dev/video0 exists, but streaming returns zero frames. Here are the 5 reasons this happens and.
CSI camera driver on Jetson: V4L2, Argus, and IMX sensor bring-up
How to bring up a CSI camera driver on NVIDIA Jetson. Covers V4L2 vs Argus, IMX sensor devicetree config, media-ctl debugging, and the 5 most common failures.
Ethernet PHY bring-up on Jetson Orin: DP83867 and EQOS RGMII
TI DP83867 PHY not working on Jetson Orin custom carrier board? Here are the EQOS RGMII timing, MDIO pinmux, and device tree configuration issues that.
MediaTek Genio boot flow: from power-on to Linux
MediaTek Genio boot sequence: TF-A, OP-TEE, U-Boot through Linux. Covers partition layout, boot_conf overlay loading, and strapping for custom carrier boards.
nvvidconv performance collapse with multiple GStreamer processes on Jetson
Running multiple GStreamer pipelines as separate processes on Jetson? nvvidconv throughput can drop 5-10x. Here's why VIC contention causes it and the.
GStreamer hardware-accelerated pipeline on Jetson
Fix slow GStreamer pipelines on NVIDIA Jetson. Replace videoconvert with nvvidconv, use nvv4l2decoder, and keep data in NVMM to cut CPU load by 60–80%.
OpenCV with CUDA on Jetson: CUDA_ARCH_BIN, cmake flags, JetPack 5 and 6
Install OpenCV with CUDA on Jetson from source. cmake flags, CUDA_ARCH_BIN per module, swap setup, JetPack 5 and 6 differences, and troubleshooting.
MediaTek Genio hardware design: what the EVK doesn't warn you about
Hardware design gotchas moving from the MediaTek Genio EVK to a custom board: HDMI absence, SoC name mapping, pin conflicts, PMIC timing, and strapping.
Jetson remote desktop: NoMachine, VNC, xrdp & headless
Set up NoMachine, VNC, or xrdp on any NVIDIA Jetson. Includes the JetPack 6 Wayland fix, headless display setup, persistent service config, and firewall ports.
DWC3 error -71 on Jetson: the JetPack 6 clock reference fix
dwc3 error -71 on Jetson Orin under JetPack 6 means a missing ref clock in the device tree. Here's the exact dmesg pattern, why it regressed in L4T R36.
Yocto for MediaTek Genio: meta-mediatek-bsp setup guide
Yocto for MediaTek Genio using meta-mediatek-bsp. Layer setup, machine configs, NDA vs public BSP, RITY OS reference distro, and the multimedia stack.
JetPack versions and L4T compatibility: complete reference table
Complete JetPack version to L4T, CUDA, TensorRT, and supported module reference table. Includes how to check your running version and key differences.
JetPack 5 to 6 migration: what breaks and how to fix it
JetPack 5 to 6 is a full platform jump, not a package update. CUDA 11→12, cuDNN 8→9, Ubuntu 20→22, camera drivers, TRT engines, and kernel modules.
Jailhouse hypervisor on MediaTek Genio: bare-metal isolation on Linux
Jailhouse hypervisor on MediaTek Genio 720: cell config, GIC addresses, required kernel patches, MTK vendor config, and IVSHMEM communication.
Jetson UEFI shell at boot: assertion errors and how to recover
Dropped into the UEFI shell on Jetson Orin? Here's why it happens, from QSPI bootloader corruption to DTB mismatches, and the exact steps to recover.
Jetson A/B OTA updates: what breaks on custom carrier boards
Jetson Orin A/B slot OTA updates fail differently on custom carrier boards than on devkits. Slot switching not persisting, rollback protection blocks, and.
What engineers wish they'd known before their first Jetson carrier board
Hard-won lessons from Jetson custom carrier board bring-up: what experienced engineers do differently the second time, covering BSP, hardware design, and.
Hardware design mistakes that cause Jetson carrier board bring-up failures
The hardware design mistakes that reliably cause Jetson carrier board bring-up failures: power sequencing, EEPROM errors, ODMDATA mismatches, and PCB.
Jetson Carrier Board Not Booting: 6 Root Causes Nobody Documents
Jetson carrier board not booting? Six root causes -- EEPROM, ODMDATA, power sequencing, boot device, device tree, partial flash -- with how to diagnose each.
Custom Carrier Board Not Booting on Jetson Orin: Fixed in One Session
Custom carrier board not booting on Jetson Orin? Farmhand AI's board booted in one session. Three BSP parameters cause most Jetson bring-up failures.
JetPack 6 USB Enumeration Failure: Root Cause in 4 Hours
JetPack 6 USB enumeration failure? Root cause found in 4 hours for UncommonLab. Learn the 4 device tree mismatches that break USB on L4T R36.
The 30% Tax™ Is Not an Upwork Problem. It's a Jetson Expertise Problem.
20-30% of every engineering hour on Jetson BSP work is platform ramp. It hits internal teams the same as contractors. Here's what it costs and why.
Top 5 Embedded Software Companies for Jetson EdgeAI
The 5 best embedded software companies for NVIDIA Jetson EdgeAI projects. Platforms, pricing, delivery guarantees, and honest trade-offs compared.
Hire an Embedded Engineer for Jetson or Use a Specialist?
Hiring a Jetson embedded engineer takes 4 months. ProventusNova delivers board bring-up in 7 days. Compare costs, timelines, and risk before you decide.
Upwork Embedded Engineer for Jetson vs ProventusNova
Hiring a Jetson embedded engineer on Upwork vs ProventusNova? Compare ramp time, IP transfer, pricing, and delivery guarantees before you decide.
Toradex Jetson Alternative for Custom Carrier Board Bringup
Need a Toradex Jetson alternative for custom carrier board bring-up? Learn when Toradex fits and when you need a bring-up specialist like ProventusNova.
GStreamer alternatives for Jetson: ProventusNova vs RidgeRun compared
Looking for GStreamer alternatives on NVIDIA Jetson? Compare ProventusNova and RidgeRun on scope, pricing, and turnaround for BSP, drivers, and pipeline work.
ProventusNova vs Elixir Embedded: Which Is Right for Your EdgeAI Hardware Project?
Elixir Embedded vs contractor for NVIDIA Jetson EdgeAI? Honest breakdown of what each specializes in, where each wins, and how to decide.