cancel
Showing results for 
Search instead for 
Did you mean: 

STR25R3911B, compatibility/communication with Android and iOS operating systems

JPehl.1
Associate III

By using the NFC/RFID transceiver STR25R3911B on a board, would it be possible to be compatible and also communicate like a serial port (tx/rx of bytes/packets) with mobile apps for Android and iOS? My board also have BLE, but I want to do its job by using NFC instead, and be able to transfer files and packets, and when the communication be idle be able to enter a low power mode. Is all that possible?

1 ACCEPTED SOLUTION

Accepted Solutions
Ulysses HERNIOSUS
ST Employee

Hi,

I think there is nothing available out of the box. You can e.g. use HCE (Host Based Card Emulation) in an app on android. Using the APIs processCommandApdu() and sendResponseApdu() (https://developer.android.com/guide/topics/connectivity/nfc/hce) you can exchange arbitrary APDUs at probably 106kbps. This is of course not full-duplex but only half-duplex link and additional protocol overheads apply.

During those exchanges the field will stay all the time on. If you want to save power = turn off the field then you can do so but normally this will be regarded as a loss of current connection. I assume you can work around this by adding in your application logic on top. But for sure there is an additional penalty in terms of latency and throughput by doing so as the phone in card-emulation mode needs to be re-discovered by the reader.

Ulysses

View solution in original post

2 REPLIES 2
Ulysses HERNIOSUS
ST Employee

Hi,

I think there is nothing available out of the box. You can e.g. use HCE (Host Based Card Emulation) in an app on android. Using the APIs processCommandApdu() and sendResponseApdu() (https://developer.android.com/guide/topics/connectivity/nfc/hce) you can exchange arbitrary APDUs at probably 106kbps. This is of course not full-duplex but only half-duplex link and additional protocol overheads apply.

During those exchanges the field will stay all the time on. If you want to save power = turn off the field then you can do so but normally this will be regarded as a loss of current connection. I assume you can work around this by adding in your application logic on top. But for sure there is an additional penalty in terms of latency and throughput by doing so as the phone in card-emulation mode needs to be re-discovered by the reader.

Ulysses

Ulysses HERNIOSUS
ST Employee

Hi,

was forgetting about iOS: AFAIK the apps on iPhone cannot access the card-emulation but only act as reader. So I currently don't see a way of communicating with ST25R3911B as it does not support card-emulation.

Regards, Ulysses