{
    "key": "arduino-uno-q-4gb",
    "kind": "board",
    "source": "platform-seed",
    "status": "draft",
    "harness": {
        "gpio": {
            "notes": "Two processors on one board. Debian runs on the QRB2210 application processor; the UNO headers are wired to the STM32U585 microcontroller, not to the QRB2210. Linux reaches header pins through the Arduino Bridge to the STM32 rather than through a local gpiochip, so a driver written against libgpiod pin numbers does not transfer unchanged. The exact bridge API and pin numbering are unconfirmed and must be established on hardware before any pin-based driver is marked verified.",
            "library": null,
            "pin_scheme": null
        },
        "flash": {
            "baud": null,
            "tool": "Arduino App Lab",
            "notes": "Debian is pre-installed on eMMC, so the Linux side is provisioned over the network like any other single board computer. The STM32U585 is flashed separately over USB when a sketch is used.",
            "method": "emmc",
            "port_hint": "/dev/ttyACM0"
        },
        "probe": {
            "commands": [
                "cat /proc/device-tree/model",
                "uname -m",
                "ls /sys/bus/iio/devices/*/name",
                "ls /sys/class/hwmon/*/name",
                "ls /sys/bus/w1/devices/",
                "i2cdetect -y 1",
                "lsusb",
                "ls /dev/serial/by-id/",
                "gpiodetect",
                "gpioinfo"
            ],
            "model_file": "/proc/device-tree/model",
            "overlay_file": null
        },
        "runtime": {
            "python3": true,
            "os_family": "debian",
            "package_manager": "apt",
            "service_manager": "systemd"
        },
        "verified": {
            "by": null,
            "os": null,
            "date": null,
            "reviewed_by": null,
            "evidence_url": null
        },
        "transport": {
            "ota": true,
            "tls": true,
            "notes": "The Linux side owns the network connection. A sketch on the STM32 reaches the broker through the Linux side, not directly.",
            "network": [
                "wifi",
                "bluetooth"
            ],
            "mqtt_client": "paho-mqtt"
        },
        "toolchains": [
            "Arduino App Lab",
            "Arduino CLI",
            "PlatformIO",
            "Docker"
        ],
        "local_inference": {
            "llm": {
                "notes": "4GB shared between the OS and the model. A 1B to 3B model at 4-bit is the realistic ceiling. Whether the Hexagon NPU can be used for language models through the Qualcomm stack on this board is unconfirmed.",
                "viable": true,
                "runtimes": [
                    "llama.cpp"
                ],
                "max_params_b": 3,
                "quantisation": [
                    "q4_k_m",
                    "q4_0"
                ],
                "max_model_size_gb": 2
            },
            "notes": "The most capable board here for its size and price, and the only one that is both a Linux host and a microcontroller in one package.",
            "tinyml": {
                "notes": "The QRB2210 carries a Hexagon DSP and Adreno GPU. Access through QNN on the shipped Debian image is unconfirmed.",
                "viable": true,
                "frameworks": [
                    "TensorFlow Lite",
                    "ONNX Runtime",
                    "Qualcomm QNN"
                ]
            },
            "viable": true,
            "accelerator": "npu",
            "usable_memory_gb": 4
        },
        "provisioning_model": "linux-agent",
        "component_attachment": "gpio-header",
        "supported_provisioning_models": [
            "linux-agent",
            "arduino-sketch"
        ]
    },
    "platform": {
        "cpu": "Qualcomm QRB2210 + STM32U585",
        "ram": "4GB LPDDR4X",
        "name": "Arduino UNO Q 4GB",
        "power": [
            {
                "source": "USB-C",
                "voltage_max": 5,
                "voltage_min": 5,
                "current_max_ma": 3000
            }
        ],
        "has_gpu": true,
        "has_npu": true,
        "has_tpu": false,
        "storage": "32GB eMMC",
        "weight_g": 40,
        "gpio_pins": 12,
        "board_type": "Single Board Computer / Microcontroller Hybrid",
        "interfaces": [
            {
                "type": "USB-C",
                "count": 1
            },
            {
                "type": "CSI",
                "count": 2
            },
            {
                "type": "DSI",
                "count": 1
            }
        ],
        "description": "Hybrid Qualcomm MPU + STM32 MCU board.",
        "adc_channels": 4,
        "dac_channels": 1,
        "manufacturer": "Arduino",
        "model_number": "ABX00173",
        "pwm_channels": 4,
        "datasheet_url": null,
        "dimensions_mm": "68.6 x 53.4",
        "serial_protocols": [
            {
                "count": 1,
                "protocol": "I2C"
            },
            {
                "count": 1,
                "protocol": "SPI"
            },
            {
                "count": 1,
                "protocol": "UART"
            }
        ],
        "operating_systems": [
            {
                "name": "Debian Linux"
            },
            {
                "name": "Zephyr OS"
            }
        ],
        "operating_voltage": "3.3V",
        "communication_chips": [
            {
                "protocol": "Wi-Fi",
                "standard": "802.11ac",
                "chip_model": "Qualcomm integrated"
            },
            {
                "protocol": "Bluetooth",
                "standard": "5.1",
                "chip_model": "Qualcomm integrated"
            }
        ]
    },
    "revision": 1
}