BLE-NFC bridge demonstration

Showing results for 
Search instead for 
Did you mean: 

BLE-NFC bridge demonstration

No ratings

BLE-NFC bridge demonstration

Combining NXP's wireless MCU with NFC controller allows to build a BLE-NFC bridge.

It allows demonstrating transmission of NFC data over BLE, acting then as a king of Magic NFC remote.

This demonstrator is built assembling the OM5578: Development Kits for PN7150 Plug’n Play NFC Controller (OM5578/PN7150ARD version including Arduino compatible connectors).2820426-40.jpg
on top of the FRDM-KW41Z: Freedom Development Kit for Kinetis® KW41Z/31Z/21Z MCUs (minimum version B1 since previous versions have a pin conflict on the Arduino connector)frdm_kw41z.jpg
Alternatively the Rigado R41Z Eval Board can be used as replacement to the FRDM-KW41Zr41z-eval_iso-Copy-1.jpg


To complete the demonstration, an android phone is used as BLE counterpart.

It shall run the modified version of Kinetis BLE Toolbox android application including the NFC demo part.

This dedicated version of the Kinetis BLE Toolbox android application is available for download from the files attached to this document.


Below is a video of the demo. As shown, it demonstrate capabilities to control the NFC discovery remotely (via BLE) from the phone. Then, if tapping a card on the bridge, the related information including the content is conveyed through BLE to the phone and get displayed by the app. Additionally, the app can configure a message to be shared whenever an NFC reader (e.g. NFC phone) tap the bridge.

The K41Z firmware of this demo is built based on the wireless UART example from MCUXpresso Software Development Kit (SDK), and updated with the porting of the NXP-NCI MCUXpresso example.
The complete MCUXpresso project is given in source code in the attached files. To replicate the demo, just import it in an MCUXpresso workspace by selecting "Existing Projects into Workspace", then browsing to the file. Select the frdmkw41z_BLE-NFC_bridge from the "Project Explorer" view, and click on the blue bug iconpastedImage_297.pngto build, flash and debug the program.
Labels (1)

Anyone else having problems building this example? In debug mode I get "section .dummy VMA overlaps section .bss VMA". If I switch to release mode (assuming there's not enough memory), then I get gAppSerMgrIf and Uart_RxCallBack undefined.

I'm using MCUXpresso 10.3.0 [Build 2200] and FRDM-KW41Z SDK v 2.2.0 if that makes a difference.

I'm answering my own question just in case it helps anyone else. I could get the Wireless UART example that this is apparently based on to build, so I copied over MKW41Z512xxx4_connectivity.ld from that project. That seems to sort out building it in debug mode.

I have absolutely no idea how you figured that one out but it worked. For what it's worth, I found that file in the source directory.

I just uploaded the apk onto two different Android tablets (which have BLE but no NFC) and the app crashed in both cases. I was hoping to test the BLE element. The app works fine on my phone.

I then thought to try out the latest version of the NXP IoT Toolbox which has an NFC option (although different to the above app), but this functionality within app did not work either on the tablet and it informed me that the reason was that the tablets do not have NFC.


Would be great to get ADB logs to investigate reason of the crash. Basically this dedicated version of IOT toolbox app (attached to the document) doesn't require NFC capability from the Android device. Indeed, it only connect to BLE-NFC bridge (Kw41Z+PN7150) via Bluetooth to offer remote NFC functionality.

The NFC option offered in the latest version of the application is totally different, using NFC embedded function of the Android device to read/write data from an NFC equipped IoT device, thus requiring NFC support from the phone/tablet.



I thought as much - re to differences between apps.

Could it be that the screen is not set to responsive to enable resizing for tablets?

Anyway, I'll see what I can do as I'm not great with using ADB.

My sincere apologies. I made a red herring statement earlier about screen size as forgot that app does open. It just crashes when I want to connect to BLE-NFC device.

I ran the following test scenario for purposes of capturing data for logcat.

As said, app opens fine - in this case, I am using a Kindle Fire 7 tablet (similar behaviour experienced on a Lenovo tab3 - the only difference on the tab3 is that I get a little pop up message to tell me the app crashed).

Step 1. I uploaded Bluetooth Wireless UART example. I then clicked on Wireless Console/UART icon in app. It scans and finds the BLE device. I can select the device and it connects and opens up UART console etc.

Step 2. I exit and return to main screen. I then upload the BLE-NFC bridge example onto MCU. I select the NFC icon on the app and it scans and finds the correct BLE device. I then click on the MAC address/BLE device to connect and I am then exited out of the app (ie. app closes).

As mentioned earlier, this does not happen with my phone.

Logat file on Google Drive

Version history
Revision #:
1 of 1
Last update:
‎04-11-2018 07:35 AM
Updated by: