Skip to content

IPRO7AI

IPRO7AI is the same die as IPRO7 with the NPU enabled and 8 MB of PSRAM and the flash in the package; CPU, wireless and peripherals are the same as IPRO7. It is the main chip of the IPRO7AI Reef EVK. In this release it runs camera object recognition, the three IPRO AI Teach tools and on-board inference for IPRO AI Studio.

0.1 TOPSNPU
8 MBPSRAM in the package
IPRO7AI--chip-variant when flashing
libai.aprebuilt inference runtime

Differences from IPRO7

Item IPRO7AI
NPU Enabled, 0.1 TOPS; the NPU's activation buffers live in PSRAM, so every AI application needs PSRAM
PSRAM 8 MB in the package, at 0x1e000000
Flash In the package. The SDK links a 1 MB layout by default; CONFIG_IPRO7_FLASH_2M=y selects the 2 MB layout. The .config of ipro7ai_reef_demo notes that you can add this line when the boot log reports JEDEC ID 0xEF4015 (2 MB)
Flashing --chip-variant IPRO7AI selects this chip's flash pins (flash_pin 0x9 in the tool's configuration file)
Everything else CPU, memory map, wireless and peripherals as on IPRO7, see IPRO7 key specifications

Among the Reef configurations, the .config of ipro_reef_teach and ipro_agora_sentino and the defconfig_reef of ipro_ble_remote, ipro_le_audio_headset and ipro_ai_link already use the 2 MB layout; the other Reef configurations use the 1 MB layout.

NPU and inference runtime

The inference runtime ships as the prebuilt library components/ai/lib/libai.a; its public headers are components/ai/iproai_def.h and the headers of the modules under components/ai/. The runtime source is not in the package. In V2.2.1 components/ai is the IPRO Edge AI platform V2.0: runtime, a model store with one slot per tool, input sources, preprocessing and an application framework. Waits on the NPU are bounded; a timeout resets the NPU block and leaves it in a safe fault state. For inference on the CPU there are TensorFlow Lite Micro, NMSIS-NN and TinyMaix (components/3rdparty/).

Enable AI

Write these settings explicitly in the application's .config. This SDK's build does not apply Kconfig select, so PSRAM is not turned on for you:

.config (excerpt)
CONFIG_AI_SUPPORT=y          # link components/ai (libai.a)
CONFIG_USE_PSRAM=y           # NPU activation buffers and models live in PSRAM
CONFIG_MM_SUPPORT=y          # when you use the camera and the ISP
CONFIG_AI_MODEL_FROM_FILE=y  # when you load models from the SD card

The .config of ipro_reef_teach and the defconfig_reef of ipro_ai_link are complete Reef configurations to start from.

Where models live

The NPU runs models in the .inm format, stored in one of three places:

Location How Reef example
mfg flash partition Written by the flash tool with --mfg. ipro_reef_teach has its own partition table partition_reef_teach.toml and mfg layout (one slot each for the mode, the voiceprint, image and sensor models); mfg_payload.py builds what you flash ipro_reef_teach
Linked into the firmware The model is built into the image; nothing else to flash defconfig_reef_rps of ipro7_uvc_cam
SD card Read from sd:/ (FatFS) into PSRAM at run time defconfig_reef of ipro_ai_link

Models in the package: apps/ai/ipro_reef_teach/model/ (the voiceprint model model_b.spkb), tools/teach_web/assets/, apps/platform/ipro7_demo/demo/ai/ai_model/, apps/test/ipro_npu_yolo/src/ and apps/ai/ipro7ai_evk_rps/model/. IPRO AI Studio and the Edge AI tools ship in the separate IPRO Edge AI package, not in the SDK; contact INTELPRO for the model conversion tool.

Memory

With AI and imaging both enabled (CONFIG_AI_SUPPORT, CONFIG_MM_SUPPORT), the NPU's SRAM is mapped from 0x11020000 up, so the linker limits OCRAM to the first 64 KB (0x11010000–0x11020000). When the application also reserves BLE controller Exchange Memory (CONFIG_EM_SIZE not 0), OCRAM shrinks to 48 KB plus a non-retained region of 64 KB − CONFIG_EM_SIZE. CMake prints the layout it chose during the build, for example AI+MM (EM=0): OCRAM=64KB.

The Zephyr RTOS port has no NPU driver; the NPU examples are FreeRTOS applications.

NPU examples on the Reef

Example Reef configuration What it does
ipro_reef_teach .config Board firmware for IPRO AI Teach 2.0: three tools, image (USB camera and image classifier), voice (voiceprint) and sensor (sensor signals), one at a time, driven from IPRO AI Studio
ipro7_uvc_cam defconfig_reef_rps USB webcam that draws the NPU's rock-paper-scissors result into the video
ipro_ai_link defconfig_reef Board firmware for IPRO AI Studio "Run on board": loads models and inputs from sd:/ and returns the outputs over USB

The other NPU examples target the IPRO7AI EVK or the IPRO7 EVB (ipro7ai_evk_person_detect, ipro7ai_evk_rps, ipro7ai_evk_launcher, ipro_speaker_recog, ipro_npu_yolo, ipro_ai_bench); see Examples.

Boards with IPRO7AI

Board Package Board configuration
IPRO7AI Reef EVK V4.0 QFN56, soldered on the board CONFIG_IPRO7AI_REEF=y

The IPRO7AI EVK (CONFIG_IPRO7AI_EVK=y) also carries this chip; contact INTELPRO for it.

Related documents

  • IPRO7: full chip specifications and memory map.
  • AI & NPU guide: deploying models and the inference API.
  • IPRO AI Teach: teach the Reef to recognize images, voiceprints and sensor signals with IPRO AI Studio.
  • IPRO7 datasheet: see Documents.