“tikitag is a service that enables anyone to link real world objects with the online world and make applications accessible with a single touch”. It is a venture by Alcatel-Lucent and it plans to RFID (and internet) enable household objects using tikitags, this is truely great stuff from Alcatel-Lucent.
The service is now in public beta and hardware is being sold via Amazon, for $49.95/£27.96/€34.95 and for that you’ll get the tikitag starter package.
At the centre of tikitag is a slick looking USB reader that has client software for Windows or OS X (Linux support is available but unsupported), tikitags are attached to household objects (such as toys or business cards) and scanned by the reader, when this happens the unique RFID data is sent over the web to the tikitag server and information is returned to the client about that item that will initiate a local action (such as opening a web-browser at a specific URL or starting a video).
Developers can easily create applications that interface with the tikitag “Action Corellation Server” using SOAP.

SOAP requests (while great for online applications) do not allow us to access the lower levels and internals of the tikitag hardware and therefore prohibit us from using it for other non-tikitag uses, so if you want to go lower level, a little investigation reveals that this package is really an OEM ACR122U Contactless Smart Card Reader from ACS.

The ACR122U (and therefore tikitag reader) is a decent RFID reader that has the following feature set -
- ISO/IEC18092 (NFC) compliant
- NFC Tags Access Speed = 424 kbps
- Supports FeliCa Card
- Supports NFC Tags (Topaz)
- Support ISO 14443 Type A & B cards - MIFARE® cards (Classics, DESFire)
- PC/SC and CCID Compliant
- SAM for secure applications
Full technical specification of the ACR122 is available as a PDF download (the ACR122U is the ACR122 with the additional SAM module).
If you are interested in reprogramming the MCU on the tikitag device the microcontroller used inside is from STmicroelectronics and is an “8-bit, low-power, full-speed MCU with 16K flash, 768 bytes of RAM a smartcard interface and timer” full details about the microcontroller used is available here.
When you buy the tikitag starter package you’ll get the ACS ACR122U reader (in a pretty white and green tikitag case) and 10 sticky tikitags (that are in fact MiFare UltraLight RFID tags with an adhesive backing and the tikitag logo).

The MiFare UltraLight tags (as used for tikitags) from NXP have the following features -
- 100% compatible with existing MIFARE infrastructure
- Real anti-collision supported
- Operating distance up to 10 cm
- 106 kbits/s data transfer rate
- Unique 7 byte serial number (ISO 14443A, cascade level 2)
- High data integrity – 16 bit CRC, parity per byte, bit coding, bit count check
- 512 bit EEPROM, organized in 16 pages of 4 bytes
- 32 bit one-time programmable (OTP) area
- 384 bit read / write area for user data
- Field programmable ‘Read only’ locking function per page
- DESFire SAM based security methods supported
The IC used in the MIFARE UltraLight (the NXP MF0ICU1) and has a pretty detailed public funtional spec available as a PDF download
The Tikitag reader has a unique ID that is used to identify the reader with each transaction with the “Tikitag online ACS” this is achieved by the use of a SAM (Secure Access Module) inside the reader, this is a small smartcard that holds additional and individual unique security information.
“The SAM or Secure Access Module is an additional feature in a Smart Card Reader that can enhance the level of security in your Smart Card based application. Normally card authentication is implemented in PC or application level. However with the presence of a SAM, key diversification and mutual authentication can be implemented between card and reader which means that the PC will not perform the authentication but it will
be done via card to reader and reader to card authentication making your system more secure and less prone to hacking.”
The removable part of the SAM consists of a ID-000 smartcard (GSM SIM card sized) that is inserted into an on-board reader by the manufacturer.

