Skip to main content

RB3 Gen 2

Qualcomm's QCS6490 reference kit for robotics and edge AI, with Vision and Industrial mezzanines, production-ready with Avocado OS + Avocado Connect.

Avocado target namerb3gen2
Qualcomm RB3 Gen 2 Vision Kit with camera assembly
  • 12 TOPSAI Performance
  • QCS6490Octa-core Kryo 670 (6nm)
  • 8GBLPDDR4x Memory
  • 128GBUFS 2.2 Storage
  • Wi-Fi 6EBluetooth 5.2
  • PREEMPT_RTReal-time kernel + KVM

Photo: Qualcomm RB3 Gen 2 Vision Kit.

Overview

The Qualcomm RB3 Gen 2 is Qualcomm's own development kit for the QCS6490: a core board with the SoC, memory, storage and wireless, plus optional mezzanine boards that add the hardware for a use case. Qualcomm sells it as the Vision Kit (core kit plus the vision mezzanine and cameras) and the Industrial Kit (core kit plus the industrial mezzanine).

With Avocado OS the kit becomes a production target: an immutable, composable Linux base with secure OTA updates, rollback protection and fleet management through Avocado Connect. Each mezzanine is its own board support extension, so the same project targets the core kit or either mezzanine by naming the board.

Specifications

SpecificationValueNotes
ProcessorQualcomm QCS6490, Kryo 670 octa-core6nm process, Cortex-A78 and Cortex-A55 cores
AI Performance12 TOPSHexagon Processor with fused AI-accelerator
GPUAdreno 643
Memory8GB LPDDR4x
Storage128GB UFS 2.2Provisioned over USB in EDL mode
WirelessWi-Fi 6E, Bluetooth 5.2
MezzaninesVision (cameras, ISP), Industrial (discrete TPM)Selected per project by board name
OS SupportAvocado OS 2026 releaseStock and PREEMPT_RT kernels in the feed

Kits and board names

One Avocado target, rb3gen2, backs every kit. The mezzanine is chosen by the board name, which selects the matching BSP extension; the mezzanine extensions depend on the core-kit extension, so naming a mezzanine pulls both in order.

KitBoard nameBSP extensionAddsStatus
Core kit, no mezzaninerb3gen2 (default)avocado-bsp-rb3gen2Base board supportPublished, not yet validated on hardware
Vision Kitrb3gen2-visionavocado-bsp-rb3gen2-visionCamera pipeline: the CAMSS ISP and the cameras as V4L2 devicesValidated on hardware
Industrial Kitrb3gen2-industrialavocado-bsp-rb3gen2-industrialThe mezzanine's discrete TPMPublished, not yet validated on hardware

Set the board next to the target in avocado.yaml:

avocado.yaml
default_target: rb3gen2
default_target_board: rb3gen2-vision

AVOCADO_TARGET_BOARD=rb3gen2-vision in the environment or --target-board rb3gen2-vision on the command line does the same for one invocation; see Default target and board for the precedence rules. The mezzanine's device-tree overlay is built into the runtime image, so a core kit that was provisioned without a board can be moved to a mezzanine with an OTA update rather than a reflash.

On Avocado OS

  • 2026 release feed. The target is published on the 2026 release, next channel. avocado init writes a 2024 distro: block, so change it before the first install (see below).
  • Real-time and virtualization. The 2026 feed for this target carries both a stock and a PREEMPT_RT kernel; the project picks one with kernel.version. KVM is available on the RT kernel when the board runs the KVM firmware configuration.
  • Camera pipeline. With the Vision Kit board selected, the ISP comes up and the kit's cameras appear as /dev/video* devices.

Getting Started

Init, Install, & Build

Follow the Any Supported Target instructions under Getting Started to begin. This target is rb3gen2, available on the 2026 release feed. After avocado init --target rb3gen2, point the project at the 2026 feed and name your kit:

avocado.yaml
default_target: rb3gen2
default_target_board: rb3gen2-vision # or rb3gen2-industrial; omit for the core kit

distro:
release: 2026
channel: next

Then install and build as usual:

Host machine
avocado install
avocado build

Provision

Provisioning flashes Avocado OS to the kit's onboard UFS storage over USB while the SoC is in Qualcomm EDL (Emergency Download) mode. Connect a USB-C data cable from the kit's USB-C port to your host and put the kit into EDL mode following Qualcomm's RB3 Gen 2 documentation. Confirm it before flashing:

Host machine
lsusb

Look for a Qualcomm device with ID 05c6:9008. 05c6:900e is the SoC's dload/ramdump mode, where the board lands after a failed boot, not EDL; power-cycle the board into EDL again if you see it.

Enter EDL from a running device

If the kit is already running Avocado OS, you don't need the hardware key combo — reboot it straight into forced download mode from the serial console or over SSH:

Avocado OS
reboot edl

It re-enumerates on the host as 05c6:9008, ready to provision. This is also the quickest way to recover a kit that dropped to 05c6:900e: power-cycle it back to a booted state, then reboot edl.

Then provision the dev runtime with the ufs profile. The profile is required: it is what mounts the host's USB bus into the provisioning container.

Host machine
avocado provision -r dev --profile ufs

Run

Once provisioning completes, disconnect the USB-C data cable and power-cycle the kit. It boots Avocado OS from the onboard UFS storage. The root user is passwordless in the dev runtime used by this guide, and the avocado-ext-sshd-dev extension in the generated project brings up SSH.

Example project

KVM ivshmem zero-copy runs two KVM guests on the RB3 Gen 2's PREEMPT_RT kernel and passes data between them through shared host memory with no copies. It exercises the RT kernel selection, the mezzanine board flow and the EDL provisioning path described above, and is a working template for an extension-per-VM layout.