Welcome to Louvre Board’s documentation!

Version:1.0.0G
Copyright:(C)2014 Silica an Avnet company
Date:26 Mar 2015
_images/louvre_board.jpg _images/silica.png _images/nxp.jpg _images/ntag.jpg _images/android.jpg

Introduction

Silica Louvre board is an useful product to evaluate the capabilities of NFC with NXP technology.
The Louvre is a low power consumption board, the power supply is supplied exclusively from the NFC antenna of the android device.
The firmware provided can display on an e-ink screen the images sent by an android application.

In this documentation we show step by step the features of the firmware and how debug it.

Note

If you want quickly see how the demos work go here Quick start guide!

For board schematics and source code it is needed the registration from ArchiTech website.
If you are interested to develop on this board don’t forget to read the Development section.

General Description

  • Small form factor
  • ISO7816 ID1 form factor (creditcard)
  • NXP NTAG I2C
  • NXP Cortex M0 LPC11U37 Microcontroller
  • 2.7 e-ink display
  • SEN300 temperature sensor
  • Micro-USB connector
  • Possibility to operate without battery
  • Full size antenna to maximize energy harvesting
  • Four capacitive buttons to enable user interaction

Contents:

Quick start guide

Warning

The demo have been tested with nexus tablet, in this guide we will refer to it.

Unboxing

The product is supplied with the box like this:

_images/box_closed.jpg

And this is the content of box:

_images/box_opened.jpg

The board itself has been programmed with the demo.

Install Android Application

Warning

This application works on tablet and smartphone with android system. Not all device provided by antenna NFC are suited: if the antenna is too small cannot supply enough energy required to the Louvre board to run the demo. However the most device in the market are capable to work with the board without problems.

Now let’s to see how install the application. An Android application is stored in an APK file, you must install the APK on you Android device in order to run it.
The easiest way is to download the file here directly by your device. However, you can find this application even at ArchiTech website but for our purpose is little bit more tricky download it by the android device.
Before to start, you have to enable installing from Unknown Sources. To do this follow next steps:

  1. open the Application menu and click on the Settings application.
  2. Select Applications from the Settings menu then select Security
  3. Check the first selection, Unknown Sources so you can install an APK file from a location other than the Android Market. A warning message will be desplayed, select OK to continue.
Now, before to download and install the application, search for a free file manager, such as File Manager (Explorer) by Cheetah Mobile, and install it from the market.
Once installed, dowload the APK file with the browser of the Android device then open File Manager. The program will provide a list of the SD card contents, then execute APK file clicking on APK filename.
A new screen showing the selected application’s name at the top is displayed. To install the application, just click on the Install button on the bottom of the screen.
Finally, a new screen is displayed once the installation is complete and you can choose to run the application by clicking Open button.

After installed the application we are ready to test the Louvre board with the two following demos:

Demo without Mini-USB cable

This demo has the purpose to show how the Louvre can run getting energy only from the NFC and the communication from the android device to the Louvre board.

  1. Start the application on the android device:
_images/nfcget_icon.jpg
  1. The application displays the images that you can sent to the Louvre. Select an image do you like:
_images/nfcget_ui.png
  1. Lay down the tablet on the Louvre. The Android device must cover all the antenna area of the Louvre.
_images/louvre_tablet.jpg
  1. Once the data transfer is done a message is reported on the tablet. Do not remove the device from the Louvre until the e-ink display doesn’t show the selected image.
_images/nfcget_written.png
  1. Finally the display will show the image selected
_images/nfcget_success.jpg

Demo with Mini-USB cable

This demo has the purpose to show the communication from the Louvre board to the android device.

  1. Check the jumper CN4 is setted correctly:
_images/louvre_run_jumpers.jpg
  1. Insert mini-usb cable from PC to the CNX connector of the board.
_images/louvre_usb.jpg
  1. The Louvre display on the e-ink screen the temperature read from SEN300 sensor and the last capacitive button pressed.
_images/louvre_usb_none.jpg
  1. If you press a capacitive button S1, S2, S3 or S4 this will displayed on the screen.
_images/louvre_usb_s2.jpg

Development

To develop on Louvre board are required:

  • software:
    • LPCXpresso
    • firmware source
  • hardware:
    • Louvre Board
    • NXP LPC-Link, please refer to embeddedartists website. In this guide we have used LPC-Link 1 of this board not the LPC-Link 2.

Download LPCExpresso

The developement software used is LPCxpresso, we suggest to install at the least version 7.3. This application is freely downloadable from lpcware site. Go to lpcxpresso webpage Install the LPCxpresso following default procedure. In this guide the SDK is installed in the default path C:\nxp and we refer to this in our example. After the installation you need to register in order to activate the Free Edition of the LPCXpresso. Launch the SDK selecting as workspace folder C:\nxp\workspace.

_images/sdk_workspace_path.jpg

Select from menu Help -> Activate -> Create serial number and register (Free Edition). Check the options Open in external browser and Copy Serial Number to clipboard then press Ok button.

_images/sdk_serial_number.jpg

From the website you need to register and insert the serial number. It will display your activation code.

_images/sdk_register_serial_number.jpg

