Skip to main content
Visitor II
August 12, 2025
Solved

NFC - ST25DV - How to use custom commands in my own iOS app

  • August 12, 2025
  • 1 reply
  • 1409 views

Hi.

I'm in progress of making an iOS app that needs to send custom commands to a ST25DV tag. I've been going through the same error all week (Feature not supported, from CoreNFC), so I started using the ST25SDKiOS but I still don't get how to use it. I was wondering if there is any instruction to use it to send custom commands to the tag.

Thanks.

    This topic has been closed for replies.
    Best answer by victor laraison

    Hi jtrujillo,

    When using the customCommand in iOSCoreNFC, the ICMfgcode (e.g., 0x02) is automatically appended by iOSCoreNFC itself. Therefore, you should not include this parameter within the customRequestParameters.

    Additionally, please note that currently, only the non-addressed mode appears to be supported (flag 0x02). I have not been able to successfully send custom commands in Addressed Mode using iOSCoreNFC, and the reason for this is unclear.

    In addition, depending on ST25DV custom command used, and Tag config, it may be possible to present a password for writing in a some ST25DV register.

    Here below, an example of custom command used by a customer that works in its environement. 
    Hope it helps you

    // Writing to Config Registers
     const res0 = await NfcManager.iso15693HandlerIOS.customCommand({
     flags: 0x02,
     customCommandCode: 0xb3,
     customRequestParameters: [
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     ],
     });
     console.log("Present Password Response: ", res0);
    
     const res1 = await NfcManager.iso15693HandlerIOS.customCommand({
     flags: 0x02,
     customCommandCode: 0xa1,
     customRequestParameters: [0x08, 0x07],
     });
     console.log("Write Config Reg (RFA3SS) Response: ", res1);



     

    1 reply

    ST Employee
    September 23, 2025

    Hi jtrujillo,

    When using the customCommand in iOSCoreNFC, the ICMfgcode (e.g., 0x02) is automatically appended by iOSCoreNFC itself. Therefore, you should not include this parameter within the customRequestParameters.

    Additionally, please note that currently, only the non-addressed mode appears to be supported (flag 0x02). I have not been able to successfully send custom commands in Addressed Mode using iOSCoreNFC, and the reason for this is unclear.

    In addition, depending on ST25DV custom command used, and Tag config, it may be possible to present a password for writing in a some ST25DV register.

    Here below, an example of custom command used by a customer that works in its environement. 
    Hope it helps you

    // Writing to Config Registers
     const res0 = await NfcManager.iso15693HandlerIOS.customCommand({
     flags: 0x02,
     customCommandCode: 0xb3,
     customRequestParameters: [
     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
     ],
     });
     console.log("Present Password Response: ", res0);
    
     const res1 = await NfcManager.iso15693HandlerIOS.customCommand({
     flags: 0x02,
     customCommandCode: 0xa1,
     customRequestParameters: [0x08, 0x07],
     });
     console.log("Write Config Reg (RFA3SS) Response: ", res1);