How to use our USB Coupling devices under Android?

The Android tsunami

In a few years, Android gained international recognition by becoming the world's most popular operating system with more than a billion devices sold in 2016. Whatever the device is -smartphone, tablet, low-cost personal computer, industrial terminal, connected object-, nothing avoids the Android tsunami!

USB connectivity

Most tablets and other consumer devices have no USB connectivity and can only be used with wireless peripherals devices. On the contrary professional devices access an extensive catalog of USB peripherals initially designed for personal computers, providing those devices include either a software solution or a driver for Android -but they are still a few.

The SpringCard USB PC/SC Service

SpringCard is proud to point out that we already were aware of those uses several years ago. We then designed the SpringCard USB PC/SC Service. It is available on Google Play Store and is associated with an open-source client library that you can download on GitHub.
The applications are numerous. For example, it can be used by a merchant terminal associated with a system of RFID loyalty cards or an e-wallet included in a contactless card, or for reading ski passes and access badges to an event. All this cases are inexpensive and free from a PC under Windows that would be related to a heavy administration.

In concrete terms our service for Android uses Host Android USB API to communicate with PC/SC SpringCard coupling devices, as our Prox'N'Roll HSP PC/SC is able to do. The client library sends its APDUs to the contactless card through the service, the same way it would do in a SCardTransmit stream under Windows or Unix.


This architecture ensures immediate compatibility with all tablets equipped with a true USB Host port. But unfortunately they are a few in the market. And this architecture avoids to produce a custom image of the system because all the developments are made in Java and allow installation from the Play Store.

Theoretically it is also possible to use a tablet that have an On-The-Go (OTG) USB port thanks to an adapter. But this way to use the device may cause problems of power supply. The tablet may be indeed enable to provide sufficient power to the coupling device, or unable to recharge its battery as long as a device is connected to the OTG port. You must then absolutely take some time to try out the tablet you chose before any rollout!

For industrial

Manufacturers who design their own Android terminals with a custom image of the system can also use the SpringCard USB PC/SC Service. If so, the system may behave less than expected. In this case, a solution using a native C code driver is better than using a Java CCID implementation. There is a way to solve this problem: the Seek-For-Android open-source project. It offers -among other things- the Android porting of PCSC-Lite -that is widely used in the Linux world- and also of its CCID driver -that is compliant with all SpringCard PC/SC coupling devices-.
There is a second solution that matches more the industrial expectations. But it requires to control its BSP (Board Support package) in order to be able to add all the layers that Seek-For-Android needs in its image of the system.

For further details, do not hesitate to read our article (technical blog). For any question, feel free to contact us!

Coming next

SpringCard never stops working in order to make contactless devices more simple to use. To fulfill mobility needs -using smartphones and professional terminals, in the field of logistics, control, or inspection- and wireless interaction needs (for tablets and terminals without any USB port-, our engineers work on a new range of BLE (Bluetooth Low Energy) solutions. We will then write an article to explain these solutions.
Keep an eye on us!

Published on 1/27/2017

You like it? Share It!

Return to the What's new? list
Leave a comment