Multiple Face detection based on the machine learning algorithm, powered by MCXN947.
The machine learning algorithm is accelerated by the NPU inside.
- Download SDK_26_03_FRDM-MCXN947
- Download and install MCUXpresso IDE V25.6 or later.
- MCUXpresso for Visual Studio Code: This example supports MCUXpresso for Visual Studio Code, for more information about how to use Visual Studio Code please refer here.
- 3.5" TFT LCD module by NXP (P/N PAR-LCD-S035)
- Camera module: OV7670
- FRDM-MCXN947 (SCH-90818_REV B) board
- Type-C USB cable
Rework for camera pins on FRDM-MCXN947 because the camera is not the first function. Please change SJ16, SJ26, and SJ27 from the A side to the B side.
Board before rework.
Board after rework.
Here is the detail.
Attach the LCD shield (J1: Pins 5-28 skip first 4 pins) to FRDM (J8). Attach the Camera shield to the FRDM (J9: Pins 5-23; skip first 4 pins), as shown below:
Connect the debug port on board with the laptop.
Import project into MCUXpresso, click 'Import project from Application Code Hub',
search 'multiple face detection on mcxn947' example, clone to local workspace.
Build the project, after compile complete, use the GUI Flash Tool (2 in the following figure) to write the program to the board.
In VS code, select the 'MCUXpresso For VScode' plugin, and click 'Application Code Hub' in the QUICKSTART PANEL. search 'multi-face detection on mcxn947' example, clone to local workspace.
After a while, the project is shown in the 'Projects'.
Build the project, after compile complete flash the board.
Reset the board, the demo will start detecting the person, if faces are detected, it will draw a rectangle box around the target face, and show the total number of targets, inference during at the bottom.
It is always recommended to use the latest eIQ Neutron SDK available here.
The package will include the latest Neutron libraries and tools to convert the model to latest eIQ Neutron SDK. To update the Neutron libraries in the project, replace the following files with the ones in the package:
| File name | Directory in eIQ Neutron SDK | Directory in project |
|---|---|---|
| libNeutronDriver.a | target\mcxn94x\board\ | eiq\neutron\mcxn\cm33 |
| libNeutronFirmware.a | target\mcxn94x\board\ | eiq\neutron\mcxn\cm33 |
| NeutronDriver.h | target\mcxn94x\driver\include\ | eiq\neutron\driver\include |
| NeutronErrors.h | target\mcxn94x\common\include\ | eiq\neutron\common\include |
To update the model, locate the original non-converted model and use the neutron-converter tool from the eIQ Neutron SDK package using:
neutron-converter --input face_detect.tflite --output face_detect_npu.tflite --target mcxn94x
In model_data.s (source\model) the model name can be replaced by the converted model face_detect_npu.tflite.
For more information, refer to the lab guide here.
No FAQs have been identified for this project.
Please contact NXP for additional support.
Warning: For more general technical questions regarding NXP Microcontrollers and the difference in expected funcionality, enter your questions on the NXP Community Forum
| Version | Description / Update | Date |
|---|---|---|
| 2.0 | Update eIQ folder and model for eIQ Neutron 3.1.0 | April 21th 2026 |
| 1.0 | Initial release on Application Code Hub | January 30th 2024 |











