{
    "key": "arduino-nicla-voice",
    "kind": "board",
    "source": "platform-seed",
    "status": "draft",
    "harness": {
        "gpio": {
            "notes": "Castellated pads only. The board is built around its own microphone and IMU rather than around attaching external components.",
            "library": null,
            "pin_scheme": "arduino"
        },
        "flash": {
            "baud": null,
            "tool": "dfu-util",
            "notes": "The nRF52832 takes the sketch. The Syntiant NDP120 takes a separate model binary produced by Edge Impulse, flashed as its own step.",
            "method": "dfu",
            "port_hint": "/dev/ttyACM0"
        },
        "probe": {
            "commands": [
                "arduino-cli board list",
                "arduino-cli board details --fqbn <fqbn>"
            ],
            "model_file": null,
            "overlay_file": null
        },
        "runtime": {
            "python3": false,
            "os_family": null,
            "package_manager": null,
            "service_manager": null
        },
        "verified": {
            "by": null,
            "os": null,
            "date": null,
            "reviewed_by": null,
            "evidence_url": null
        },
        "transport": {
            "ota": false,
            "tls": null,
            "notes": "Bluetooth Low Energy only. No Wi-Fi and no Ethernet, so it cannot reach an MQTT broker on its own. It must pair with a gateway that does. Plan the gateway before buying the board.",
            "network": [
                "bluetooth"
            ],
            "mqtt_client": null
        },
        "toolchains": [
            "Arduino IDE",
            "Arduino CLI",
            "Edge Impulse"
        ],
        "local_inference": {
            "llm": {
                "notes": "Kilobytes of RAM. A general language model does not run here and never will. Send the reading to something that can.",
                "viable": false,
                "runtimes": [],
                "max_params_b": null,
                "quantisation": [],
                "max_model_size_gb": null
            },
            "notes": "Purpose-built for always-on audio inference. The model is trained off-device and deployed as a binary.",
            "tinyml": {
                "notes": "The NDP120 is a dedicated always-on neural decision processor. It runs wake-word and audio event models at microamp power levels, which is something no other board here can do.",
                "viable": true,
                "frameworks": [
                    "Edge Impulse",
                    "Syntiant NDP120 SDK"
                ]
            },
            "viable": true,
            "accelerator": "npu",
            "usable_memory_gb": null
        },
        "provisioning_model": "arduino-sketch",
        "component_attachment": "gpio-header",
        "supported_provisioning_models": [
            "arduino-sketch",
            "vendor-firmware"
        ]
    },
    "platform": {
        "cpu": "Nordic nRF52832 + Syntiant NDP120",
        "ram": "64KB SRAM",
        "name": "Arduino® Nicla Voice",
        "power": [
            {
                "source": "Micro USB",
                "voltage_max": 5,
                "voltage_min": 5
            }
        ],
        "has_gpu": false,
        "has_npu": true,
        "has_tpu": false,
        "storage": "512KB Flash",
        "weight_g": 2,
        "gpio_pins": 10,
        "board_type": "AI / Edge Computing",
        "interfaces": [
            {
                "type": "Micro USB",
                "count": 1
            }
        ],
        "description": "Always-on voice recognition board with Neural Decision Processor.",
        "adc_channels": 2,
        "dac_channels": 0,
        "manufacturer": "Arduino",
        "model_number": "ABX00061",
        "pwm_channels": 4,
        "datasheet_url": null,
        "dimensions_mm": "22.86 x 22.86",
        "serial_protocols": [
            {
                "count": 1,
                "protocol": "I2C"
            },
            {
                "count": 1,
                "protocol": "SPI"
            }
        ],
        "operating_systems": [
            {
                "name": "Arduino IDE"
            }
        ],
        "operating_voltage": "3.3V",
        "communication_chips": [
            {
                "protocol": "Bluetooth",
                "standard": "5.0",
                "chip_model": "u-blox ANNA-B112"
            }
        ]
    },
    "revision": 1
}