There is a full technical reference of the SAM used in the Tikitag here.
You can interface with the SAM and SAM card using the tikitag reader (you will need to send specificly crafted SAM related commands.) It is also possible to interface with the SAM by removing it from the slot and inserting it into a ISO7816 compliant reader these commands can be created with something like pyscard or other similar smartcard tools.
BE WARNED! DIRECT AND INCORRECT USE OF THE SAM CAN RESULT IN A BLOCKED CARD THAT MAY RENDER YOUR TIKITAG USELESS! DO NOT ATTEMPT THESE TECHNIQUES (OR REMOVE THE SMARTCARD FROM THE READER) UNLESS YOU KNOW EXACTLY WHAT YOU ARE DOING!
Using the Tikitag reader with OS X.
After the installation of the drivers from Tikitag the reader will operate with the OS X PCSC drivers that are shipped with OS X, to test lower-level access to the reader and tags, use the pcsctest application that is provided with OS X.
mbp15:~ pytey$ pcsctest
MUSCLE PC/SC Lite Test Program
Testing SCardEstablishContext : Command successful.
Testing SCardGetStatusChange
Please insert a working reader : Command successful.
Testing SCardListReaders : Command successful.
Reader 01: ACS ACR 38U-CCID 00 00
Enter the reader number : 01
Waiting for card insertion : Command successful.
Testing SCardConnect : Command successful.
Testing SCardStatus : Command successful.
Current Reader Name : ACS ACR 38U-CCID 00 00
Current Reader State : 34
Current Reader Protocol : 0
Current Reader ATR Size : 13
Current Reader ATR Value : 3B BE 96 00 00 41 03 00 00 00 00 00 00 00 00 00 02 90 00
Testing SCardDisconnect : Command successful.
Testing SCardReleaseContext : Command successful.
PC/SC Test Completed Successfully !
pcscd is the daemon that is used for PCSC comms on OS X, so restarting this daemon in the foreground with debug mode enabled displays lots of juicy information about tag transactions.
mbp15:~ pytey$ sudo killall pcscd; sudo pcscd -fda
src/PCSC/debuglog.c:240:DebugLogSetLevel() debug level=debug
src/PCSC/debuglog.c:269:DebugLogSetCategory() Debug options: APDU
src/PCSC/pcscdaemon.c:572:main() pcsc-lite 1.4.0 daemon ready.
src/PCSC/readerfactory.c:762:RFInitializeReader() Attempting startup of ACS ACR 38U-CCID 00 00 using /usr/libexec/SmartCardServices/drivers/ifd-ccid.bundle
src/PCSC/readerfactory.c:488:RFBindFunctions() Binding driver functions
src/PCSC/readerfactory.c:624:RFBindFunctions() Loading IFD Handler 3.0
ifdhandler.c:1306:init_driver() LogLevel: 0x0007
ifdhandler.c:1316:init_driver() DriverOptions: 0x0000
ifdhandler.c:81:IFDHCreateChannelByName() lun: 0, device: ACS ACR 38U-CCID
ccid_usb.c:157:OpenUSBByName() Reader index: 0, Device: ACS ACR 38U-CCID
ccid_usb.c:235:OpenUSBByName() Manufacturer: Ludovic Rousseau (ludovic.rousseau@free.fr)
ccid_usb.c:245:OpenUSBByName() ProductString: Generic CCID driver v1.3.5
ccid_usb.c:251:OpenUSBByName() Copyright: This driver is protected by terms of the GNU Lesser General Public License version 2.1, or (at your option) any later version.
ccid_usb.c:310:OpenUSBByName() Checking device: 001/003-072f-90cc-00-00
ccid_usb.c:358:OpenUSBByName() Trying to open USB bus/device: 001/003-072f-90cc-00-00
ccid_usb.c:405:OpenUSBByName() Found Vendor/Product: 072F/90CC (ACS ACR 38U-CCID)
ccid_usb.c:407:OpenUSBByName() Using USB bus/device: 001/003-072f-90cc-00-00
ccid_usb.c:832:ControlUSB() request: 0x03
receive:
ccid_usb.c:776:get_data_rates() IFD does not support GET_DATA_RATES request: Unknown error: 0
ifdhandler.c:304:IFDHGetCapabilities() lun: 0, tag: 0xFAE
ifdhandler.c:350:IFDHGetCapabilities() Reader supports 1 slot(s)
ifdhandler.c:908:IFDHPowerICC() lun: 0, action: PowerUp
...
..
Windows
The Windows ACR122 PC/SC drivers are available here the ACS diagnostic tool is here and the ACR122 “scripting tool” is here.
Unix
Python PC/SC support is available using pyscard. Adam Laurie’s fantastic RFIDIOt tools are available here.
APIs and other information
The ACR122 API guide available here as a PDF download. NXP’s Pegoda information here.
Thanks to Zf[idling] and Bushing for detective work and other cool research.






