SmartTool

NFC enabled microcontroller board for home automation

View project onGitHub

SmartTool Demo Applications

Along with the libraries github repository contains several ready to run demo applications which are described in detail in the reference manual. below you can find a brief description of each app.

Embedded Demo Applications

Authentication ( git )

Demonstrates the usage of Desfire cards to perform authentication in access control applications. Desfire cards are written with an encrypted application that contains a DWORD which is meant to hold an authorization bitfield. the application can write "authorized" and "unauthorized" cards or it can read back the card and, if an authorized bitfield is detected it will toggle the on board MOSFET.

Note that usage of UID for authentication is not recommended as UIDs can be eventually spoofed. note also that since Mifare Classic cards have been hacked it's highly recommended to use the more recent cards which implement 3DES or AES.

NDEF I/O ( git )

This application demoes card reader and card emulation functionality. The NFC task periodically toggles between card reader and card emulation. In card reader mode the application reads the NDEF message from the card and displays its content on the LCD. the content being displayed is not very useful as it is not parsed however it can serve as the base for applications needing to read cards. supported card types are Mifare UL, Mifare Classic and Mifare Desfire.

In card emulation mode SmartTool presents itself as a card with a NDEF message containing the arrow web site url. if interacting with the Android demo application SmartTool can also receive a message back and display it on the screen.

Vending ( git )

Implements a simple vending machine which can either charge credit to a card or let user select goods and purchase them. Note that in order to provide reasonable security this application supports only Desfire cards.

Android Demo Applications

NFCDemo ( git )

Very simple Android application allowing to read NFC messages from SmartTool in card reader mode and eventually write back a response message. useful to demonstrate bidirectional communication with smartphones.

Test Applications

Antenna Calibration ( git )

This application uses the on board PLL to sweep frequencies around the NFC central frequency and using the on board circuitry it measures the amplitude of the signal at the antenna terminals. the resulting output is a spectrum analisys of antenna resonance profile. The application also looks for peak and displays center frequency. This tool is very useful to verify antenna calibration and given that the antenna daughterboard is removable, you can use the tool to measure your target board's antenna performance by just wiring SmartTool to your target board. note that in order to work properly you have to connect the antenna daugtherboard to the upper row of the HMI connector

Hardware Test ( git )

This application implements a simple hardware test used in the production line to verify that hardware is working properly. Display shows temperature read from the internal temperature sensor and allow checking functionality of the embedded touch keys. approaching a card the NDEF message is read and displayed.