This demo showcases Edge AI face detection running on the NXP FRDM‑MCXN947 using Zephyr RTOS, with results sent to Avnet’s /IOTCONNECT cloud platform via LTE.

It is based on:
- NXP’s official Multiple Face Detection reference: https://github.com/nxp-appcodehub/dm-multiple-face-detection-on-mcxn947
- Avnet’s
/IOTCONNECT C SDK: iotc-c-lib - Additional LTE modem integration (Avnet enhancement)
This Quickstart will guide you through hardware setup, cloud onboarding, building, and running the demo.
- FRDM-MCXN947 board Purchase | User Manual (UM12018) | All Resources
- Display NXP LCD-PAR-S035
- Camera Module OV7670
- Mikroe LTE IoT 12 Click MIKROE-6311
- LTE SIM card
- USB-C cable
- Zephyr SDK & toolchain supporting MCXN947
westcommand-line tools/IOTCONNECTcloud account- Device certificate & private key
Before adding any project-specific hardware, complete the hardware setup described in NXP’s official demo:
NXP Reference Repo:
https://github.com/nxp-appcodehub/dm-multiple-face-detection-on-mcxn947
Follow these steps exactly:
-
Move the required solder jumpers
The MCXN947 must be reconfigured so the camera interface is routed correctly.
NXP documents each jumper that must be moved—follow these instructions precisely. -
Connect the OV7670 camera module
Follow NXP’s wiring diagrams exactly.
The camera must be aligned properly with the correct FFC connector. -
Connect the LCD display (optional)
NXP provides the display connector pinout and required jumpers.
Do not continue until the NXP demo runs correctly with camera (and LCD if used).
This ensures that the camera pipeline and display interface are working before adding LTE or /IOTCONNECT support.
Once the NXP demo is fully functional, add the Mikroe LTE IoT 12 Click to enable /IOTCONNECT connectivity.
| Function | MCXN947 Pin | LTE Click Pin |
|---|---|---|
| TX | P0_27 | RX |
| RX | P0_26 | TX |
| PWR EN | P1_3 (J6) | PWR |
| Power | J5/J6 | 3V3 / 5V |
| Ground | GND | GND |
The pictures show the modem connected using discrete jumpers. However, for cleaner mechanical integration:
This allows:
- The modem to still plug directly into the Mikroe mikroBUS socket
- TX/RX jumpers to route under the board
- Jumpers to connect neatly to the P0 connector on the MCXN947 board
This reduces mechanical strain, keeps the module securely seated, and preserves clearance.
- Slightly bend the RX and TX pins on the modem upward (~20–30 degrees).
- Insert the modem into the mikroBUS socket normally.
- Run two female‑to‑female Dupont jumpers:
- Click RX → P0_27
- Click TX → P0_26
- Route jumpers underneath the modem before insertion to keep them tidy.
This approach has been tested and avoids the need to run long external jumper wires.
An /IOTCONNECT account with AWS backend is required. If you need to create an account, a free trial subscription is available. The free subscription may be obtained directly from iotconnect.io or through the AWS Marketplace.
- Option #1 ( Recommended) /IOTCONNECT via AWS Marketplace - 60 day trial; AWS account creation required
- Option #2 /IOTCONNECT via iotconnect.io - 30 day trial; no credit card required
Note
Be sure to check any SPAM folder for the temporary password after registering.
- Download the pre-made Device Template for the MCXN947 Face Detect Demo.
- From the navigation panel on the left, select the Devices icon and the Device sub-menu.

- At the bottom of the page, select the Templates icon from the toolbar.

- At the top-right of the page, select the Create Template button.

- At the top-right of the page, select the Import" button.

- Click the Browse button, navigate to and select the downloaded template
device-template.json - Click Save
In this step, we will create a Device associated with the previously imported Device Template
- In the ribbon at the bottom of the screen, click the Devices
- At the top-right, click Create Device

- Enter a custom device Unique ID (also called a DUID) and Device Name such as
PSOCEdgeE84 - Select the Entity to associate the device (For new accounts, there is only one option)
- Select the previously imported template
pedgerm - Under Device Certificate select Auto-generated
- Click Save & View
- Download the Device Configuration Information by clicking the icon in the upper right of the device page

In this step we will locate and download the device certificates.
- Just below the Device Configuration Information icon, click the
Connection Infolink.
- Click on the Certificates icon in the top-right and save the file to your working directory.

- Extract the contents of the
*-certificates.zipfile for use in the next section.
All configuration is in:
src/iotc-conf/iotc-configuration.h
Update:
#define IOTC_CPID "YOUR_CPID"
#define IOTC_ENV "YOUR_ENV"
#define IOTC_DUID "YOUR_DEVICE_UID"
#define IOTC_TYPE IOTC_CT_AWS // or IOTC_CT_AZUREConvert key:
cat device.key.pem | sed -e '1d;$d' | base64 -d | xxd -i
Convert certificate:
cat device.crt | sed -e '1d;$d' | base64 -d | xxd -i
Paste into:
uint8_t device_key[] = { ... };
uint8_t device_cert[] = { ... };west init -l .
west update
west build -b frdm_mcxn947 .
west flash
- Open UART @ 115200 8‑N‑1
- Reset device
- You should observe:
- Detected faces
- Bounding-box draw (if enabled)
- Telemetry sent to /IOTCONNECT
face_count
faces[i].x
faces[i].y
faces[i].w
faces[i].h
faces[i].confidence
modem_rssi
modem_state
/IOTCONNECT Dynamic Dashboards are an easy way to visualize data and interact with edge devices.
- Download the example Face Detect dashboard: mcxn947-facedet-dashboard-template.json
- Switch back to the /IOTCONNECT browser window and verify the device status is displaying as
Connected - Click
Create Dashboardfrom the top of the page - Select the
Import Dashboardoption and Click Browse to select the dashboard template previously downloaded. - Select the Template ("mcxn9FACE") and your Device Name
- Enter a name (such as
MCXN947 Face Detection) and Click Save the finalize the import
You will now be in the dashboard edit mode. You can add/remove widgets or just click Save in the upper-right corner to exit the edit mode.


