Home ] [ English ]




The Arduino SMARTSHIELD connects your Arduino with smartcards.  This allows the implementation of electronic payment systems and access control.

  • Requires an Arduino board (not included)
  • Operating voltage 5V (supplied from Arduino board)
  • Connection with Arduino on SPI port



The Arduino shield SMARTSHIELD has two smartcard connectors: a standard ISO-7816 and a SIM that can be used for mounting a SAM module for authentication that allows to easily implement cryptographic functionality.

A microcontroller generates the necessary signals for the proper functioning of smartcards and interfaces Arduino via the SPI port. To allow compatibility with other commercial shield, you can configure the address of SS pin using a jumper (pin 7/8/10).

On the shield are two diagnostic LEDs that provide information about smartcards presence and exchange data.



The SMARTSHIELD shield interfaces with Arduino via SPI pins 7/8/10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Hardware compatibility of SMARTSHIELD is guaranteed with Arduino Uno e Duemilanove. For different models of Arduino you can still use the SMARTSHIELD using the software library SPI


Synchronous Smartcard Library

This library allows an Arduino board to control synchronous smartcards (SLE4442 and SLE4428 protected memory cards) by SMARTSHIELD shield.


  • IsCardPresent(cam);
  • PowerOnATRSC(*atr);
  • PowerOffSC();
  • ReadByte4442(address);
  • ReadByte4428(address);
  • WriteByte4442(address,data);
  • WriteByte4428(address,data);
  • VerifyPSC4442(*psc);
  • VerifyPSC4428(*psc);
  • ModifyPSC4442(*psc);


CPU Smartcard Library

This library allows an Arduino board to control asynchronous  (CPU) smartcards with T=0 protocol (i.e. ACS ACOS, SCHUMBLERGER PAYFLEX) and T=1 protocol (i.e. SIEMENS INFINEON, ST INCARD) by SMARTSHIELD shield. It is also supported the italian national and regional services card (CNS/CRS).


  • IsCardPresent(cam);
  • PowerOnATR(cam,*atr);
  • ApduCommand(cam,T,*C,*D,*SW);
  • Shutdown(cam);


Development support

Support this project so that it can be improved! You can do so by purchasing:

  •  PCB (Euro 5 + shipping);

  •  already programmed PIC18F25K22 microcontroller (Euro 10 + shipping);

  •  assembled and tested base shield (SAM connector not included) (Euro 30 + shipping);

  •  assembled and tested full shield (Euro 35 + shipping).



Arduino Synchronous and CPU Smartcard Library and examples

Sketch that illustrate  reading of a SIM phonebook

Micro Firmware