The activation code must be inserted into the window-form selectionable from the menu Help -> Activate -> Activate (Free Edition)

_images/sdk_window_form.jpg

If all is done correctly now you are able to deploy with the Free Edition LPCXpresso, permitting you to debug up to 256KB.

Environment Setup

To get the source of the firmware, you need to register to architechboards website. This site provides software and documentation needed to develop with the Louvre board. Save it in your bookmarks to be updated with the new releases. In the homepage select the Louvre board in the Products menu. In this page you can find the download link. Once got the firmware source, unpack it into C:\nxp\workspace folder.

Import Project

After unpacked the source code you have to import the project. Select from the menu File -> Import and before to press Next button select Existing project into Workspace.

_images/sdk_import_existing_prj.jpg

Choose root directory as C:\nxp\workspace and select C:\nxp\workspace\SW project. Then press Finish button.

_images/sdk_import_firmware.jpg

Debug Project

Before you start a debugging session make sure that you have connected the LPC-Link to PC. Connect with a cable the J4 LPC-Link connector to the CN3 connector of the Louvre board. Here the connection scheme:

pin J4 pin CN3
2 2
3 4
6 1
8 3

To debug the project you need to build it, from the menu go to Project -> Build All. The console window will display the compilation.

_images/sdk_console_compilation.jpg

Then click on the “bug” icon, be careful, the right bug is that on the left!

_images/sdk_debug.jpg

The debug will start.

_images/sdk_debugging.jpg

Firmware Details

All libreries code used is been imported directly into the project: i2c.c, ssp.c, gpio.c, timer.c and adc.c. The file adc.c is not used.
The code for the e-ink is in the modules eink.c and fonts.c.
The module driver.c is for manage temperature sensor, capacitive buttons and nfc protocol.
To have more details, the source code is provided with comments.

Bootloader

The bootloader is the first program executed, located at the first two blocks of the flash memory (0x0000 - 0x1FFF) for a total size of 2K bytes. Its work is controlling first the presence of a NFC segnal; if it so, it verifies if there is a new program to load and memorize it in flash; otherwise it checks the presence of a valid applicative program in the flash memory and if it so, copies in ram memory (0x10000000 - 0x100000bf) the applicative interrupt vectors and lauches it. If the application is not valid then it checks continuosly NFC signal and it waits a new program to download.

Flash memory map:
0000 00BF bootloader code vector table
00C0 1FFB bootloader code
1FFC 1FFF software version

Ram memory map:
0x10000000 0x100000BF applicative interrupt vectors table
0x100000C0 bootloader/applicative ram memory

Applicative:
Flash memory map:
2000 2003 applicative checkusm (used by bootloader to verify the code)
2004 2007 applicative lenght
2008 200B applicative version
200C 20BF applicative code vector table (will be copied in the ram memory)
20C0 applicative code

Ram memory map:
0x10000000 0x100000BF applicative interrupt vectors table
0x100000C0 ram memory

Important

Due to the optimization, it is not possible debugging the bootloader

Update

Android Application Update

Firmware Update

To update the firmware from USB you have to short the pin 1 CN4 with pin 2 CN4.

_images/louvre_boot_jumpers.jpg

Then plug the mini-usb from the PC to the board.

_images/louvre_usb.jpg

The LPC11U will run in boot mode and your PC will plug the board as a mass storage device. To update all you need is copy the new firmware renamed “firmware.bin” in the mass storage. Delete first the old one before to copy one newer.

Board

Schema

The Louvre board demo is fitted with these devices:

_images/louvre_diagram.jpg
  • LPC11U34: is an ARM Cortex-M0 processor
  • SEN300: temperature reader sensor
  • NXP NTAG: The NTAG family has been developed by NXP Semiconductors as standard NFC tag ICs to be used in mass market applications such as retail, gaming and consumer electronics, in combination with NFC devices or NFC compliant Proximity Coupling Devices.
  • 2.7” E-Ink EM027BS013 from Pervasive Displays: The 2.7” panel has resolution of 264 x 176 (117 dpi).
  • NXP UHF. not used by firmware
  • miniusb: used to power supply the board (see demo 2)
  • jumper CN4: used for boot mode of the LPC11U34 (see upgrade section)

To download the schematics please visit architechboards Louvre webpage.

Appendix

  • APK stand for Android application PacKage and it is the package format used to distribuite and install application software onto Android operating system.
  • E-Ink (electrophoretic ink) is a specific proprietary type of electronic paper manufactured by E Ink Corporation (E-Ink)
  • NTAG The NTAG family has been developed by NXP Semiconductors as standard NFC tag ICs to be used in mass market applications such as retail, gaming and consumer electronics, in combination with NFC devices or NFC compliant Proximity Coupling Devices.
  • ISO/IEC 7816 is an international standard related to electronic identification cards with contacts, especially smart cards, managed jointly by the International Organization for Standardization (ISO) and the International Electrotechnical Commission (IEC).
  • LPC NXP’s portfolio of 32-bit LPC microcontrollers builds on 10 years of leadership and includes more than 330 options that cover every application class, from entry-level designs to high-end systems that run Linux OS. See LPC.