0% found this document useful (0 votes)
679 views152 pages

NanoLOC Development Kit User Guide

nanoLOC Development Kit 3.0 User Guide Version 3.0

Uploaded by

Hugo Loureiro
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
679 views152 pages

NanoLOC Development Kit User Guide

nanoLOC Development Kit 3.0 User Guide Version 3.0

Uploaded by

Hugo Loureiro
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 152

nanoLOC Development

Kit 3.0
User Guide
Version 3.0
NA-06-0230-0402-3.0

Document Information
nanoLOC Development Kit 3.0 User Guide

Document Information
Document Title:

nanoLOC Development Kit 3.0 User Guide

Document Version:

3.0

Published (yyyy-mm-dd):

2010-03-22

Current Printing:

2010-3-19, 1:00 pm

Document ID:

NA-06-0230-0402-3.0

Document Status:

Released

Disclaimer
Nanotron Technologies GmbH believes the information contained herein
is correct and accurate at the time of release. Nanotron Technologies
GmbH reserves the right to make changes without further notice to the
product to improve reliability, function or design. Nanotron Technologies
GmbH does not assume any liability or responsibility arising out of this
product, as well as any application or circuits described herein, neither
does it convey any license under its patent rights.
As far as possible, significant changes to product specifications and
functionality will be provided in product specific Errata sheets, or in new
versions of this document. Customers are encouraged to check the Nanotron website for the most recent updates on products.

Page ii NA-06-0230-0402-3.0

Trademarks
All other trademarks, registered trademarks, and product names are the
sole property of their respective owners.
This document and the information contained herein is the subject of
copyright and intellectual property rights under international convention.
All rights reserved. No part of this document may be reproduced, stored
in a retrieval system, or transmitted in any form by any means, electronic, mechanical or optical, in whole or in part, without the prior written
permission of Nanotron
Technologies GmbH.
Copyright 2010 Nanotron Technologies GmbH.

2010 Nanotron Technologies GmbH.

Table of Contents
nanoLOC Development Kit 3.0 User Guide

Table of Contents
List of Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii
List of Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1 Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Minimum Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Kit Software. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2 nanoLOC DK Board Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1 Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2 Power Supply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3 Voltage Regulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.4 nanoLOC TRX Transceiver Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3 Evaluating Wireless Transmissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.1 Reliability of Radio Frequency (RF) Links. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.2 Reliable Data Communication. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.3 Ranging Precision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.4 Obtainable Range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.5 Receiver Sensitivity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.6 Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4 nanoLOC API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.1 nanoLOC nTRX Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.2 General Layer Interface SAP, MESAP and Callback. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.3 General Message Structure MsgT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.4 Hardware Adaption Layer Microcontroller and Hardware Dependent . . . . . . . . . . . . . . . . . . . . 13
4.4.1 SPI Bus Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.4.2 Interrupt Service Routine Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.5 Chip Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.6 PHY Layer (nTRX Driver) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.6.1 PHY Layer Data SAP PDSap (). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.6.2 PHY Layer Management Entity SAP PLMESap () . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.6.3 Upstream Callback Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.7 Application Layer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.7.1 Using PDSap () on the PHY Layer for Data Transmission Requests. . . . . . . . . . . . . . . . . . 15
4.7.2 Using PLMESap () on the PHY Layer Chip Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.7.3 Upstream Callback Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5 nanoLOC Ranging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
5.1 Symmetrical Double Sided Two-Way Ranging (SDS-TWR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
5.1.1 SDS-TWR Defined . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
5.1.2 Propagation and Processing Delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
5.1.3 Generating First Set of Time Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
5.1.4 Granting Permission to Perform Measurements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
5.1.5 Eliminating Clock Errors by a Second Symmetrical Measurement . . . . . . . . . . . . . . . . . . . 20
5.1.6 Collecting the Time Values with a Third Data Packet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
5.1.7 Calculating the Ranging Distance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
5.2 Ranging Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
5.2.1 SDS-TWR 3W_A Providing Ranging Results to Peer A . . . . . . . . . . . . . . . . . . . . . . . . . . 22
5.2.2 SDS-TWR 3W_B Providing Ranging Results to Peer B . . . . . . . . . . . . . . . . . . . . . . . . . . 24
5.2.3 SDS-TWR 2W_PP Energy Saving Ranging Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
5.3 Success and Error Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
5.3.1 Success Messages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
5.3.2 Error Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
6 nanoLOC Location Demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
6.1 Image Files and the nanoLOC DK Boards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
6.2 How Tag Locations are Determined . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
6.2.1 Initializing and Configuring the Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
6.2.2 Requesting Ranging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page iii

Table of Contents
nanoLOC Development Kit 3.0 User Guide

6.2.3 Calculating the X/Y Coordinates of Tag(s) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32


Location Demo Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
nanoLOC Location Demo Tutorial. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Setting Up the Hardware for the Location Demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Running the Location Demo with the nanoLOC DK Boards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
nanoLOC Location Demo GUI Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
6.7.1 GUI Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
6.7.2 Log Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
6.8 Running the Servers with a Command Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
6.9 Location Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
6.10 Using Hyperterminal to Connect to the Location Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
6.11 Adding Anchors and Tags to the Location Demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
6.11.1 Anchor and Tag Addresses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
6.11.2 Creating a New Anchor or Tag Image File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
6.11.3 Adding or Deleting Tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
6.11.4 Deleting an Anchor from the Location Demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
6.12 Reflashing the Default Location Demo Image Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
6.13 nanoLOC Location Demo LED and Key Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
6.13.1 Obtaining a Log File Using the nanoLOC DK Board . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
nanoLOC Ranging Demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
7.1 Image Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
7.2 Flashing the nanoLOC Ranging Demo Image Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
7.3 Using the nanoLOC Ranging Demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
7.4 nanoLOC Ranging Demo LED and Key Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
nanoLOC Talk Demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
8.1 Image Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
8.2 Running the nanoLOC Talk Demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
8.3 Running Talk Demo Using HyperTerminal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
8.4 nanoLOC Talk Demo LED and Key Usage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
nanoLOC Throughput Demo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
9.1 Image Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
9.2 Running the Throughput Demo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
9.3 nanoLOC Throughput Demo LED and Key Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
nanoLOC Packet Sniffer Demo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
10.1 Image File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
10.2 Running the nanoLOC Packet Sniffer Demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
10.3 Packet Sniffer Demo LED and Key Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
nanoLOC Ping Demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
11.1 Image File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
11.2 Running the nanoLOC Ping Demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
nanoLOC Light Switch Demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
12.1 Image Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
12.2 Running the nanoLOC Light Switch Demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Compiling with AVR Studio 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Flashing and Debugging with AVR Studio 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
14.1 Flashing a Hex File to a nanoLOC DK Board . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
14.2 Debugging the Embedded Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
6.3
6.4
6.5
6.6
6.7

10

11

12

13
14

A1 nanoLOC DK Board Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97


A1.1 Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
A1.2 Communication Interface (RS-232/UART) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
A1.3 JTAG Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
A1.4 In-System-Programming (ISP) Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
A1.5 Light Sensor (Light to Digital Converter). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
A1.6 Digital I/O Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
1.6.3 PORTC (User-Programmable LEDs) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
A1.7 LED Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

Page iv NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

Table of Contents
nanoLOC Development Kit 3.0 User Guide

A1.8 Function Buttons. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105


A2 nanoLOC DK Board Technical Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
A2.1 Schematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A2.2 PCB Layout. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A2.3 Bill of Materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4 Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

107
111
112
113

A3 nanoLOC USB Stick Technical Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115


A3.1 Schematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
A3.2 PCB Layout. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
A3.3 Bill of Materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
A4 2.4 GHz Swivel Antenna Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
A4.1
A4.2
A4.3
A4.4

Dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Return Loss and V.S.W.R. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Patterns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

119
119
120
121

A5 Compiling with WinAVR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123


A6 Flashing Hex Files with STK500 Board . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
A7 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139

2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page v

Table of Contents
nanoLOC Development Kit 3.0 User Guide

Intentionally Left Blank

Page vi NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

List of Figures
nanoLOC Development Kit 3.0 User Guide

List of Figures
Figure 1: nanoLOC Development Kit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Figure 2: nanoLOC DK Board key features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Figure 3: nanoLOC DK Board components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Figure 4: Power supply to the nanoLOC DK Board . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Figure 5: Layer structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Figure 6: nTRX Driver API General layer interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Figure 7: MsgT message structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Figure 8: Hardware adaption layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Figure 9: PHY layer SAPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Figure 10: Application layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Figure 11: SDS-TWR (simplified) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Figure 12: First set of measurements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Figure 13: Second set of measurements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Figure 14: Third Data packet to provide Peer B time values to Peer A . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Figure 15: Third Data packet to provide Peer A time values to Peer B . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Figure 16: Third Data packet not required . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Figure 17: Key components of the nanoLOC Development Kit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Figure 18: Locating tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Figure 19: Request configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Figure 20: Hardware acknowledgements indicate which tags are alive . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Figure 21: Request Ranging using Start command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Figure 22: Ranging performed between each alive tag and each anchor . . . . . . . . . . . . . . . . . . . . . . . . . 31
Figure 23: Ranging data provided to Location application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Figure 24: nanoLOC Location Server - no nanoLOC USB Stick detected . . . . . . . . . . . . . . . . . . . . . . . . . 33
Figure 25: Location Server and Location Engine Server running . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Figure 26: nanoLOC Location Demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Figure 27: nanoLOC Location Demo with Log Area minimized.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Figure 28: nanoLOC Location Demo Settings dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Figure 29: Common Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Figure 30: Anchors tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Figure 31: Values entered in the Anchors table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Figure 32: Tags tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Figure 33: Saving settings to a configuration file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Figure 34: nanoLOC Location Demo with loaded tutorial.xml file. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Figure 35: Warning to remove the existing FTDI Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Figure 36: Placing nanoLOC DK Boards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Figure 37: Anchors tab - test settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Figure 38: Unsaved changes to configuration file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Figure 39: Raw data in Location Engine. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Figure 40: Log data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Figure 41: nanoLOC Location Demo running . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Figure 42: Tag LED and Key usage nanoLOC Location Demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Figure 43: Obtaining a log file. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Figure 44: nanoLOC Ranging Demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Figure 45: nanoLOC Ranging Demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Figure 46: Selecting and opening COM port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Figure 47: Ranging measurement results displayed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Figure 48: nanoLOC Ranging Demo - running . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Figure 49: Ranging report. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Figure 50: Saving a log file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page vii

List of Figures
nanoLOC Development Kit 3.0 User Guide

Figure 51: Clear report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57


Figure 52: Exiting the application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Figure 53: Tag LED and Key usage nanoLOC Ranging Demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Figure 54: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Figure 55: nanoLOC Talk Demo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Figure 56: nanoLOC Talk Demo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Figure 57: nanoLOC Talk Demo - Help screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Figure 58: Open Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Figure 59: Select COM port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Figure 60: nanoLOC Talk Demo Console (maximized) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Figure 61: nn > Prompt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Figure 62: nanoLOC Logical Channels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Figure 63: Chat mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Figure 64: Sending chat message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Figure 65: Talk transmission and response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Figure 66: Received chat message displayed in red . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Figure 67: End Chat mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Figure 68: Tag LED and Key usage nanoLOC Talk Demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Figure 69: Setup of the nanoLOC Throughput Demo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Figure 70: Set Station as Transmitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Figure 71: nanoLOC Throughput Demo - TX station . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Figure 72: Select COM Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Figure 73: TX station transmitting. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Figure 74: Set Station as Receiver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Figure 75: nanoLOC Throughput Demo Receiving Station . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Figure 76: nanoLOC Logical Channels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Figure 77: Select COM Port RX station . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Figure 78: RX station receiving . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Figure 79: Tag LED and Key usage nanoLOC Throughput Demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Figure 80: nanoLOC Packet Sniffer Demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Figure 81: nanoLOC Packet Sniffer open port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Figure 82: nanoLOC Packet Sniffer - console . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Figure 83: nanoLOC Sniffer Demo - prompt. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Figure 84: nanoLOC Logical Channels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Figure 85: Starting promiscuous mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Figure 86: nanoLOC Packet Sniffer Demo reporting packets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Figure 87: Example decoded packet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Figure 88: Tag LED and Key usage nanoLOC Packet Sniffer Demo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Figure 89: Ping application running on nanoLOC DK Boards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Figure 90: Ping application indication LEDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Figure 91: Light Switch application running on nanoLOC DK Boards . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Figure 92: Light Switch Demo application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Figure 93: AVR Studio 4 - Welcome. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Figure 94: Select project file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Figure 95: Loaded project files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Figure 96: WinAVR not installed error message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Figure 97: nanoLOC Throughput Demo compiled files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Figure 98: project compiled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Figure 99: Select AVR Programmer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Figure 100: Locating HEX file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Figure 101: Begin flashing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Figure 102: Flashing complete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

Page viii NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

List of Figures
nanoLOC Development Kit 3.0 User Guide

Figure 103:
Figure 104:
Figure 105:
Figure 106:
Figure 107:
Figure 108:
Figure 109:
Figure 110:
Figure 111:
Figure 112:
Figure 113:
Figure 114:
Figure 115:
Figure 116:
Figure 117:
Figure 118:
Figure 119:
Figure 120:
Figure 121:
Figure 122:
Figure 123:
Figure 124:
Figure 125:
Figure 126:
Figure 127:
Figure 128:
Figure 129:
Figure 130:
Figure 131:
Figure 132:
Figure 133:
Figure 134:
Figure 135:
Figure 136:
Figure 137:
Figure 138:
Figure 139:
Figure 140:
Figure 141:
Figure 142:
Figure 143:
Figure 144:
Figure 145:

Debugging an embedded application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95


Debugging complete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
nanoLOC DK Board block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Communication Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Communication Interface schematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
JTAG connector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
ISP connector (SPI). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Light sensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
PORTB pin connector connected to PORTB on the microcontroller . . . . . . . . . . . . . . . . . . . 101
LEDs connected to PORTC on the microcontroller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
PORTD pin connector connected to PORTD on the microcontroller. . . . . . . . . . . . . . . . . . . 102
SPI pin connector and user programmable buttons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
nanoLOC DK Board PORTF (ADC and JTAG) connectors. . . . . . . . . . . . . . . . . . . . . . . . . . 104
nanoLOC DK Board schematic 1 of 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
nanoLOC DK Board schematic 2 of 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
nanoLOC DK Board schematic 3 of 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
nanoLOC DK Board schematic 4 of 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
nanoLOC DK Board - top . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
nanoLOC DK Board - bottom (inverted) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
nanoLOC DK Board - top components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
nanoLOC DK Board dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
nanoLOC USB Stick - Schematic 1 of 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
nanoLOC USB Stick - Schematic 2 of 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
nanoLOC USB Stick - top (scale 2X) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
nanoLOC USB Stick - bottom (scale 2X and inverted) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
nanoLOC USB Stick - top components (scale 2X) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Antenna mechanical dimensions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Antenna return loss and V.S.W.R. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Antenna E Plane and H Plane patterns. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Antenna E Plane and H Plane field patterns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
WinAVR Programmers Notepad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
Select project file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Opened Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Make Clean . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Make All. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Connecting the STK500 Board to the nanoLOC DK Board. . . . . . . . . . . . . . . . . . . . . . . . . . 127
Completed setup of hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Select AVR Programmer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Select AVR Programmer dialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
STK500 dialog program tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Programming hex file to board . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
AVR Studio flashing to nanoLOC DK Board . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
Flashing completed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page ix

List of Figures
nanoLOC Development Kit 3.0 User Guide

Intentionally Left Blank

Page x NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

List of Tables
nanoLOC Development Kit 3.0 User Guide

List of Tables
Table 1: nanoLOC Development Kit components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Table 2: nanoLOC DK Board components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Table 3: Power Supply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Table 4: Description of MsgT Message structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Table 5: NTRX_LogChannel attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Table 6: NTRX_Channel attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Table 7: Message structure for callback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Table 8: Message structure for callback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Table 9: nanoLOC Location Demo image files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Table 10: Common Settings tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Table 11: Anchor 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Table 12: Anchor tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Table 13: Anchor 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Table 14: Anchor 3 and Anchor 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Table 15: Anchor 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Table 16: Tag tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Table 17: Common Settings tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Table 18: Location Demo GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Table 19: Address range for anchors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Table 20: Address range for tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Table 21: NTRX_LogChannel attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Table 22: Hyperterminal connection properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Table 23: Transmit power settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Table 24: NTRX_LogChannel attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Table 25: NTRX_LogChannel attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Table 26: MAC frame types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Table 27: JTAG interface pin connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Table 28: Microcontroller to ISP pin connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Table 29: Microcontroller to light sensor pin connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Table 30: Microcontroller to PORTA pin connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Table 31: Microcontroller to PORTB pin connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Table 32: Microcontroller to PORTC pin connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Table 33: PORTD pin connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Table 34: ATmega128L microcontroller to PORTE pin connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Table 35: ATmega128L microcontroller to PORTF pin connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Table 36: nanoLOC DK Board Bill of Materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Table 37: nanoLOC USB Stick bill of materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Table 38: Antenna electrical specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Table 39: Antenna mechanical specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Table 40: Antenna environmental specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Table 41: Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133

2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page xi

List of Tables
nanoLOC Development Kit 3.0 User Guide

Intentionally Left Blank

Page xii NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

Introduction
nanoLOC Development Kit 3.0 User Guide

1 Introduction
The nanoLOC Development Kit 3.0 is designed for prototyping and developing ranging and location-aware wireless applications based on the nanoLOC TRX Transceiver. The kit includes an
extensive set of applications as both image files and source code as well the development tools
AVR Studio and WinAVR to get started immediately developing and testing wireless applications. This document describes the hardware in the kit and provides instructions for using the
nanoLOC LOCATION DEMO. Additional instructions are provided for flashing the RANGING DEMO and
other other applications to the nanoLOC DK Boards that demonstrate nanoLOCs ranging and
robust wireless communication capabilities.
Note: This document assumes the software for the nanoLOC Development Kit 3.0 has been
installed and the nanoLOC DK Boards have been assembled. If not, refer to the nanoLOC
Development Kit 3.0 Quick Start Guide.

1.1

Components
All the hardware and software required for developing and testing applications is provided in the
kit. Figure 1 below shows the hardware components of the nanoLOC Development Kit 3.0.

Figure 1: nanoLOC Development Kit

These components are described in the following tables.


Table 1: nanoLOC Development Kit components

Hardware

Qty

Description

nanoLOC DK Board

This versatile board uses the nanoLOC TRX Transceiver and the
ATmega128L microcontroller and is specifically designed for location and
ranging applications.

nanoLOC USB Stick

Enables the PC to connect to nanoLOCs wireless network via USB port.


Required for nanoLOC LOCATION DEMO. FTDI driver for this device is provided in kit setup file.

USB cable
(type A male/female)

For use with the nanoLOC USB Stick.

Atmel AVR STK 500


Development System

Used for flashing and debugging under Windows. Uses the JTAG or ISP
interface on the nanoLOC DK Board.

2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page 1

Introduction
nanoLOC Development Kit 3.0 User Guide

Table 1: nanoLOC Development Kit components

Hardware

Qty

Description

2.4 GHz omnidirectional


antenna

High-quality sleeve dipole omnidirectional antenna. Install in the same


plane for effective transmissions. Recommended antenna electrical polarization is vertical.

Power supply units

Provides a regulated 3 V power supply that can be used internationally


(with adapters not included in kit): 100-240 V, 50-60 Hz, 1 A.

JTAG-ICE AVR Adapter

Third-party device for flashing and debugging. Uses the JTAG interface on
the nanoLOC DK Board and a USB port on the PC.

USB cable
(type B male/female)

For use with the JTAG Adapter.

RS-232 cables

Required for applications that use the COM port of the PC.

Software

Description

FTDI Driver

Required for the nanoLOC USB Stick

Location Server

Required for the nanoLOC Location Demo

Location Client

Console program for running the Location Demo. Alternative access


to the nanoLOC Location Server

nanoLOC LOCATION DEMO

+ Windows-based GUI
+ Set of image files
+ Source code: embedded

application only
nanoLOC RANGING DEMO

+ Windows-based GUI
+ Set of image files
+ Source code: embedded

application only
nanoLOC TALK DEMO

+ Windows-based GUI
+ Set of image files
+ Source code: embedded

application only
nanoLOC THROUGHPUT DEMO

+ One set of image files


+ Source code

nanoLOC PACKET SNIFFER DEMO

+ One image file


+ Source code

PING AND LIGHT SWITCH DEMOS

+ Set of image files


+ Source code for both

1.2

nanoLOC DRIVER

+ Source code

Third Party Software

WINAVR and AVR STUDIO 4 are provided for compiling, flashing,


and debugging.

Documentation

Description

Nanotron Documentation

Documents for application development. Product flyers also included.

Third-Party Documentation

Datasheets and user guides for third-party software included in the kit.

Minimum Requirements
The applications included in the nanoLOC Development Kit operate on a PC running Microsoft
Windows or XP or later OS with a 1.8 GHz Pentium 4 processor or equivalent. A minimum
installation of the software requires at least 30 MBs free space, while a full installation requires at
least 210 MBs free space.
The nanoLOC LOCATION DEMO uses only one PC, while other demo programs require two PCs or,
ideally, laptops, all of which need an available USB port.

Page 2 NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

Introduction
nanoLOC Development Kit 3.0 User Guide

1.3

Kit Software
The nanoLOC Development Kit includes an extensive set of applications that demonstrate the use
of the nanoLOC chip for location-aware, ranging, and robust communication wireless applications.
Most demo programs have both an embedded application and a Windows-based graphical user
interface. Others are embedded applications only and run on the command line or by key buttons
on the nanoLOC DK Boards. Source code (written in ANSI C) of all embedded applications are
provided as examples for starting your own application development.
Note: Windows-based GUIs are not provided as source code.
+

nanoLOC LOCATION DEMO


Demonstrates nanoLOCs ranging capabilities using a location algorithm to locate tags in 2D
space. Uses five nanoLOC DK Boards (4 anchor points and 1 tag), the nanoLOC USB Stick,
and the LOCATION SERVER.

nanoLOC RANGING DEMO


Demonstrates nanoLOCs ranging capabilities to determine the distance between two nanoLOC
DK Boards (1 tag and 1 anchor). A set of embedded applications for the tag and reader provide
ranging data, while a Windows-based application displays the ranging data results.

nanoLOC TALK DEMO


Demonstrates point-to-point wireless communication between two nanoLOC DK Boards using a
simple chat application.

nanoLOC THROUGHPUT DEMO


Measures data throughput and packet error rate between two nanoLOC DK Boards.

nanoLOC PACKET SNIFFER DEMO


Uses a single nanoLOC DK Board to intercept and log any traffic passing over a wireless nanoLOC network.

PING DEMO and LIGHT SWITCH DEMO


Uses two nanoLOC DK Boards to demonstrate sending commands to remote nodes in a nanoLOC network (Ping demo) and operating a simple sensor / actor network (Light Switch demo).

nanoLOC nTRX Driver


Provides an API for applications and sends MAC layer messages to the nanoLOC chip over the
SPI interface. Can be integrated into nanoLOC-based wireless applications.

2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page 3

Introduction
nanoLOC Development Kit 3.0 User Guide

Intentionally Left Blank

Page 4 NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

nanoLOC DK Board Overview


nanoLOC Development Kit 3.0 User Guide

2 nanoLOC DK Board Overview


The nanoLOC DK Board includes a nanoLOC EVR Module and the ATmega128L microcontroller.
The EVR Module integrates the nanoLOC TRX Transceiver and required external circuitry.

2.1

Components
SMA connector

nanoLOC EVR
Module

JTAG connector

ATmega128L
microcontroller
TX/RX
jumpers for RS-232

Reset
button

Programmable
LEDs

Connector for
battery pack

Programmable
buttons
On/Off Switch

Connector for
RS-232 cable
2.1 mm barrel connector

JP2 for Voltage Regulator

Figure 2: nanoLOC DK Board key features


Power On/Off
switch

Ground

TX/RX
LED
Programmable
buttons

Power
LED

JP2 for
Voltage
Regulator

Programmable
LEDs
L8

K3

K2

L1

K1
7.3728 MHz
External
Oscillator

2.1 mm
barrel
connector
DC-DC
converter
RX jumper
for RS-232

32.768 kHz
Quartz
Oscillator

ATmega128L
microcontroller

DE-9 D-sub
connector

Reset
button

nanoLOC
EVR Module

TX jumper
for RS-232

SMA
connector for
2.4 GHz
antenna

Light
Sensor
Connector for
Battery Pack

+
-

JP3 for
ADC Converter

1
2

Port D
connectors

ADC/IO
connectors

JTAG
connector

ISP
Port B
connectors connectors

Figure 3: nanoLOC DK Board components

The components of the nanoLOC DK Board are described in table 2 below.


Note: Schematics and layout and BOM for the nanoLOC DK Board are provided in Appendix 2:
nanoLOC DK Board Technical Description on page 107.
2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page 5

nanoLOC DK Board Overview


nanoLOC Development Kit 3.0 User Guide

Table 2: nanoLOC DK Board components

Part

Description

nanoLOC EVR
Module

Contains the nanoLOC TRX Transceiver along with external circuitry required for its
operation. It provides basic RF functionality including transmission (TX) and reception (RX) as well as basic digital operations. It also includes an ISM bandpass filter
at antenna connector for filtering signal disturbances.

ATmega128L
microcontroller

A low power CMOS 8-bit microcontroller based on the AVR enhanced RISC architecture with 128 Kb Flash and 4 Kb SRAM. This microcontroller drives the
nanoLOC TRX Transceiver via the SPI interface. Operates between 2.7 V and 5.5
V. See also Atmel ATmega128L datasheet available from Atmel.

Light sensor

Light-to-digital converter (part number TSL2561T).

Power supply socket

Uses a 2.1 mm barrel connector from a maximum 3.0 V unregulated power supply.

Battery connector pin


(JP1)

Connector for a 3.0 V (max.) battery pack.

Power ON/OFF
switch

Disconnects from either the barrel connector or the JP1 power source but NOT from
the JTAG connector power source.

PWR LED

When illuminated, indicates power supply is on.

DC-DC converter
(voltage regulator)

When a power supply of 3.0 V or less is used, the DC-DC converter is required to
provide a constant 3.3 V output to the ATmega128L c and to the nanoLOC RF
Module. (Input voltage: Between 1.0 V and 3.0 V. Output voltage: 3.3 V)
Note: The voltage regulator jumpers (JP2) need to be connected when the DC-DC
converter is used.

TX/RX LED

When illuminated, indicates transmission and reception activity.

Programmable LEDs

Eight user-programmable red, orange, and gold activity LEDs. Their anodes and
cathodes are connected to PORTC via 680 resistors and to ground.

DE-9 D-sub connector

Connector for serial interface using an RS-232 cable.

Pin access points

Used for testing and measurements.

Reset button

Used to reset the microcontroller.

Programmable
buttons

The nanoLOC ATmega128L Board provides three user-programmable buttons that


connect some of the I/O pins to ground and a reset switch.

I/O Ports

The ATmega128L microcontroller provides six I/O ports PORTA, PORTB,


PORTC, PORTD, PORTE and PORTF. The pins of these ports are directly connected to the ports of the microcontroller.
+ PORTA is partly connected to the Light Sensor, with the remaining pins extended
to RS232 Force On solder pads.
+ PORTB is a general I/O port.
+ PORTC is connected to the eight user-programmable LEDs.
+ PORTD is a general I/O port.
+ PORTE is partly connected to the ISP and partly to the user-programmable buttons.
+ PORTF supports the ADC channel inputs and the ATmega128L built-in JTAG
interface.

JTAG connector

JTAG interface for debugging and flashing purposes.


Note: If a power supply is provided by the JTAG interface, it must not be higher than
3.0 V or damage may occur to the board.

ISP (In-System
Programming)
connector

SPI Interface for on-chip In-System Programming (ISP).


The ISP port is compatible with the STK500 Evaluation Board.

32.768 kHz quartz

A 32.768 kHz quartz for the timer/counter oscillator.

7.3728 MHz external


oscillator

A 7.3728 MHz quartz crystal as an external oscillator.

Page 6 NA-06-0230-0402-3.0

Note: If a power supply is provided by the ISP connector, it must not be higher than
3.0 V or damage may occur to the board.

2010 Nanotron Technologies GmbH.

nanoLOC DK Board Overview


nanoLOC Development Kit 3.0 User Guide

2.2

Power Supply
Both the nanoLOC DK Board and the nanoLOC EVR Module mounted on the board operate at
3.3 V. However, since the nanoLOC DK Board uses an up-converter to 3.3 V, a power supply of
between 1.0 V and 3.0 V is required (and should not exceed 3.3 V - see warning below).
Table 3: Power Supply

Power Supply Units (Included)

Battery Packs (Not Included)

A power supply unit with a maximum 3.0 V unregulated supply voltage, which uses the 2.1 mm DC barrel connector (center pin is positive).

A battery pack (not included in kit) with a minimum of


one 1.5 V AA alkaline cell (two 1.5 V AA alkaline cells
are recommended) and with a maximum 3.0 V regulated supply voltage. The battery pack uses the connector labelled BAT.

Note: The power supply unit included in the kit has


been pre-set for 3.0 V.

Note: When using the power supply connectors,


ensure that the battery pack is connected with
the correct polarity as shown in Figure 4 below.
THE BATTERY PACK AND THE POWER SUPPLY UNIT CANNOT BE USED AT THE SAME
TIME. DO NOT LEAVE THE POWER SUPPLY CABLE PLUGGED INTO THE BOARD WHEN
BATTERIES HAVE BEEN INSTALLED IN THE BATTERY PACK. PERSONAL INJURIES OR
EXPLOSIONS CAN OCCUR.
Also, to allow low single battery cell supply voltages down to 1 V, the nanoLOC DK Board does not provide a
diode to protect against reverse polarity. Therefore, the board will be permanently damaged if a power supply
is connected to the board with the wrong polarity, and/or with voltages exceeding 3.3 volts.

Sliding Switch
When a power supply is provided to the nanoLOC DK Board, the power supply LED (labelled PWR)
is illuminated. To switch off the board without having to remove the power supply, a sliding switch
(labelled ON/OFF) has been provided. Figure 4 shows the location of the ON/OFF sliding switch.
Note: The ON/OFF sliding switch does not affect power provided by the JTAG/ISP connectors.
Board switched on
and PWR LED
illuminated

1 V to 3V
power
supply
OR
battery
pack

+
BAT

Figure 4: Power supply to the nanoLOC DK Board

2.3

Voltage Regulator
Both the ATmega128L microcontroller and the nanoLOC RF Module require a steady voltage of
3.3 V. Therefore, the board provides a voltage regulator, which is a monolithic micropower step-up
DC-DC converter for powering equipment from battery packs containing either one or two cells.
The voltage regulator starts up with a voltage of 0.8 V and operates down to less than 0.3 V. This
regulator is capable of up to 200 mA of output current at an input voltage of 2.0 V and an output
voltage of 3.3 V.
Note: The voltage regulator output becomes inaccurate if the input voltage exceeds 3.0 V.

2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page 7

2
2.4

nanoLOC DK Board Overview


nanoLOC Development Kit 3.0 User Guide

nanoLOC TRX Transceiver Features


The key features of the nanoLOC TRX Transceiver include:
+ Built-in precise ranging
+ Operates worldwide: 2.45 GHz ISM band
+ Programmable data rates: 250 kbps to

1 Mbps
+ Modulation technique: CSS (Chirp Spread

Spectrum)
+ Programmable output power dynamic

range1: 37.5 dB
+ Receiver sensitivity: -95 dBm @

BER=0.001 at nominal conditions1


(FEC off)
+ Receiver sensitivity: -97 dBm @

BER=0.001 at nominal conditions1


(FEC on)
+ Extended operating temperature range

(industrial): Tambient = -40C to +85C


+ FDMA (Frequency Division Multiplex

Access) with 3 non-overlapping frequency


channels and 14 overlapping frequency
channels

+ In-band Carrier to Interference Ratio (C/I):

C/I = 0 3 dB @ 250 kbps @ C = -65 dBm


+ Allows unregulated 2.3 V2.7 V supply

voltage
+ Power down mode for increased current

saving
+ Extremely low shut down current 2 A1
+ Software controlled power supply for exter-

nal microcontroller allows further energy


saving
+ 32768 Hz clock available for an external

microcontroller and other frequencies are


also available (feature clock)
+ Integrated fast SPI interface (27 Mbps,

slave mode only)


+ Integrated frame buffering
+ Integrated microcontroller management

function
+ General purpose 4-bit digital I/Os for easy

connection to sensors and actors


+ Hardware MAC accelerators for time critical

and computation intensive tasks


1.

See nanoLOC TRX Transceiver (NA5TR1)


Datasheet for nominal conditions.

Note: For a full technical description, refer to the nanoLOC TRX Transceiver Datasheet.

Page 8 NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

Evaluating Wireless Transmissions


nanoLOC Development Kit 3.0 User Guide

3 Evaluating Wireless Transmissions


The quality and range of wireless transmissions are dependent on a number of key factors. These
include, but are not limited to, the physical environment in which the transmissions take place and
the amount of noise or electromagnetic interferers within the vicinity of the transmissions. The following provides some general remarks to consider when evaluating the quality and range of wireless transmissions.

3.1

Reliability of Radio Frequency (RF) Links


In many applications - especially where wired systems are replaced by wireless systems - often
the wireless system is expected to have the same reliability as the existing cable-based system.
However, wireless systems are affected sometimes significantly by signal influencing factors
such as attenuation, reflections, fading, as well as other interfering systems that counteract with a
reliable data communication.
To anticipate these expectations for a wireless system, it is necessary to take in account these
potential influencing factors in the system design.

3.2

Reliable Data Communication


In contrast to existing narrowband data transmission methods, nanoLOCs Chirp Spread Spectrum
(CSS) technology provides the best possible margin for data communication due to its broadband
time and frequency spreading characteristics.
In adverse RF situations such as in the presence of strong RF interferers or high signal attenuation
(metal enclosures), the RF communication in even the most robust systems can be affected by the
physical constraints of a particular RF environment.
Note: For more details about Chirp Spread Spectrum, see nanoLOC TRX Transceiver User
Guide.

3.3

Ranging Precision
Strong RF interferers and high signal attenuation also affect the obtainable precision for ranging.
The implemented ranging algorithm is based on a Time of Flight (ToF) measurement. For very
reflective RF environments in combination with a blocked direct signal (non-line-of-sight), the measured signal can actually be a reflected signal. So the measured distance will be longer than the
actual distance (direct line) between the two RF devices.
Note: For more details about ranging, see 5. nanoLOC Ranging on page 19.

3.4

Obtainable Range
In performing ranging, a frequently asked question is What is the maximum obtainable range?. In
general, the range is determined by the link budget that is available for a given data link. Link budget is the output power of the transmitter vs. the input sensitivity of the receiver.
For true line-of-sight conditions where no interferers exist, the obtainable distance can be easily
calculated for a given frequency. However, in most cases this ideal environment is not possible due
to reflections by walls, buildings, vegetation or the earths ground. These interferers can severely
influence the propagation characteristics of the signal. This inevitably leads to shorter communication ranges compared to ranges calculated for ideal scenarios.

2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page 9

3
3.5

Evaluating Wireless Transmissions


nanoLOC Development Kit 3.0 User Guide

Receiver Sensitivity
When interferers are present at the receivers end of the wireless link, the receivers sensitivity is
degraded by the prevailing amount of RF noise. For a comparison, consider ordinary audio noise
at a radio receiver where a considerable noise floor is present. A persons ear sensitivity has no
effect on the quality of the audio sound. Likewise, with RF receivers the quality of the received signal is degraded if a considerable noise floor is present. The noise floor determines the receivers
sensitivity and, therefore, limits the maximum obtainable communication range.

3.6

Summary
In summary, a communication range can not be stated by considering the RF link alone without
also taking in account the environment in which the communication takes place.
The effects mentioned in this section are generally true for RF links. They have to be taken in consideration during the system design to successfully implement a specified radio application.

Page 10 NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

nanoLOC API
nanoLOC Development Kit 3.0 User Guide

4 nanoLOC API
This section describes how an application accesses chip functionality through the use of the application programming interface (API) of the nanoLOC nTRX Driver. The API uses the same naming
convention as IEEE 802.15.4.

4.1

nanoLOC nTRX Driver


Applications access the nanoLOC TRX Transceiver through the API of the nanoLOC nTRX Driver.
Upper layers, including the application layer, communicate with lower layers by sending and
receiving commands. With this API, the application layer has a simple means of accessing the
chips functions, including chip-specific settings and performance criteria such as address matching, error checking, modulation methods, and data transmission rates. Hardware adaption layer
messages are sent to the nanoLOC chip over the SPI interface. The nanoLOC API is located
within the phy.c module of the nTRX Driver source code.
= Interface

Logical Connection

Application Layer

TX

= Message

Application Layer

RX

= SAP
PHY Layer (nTRX Driver)

PHY Layer (nTRX Driver)

Event Handler

Event Handler

Hardware Adaption
Layer

Hardware Adaption
Layer

nanoLOC
TRX Transceiver

nanoLOC
TRX Transceiver
Physical Connection

Transmitted Packet

TX

RX

Received Packet

Figure 5: Layer structure

The nanoLOC TRX Driver API reads and writes values into the registers of the nanoLOC TRX
Transceiver. Some of the key settings of the nanoLOC TRX Driver include the following:
+

Sets the Logical Network ID (which sets the


SyncWord)

Enables / disables address matching

Enables / disables Broadcast (Brdcast) or


Time Beacon (TimeB) packets

Enables / disables receiver CRC2 checking

Sets CRC2 method to detect transmission


bit errors

Sets CSMA/CA (carrier sense method for


collision avoidance)

Enables / disables a backoff scheme for


packet collision avoidance

Enables / disables Automatic


Request (ARQ) on the receiver

2010 Nanotron Technologies GmbH.

Sets the transmission output power

Calibrates frequency of transmission and


reception oscillators

Sets frequency bandwidth

Selects frequency channel (for narrowband


transmission)

Reads out range (distance) value

Manual starting and stopping packet transmission

Sets the data transmission rate

Enables / disables Forward Error Correction


(FEC)

Repeat

NA-06-0230-0402-3.0 Page 11

4
4.2

nanoLOC API
nanoLOC Development Kit 3.0 User Guide

General Layer Interface SAP, MESAP and Callback


All communication between layers is done by sending and receiving messages. Each layer has the
same interface and can be easily exchanged or extended without changing the overall interface.
Service Access Points (SAPs) are implemented as C functions and accepts a single pointer to a
C-Struct interpreted as a message. This message contains all the necessary information required
to execute a task from an upper layer. Figure 6 below illustrates the general layer interface (SAP,
MESAP and Callback) of the nanoLOC nTRX Driver.
Application Layer
APPCallback

PDSap

PLMESap
PHY layer (nTRX Driver)

C and HW independent

PDCallback

Hardware Adaption Layer

SPI Interface

IRQ

C and HW dependent

Reset

nanoLOC Chip
Figure 6: nTRX Driver API General layer interface

The PHY layer provides two Service Access Points (SAPs) for downstream messages from the
Application Layer: LayernameSAP and LayernameMESAP. The PHY layer also provides one callback function for upstream messages from the Hardware Adaption Layer: LayernameCallback.
The general form for these SAPs are:
+

Downstream SAPs:
void LayernameSAP (MsgT *msg);
void LayernameMESAP (MsgT *msg);

On the PHY layer, these SAPs are:


void PDSap (MsgT *msg)
void PLMESap (MsgT *msg)
+

Upstream Callback Function:


void LayernameCallback (MsgT *msg);

On the PHY layer, this callback function is:


void PDCallback (void)
+

In addition to these services, every layer has variables that have to be initialized. This action is
put into a separate function called LayernameInit:
void LayernameInit (void);

On the PHY layer, this function is:


void PHYInit (void)

Page 12 NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

nanoLOC API
nanoLOC Development Kit 3.0 User Guide

4.3

General Message Structure MsgT


For a layer to provide information to a lower layer, the message structure MsgT is used, which is
located in the file ntrxtypes.h. Return values are also provided with the help of this structure.
typedef struct
{
uint8_t prim;
AddrT addr;
uint8_t len;
uint8_t *pdu;
uint8_t data[CONFIG_MAX_PACKET_SIZE];
uint8_t status;
uint16_t value;
uint8_t attribute;
} MsgT;

The primitive of the message.


MAC address of the message.
Payload length
pointer to beginning of payload in buffer
Payload of the message
Status value for confirmations
Configuration value of a layer setting
Attribute for setting or getting chip configuration requests

Figure 7: MsgT message structure

Table 4 below describes the variables in the message structure MsgT.


Table 4: Description of MsgT Message structure

4.4

Variable

Description

uint8_t prim;

Primitive name (1 byte)

AddrT addr;

MAC address of destination station (6 bytes)

uint8_t len;

Length of message (1 byte)

uint8_t *pdu;

Points to the beginning of the payload in the buffer

uint8_t
data[MAX_PACKET_SIZE];

Payload of message (n bytes to a maximum of 128 bytes)

uint8_t status;

Status indicator used with LayerCallback function (1 byte)

uint16_t value;

Value of requested parameter used for setting or getting chip configuration requests (2 bytes)

uint8_t attribute;

Selected attribute used with the value parameter for setting or getting chip configuration requests (1 byte)

Hardware Adaption Layer Microcontroller and Hardware Dependent


The Hardware Adaption Layer is used to access the nanoLOC TRX Transceiver and |is dependent
on the microcontroller and hardware.
PDCallback

Hardware Adaption Layer

SPI Interface

IRQ

Reset

nanoLOC Chip

Figure 8: Hardware adaption layer

Note: This layer must be written for each microcontroller family. The nanoLOC Development Kit
uses the Atmel ATmega128L microcontroller, which is part of the AVR family of microcontrollers.
2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page 13

nanoLOC API
nanoLOC Development Kit 3.0 User Guide

4.4.1 SPI Bus Functions


The implementation of the Hardware Adaption Layer for AVR microcontrollers uses four functions
to communicate with the nanoLOC chip over the SPI bus. It also uses an interrupt service routine.
The functions for the SPI bus include:
void
void
void
void

NTRXSPIRead(uint8_t address, uint8_t *buffer, uint8_t len);


NTRXSPIWrite(uint8_t address, uint8_t *buffer, uint8_t len);
NTRXSPIReadByte(uint8_t address, uint8_t *buffer);
NTRXSPIWriteByte(uint8_t address, uint8_t buffer);

where:
+

NTRXSPIRead reads multiple bytes to the nanoLOC chip

NTRXSPIWrite writes multiple bytes to the nanoLOC chip

NTRXSPIReadByte reads single bytes to the nanoLOC chip

NTRXSPIWriteByte writes single bytes to the nanoLOC chip

4.4.2 Interrupt Service Routine Function


The function used for interrupt service routines is:
void NTRXInterrupt (void)

The interrupt service routine will read the IRQ status register and raise a flag for transmission finished or message reception. The actual processing of the interrupt source is done in normal context through the use of the function PHYPoll().

4.5

Chip Initialization
To prepare the nanoLOC chip for message sending and receiving, the following function is used:
bool_t NtrxInit(void)

4.6

PHY Layer (nTRX Driver)


The PHY layer provides two downstream SAPs for the Application Layer and an upstream callback
function for the Hardware Adapter Layer, as shown in figure 9 below.
Application Layer
APPCallback

PDSap

PLMESap
PHY layer (nTRX Driver)
PDCallback

Hardware Adaption Layer


Figure 9: PHY layer SAPS

Page 14 NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

nanoLOC API
nanoLOC Development Kit 3.0 User Guide

4.6.1 PHY Layer Data SAP PDSap ()


PDSap () is used by the Application Layer for downstream data transmission to the PHY layer.
This SAP uses the message structure MsgT.
void PDSap (MsgT *msg)

For details on the structure MsgT and parameters required for the SAP PDSap (), see 4.7.1. Using
PDSap () on the PHY Layer for Data Transmission Requests on page 15:
4.6.2 PHY Layer Management Entity SAP PLMESap ()
PLMESap() is used by the Application Layer for nanoLOC chip configuration requests and queries.
void PLMESap (MsgT *msg)

For details on the structure MsgT and parameters required for the SAP PLMESap (), see 4.7.2.
Using PLMESap () on the PHY Layer Chip Configuration on page 16:
4.6.3 Upstream Callback Function
The PHY layer provides a single upstream Callback function PDCallback.
void PDCallback (void)

4.7

Application Layer
The Application Layer accesses the two downstream SAPs on the PHY layer PDSap () and
PLMESap ()and provides to the PHY layer an upstream callback function, as shown in figure 10
below:
Application Layer
APPCallback

PDSap

PLMESap
PHY layer (nTRX Driver)
Figure 10: Application layer

4.7.1 Using PDSap () on the PHY Layer for Data Transmission Requests
The Application layer uses the PHY layer SAP PDSap () for data transmission.
void PDSap (MsgT * msg)

The Application layer uses MsgT, as described in section 4.3 (unused parameters noted below).
typedef struct
{
uint8_t prim;
AddrT addr;
uint8_t len;
uint8_t *pdu;
uint8_t data[128];
uint8_t status;
uint16_t value;
uint8_t attribute;
} MsgT;

2010 Nanotron Technologies GmbH.

Not used for sending messages

NA-06-0230-0402-3.0 Page 15

nanoLOC API
nanoLOC Development Kit 3.0 User Guide

Primitives
The parameter prim uses the following primitives (attribute parameter) to indicate the requested
service:
+

PD_DATA_CONFIRM Hardware acknowledgement has been received


PURPOSE: Indicates that a PD_DATA_REQUEST message was successfully executed.
Valid parameters include data payload (data), destination address (addr), payload length
(len), and success or failure (status).

PD_DATA_INDICATION Message has been received


PURPOSE: A message has been received from another device.
Valid parameters are data payload (data), source address (addr), and payload length (len).

PD_DATA_REQUEST Transmit a message


PURPOSE: Requests a message to be transmitted to a given destination.
Valid parameters include type of request (prim), destination address (addr), data payload
(data), and payload length (len).

4.7.2 Using PLMESap () on the PHY Layer Chip Configuration


The Application layer sends configuration requests and queries to the nanoLOC TRX Transceiver
using the SAP PLMESap() on the PHY Layer.
void PLMESap (MsgT * msg)

The Application layer uses MsgT, as described in section 4.3 (unused parameters noted below).
typedef struct
{
uint8_t prim;
AddrT addr;
Not used
uint8_t len;
uint8_t *pdu;
uint8_t data[128];
uint8_t status;
uint16_t value;
uint8_t attribute;
} MsgT;

Primitives
The parameter prim uses the following primitives (attribute parameter) to indicate the requested
service:
+

PLME_GET_REQUEST
PURPOSE: Queries a setting of the layer parameter. For example, is FEC set to on?
The attribute parameter is used to select one of the supported attributes (see below), while
the value parameter selects the current setting of the attribute. The value field is only valid if
the status field indicates no error.

PLME_SET_REQUEST
PURPOSE: Sets a parameter of the layer. For example, set FEC to on.
The attribute parameter is used to select one of the supported attributes (see below), while
the value parameter provides the new value to set.

Page 16 NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

nanoLOC API
nanoLOC Development Kit 3.0 User Guide

Attributes
The following attributes are available to be set or queried through the function PLMESap().
+

PHY_LOG_CHANNEL
PURPOSE: Selects or requests a logical channel, which is a predefined set of transmission
mode settings. Table 5 lists the supported logical channels.
Table 5: NTRX_LogChannel attributes

Logical Channel

Bandwidth [MHz]

Bitrate [ns]

FEC

Centerfreq ID

NLC_80_1_N_0

80

1000

No

NLC_22_4_N_1

22

4000

No

NLC_22_4_N_7

22

4000

No

NLC_22_4_N_13

22

4000

No

13

PHY_CHANNEL
PURPOSE: Sets the center frequency used in the NTRX_Mode. Table 6 lists the available channels:
Table 6: NTRX_Channel attributes

Channel ID

Center Frequency [GHz]

Description

2.442.175

CSS, 80 MHz

2.412

802.11b, CHNL_ID 1

2.417

802.11b, CHNL_ID 2

2.422

802.11b, CHNL_ID 3

2.427

802.11b, CHNL_ID 4

2.432

802.11b, CHNL_ID 5

2.437

802.11b, CHNL_ID 6

2.442

802.11b, CHNL_ID 7

2.447

802.11b, CHNL_ID 8

2.452

802.11b, CHNL_ID 9

10

2.457

802.11b, CHNL_ID 10

11

2.462

802.11b, CHNL_ID 11

12

2.467

802.11b, CHNL_ID 12

13

2.472

802.11b, CHNL_ID 13

14

2.484

802.11b, CHNL_ID 14 (Japan)

15

2412.75

HR low band center frequency

16

2470.76

HR high band center frequency

PHY_ARQ
PURPOSE: Turns on and off automatic retransmissions. When on, it also sets the maximum
number of retransmissions. The range for maximum retransmissions is 0 to 14.

PHY_FEC
PURPOSE: This attribute turns on and off Forward Error Correction (FEC). For more details
about FEC, see nanoLOC TRX (NA5TR1) Transceiver User Guide.

PHY_TX_POWER
PURPOSE: This attribute sets the output power of the transmitter. The programmable output
power of the nanoLOC chip is from -33 dBm to 0 dBm.

2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page 17

nanoLOC API
nanoLOC Development Kit 3.0 User Guide

PHY_ADDR_MATCHING
PURPOSE: This attribute turns on and off address matching. For more details about address
matching, see nanoLOC TRX (NA5TR1) Transceiver User Guide.

NTRX_RTC
PURPOSE: This attribute accesses the Real Time Clock of the nanoLOC chip. For more details
about the Real Time Clock, see nanoLOC TRX (NA5TR1) Transceiver User Guide.

PHY_PWR_DOWN_MODE
PURPOSE: This attribute is used to put the nanoLOC chip into PowerDownModeFull or PowerDownModePad. For more details about power down modes, see nanoLOC TRX (NA5TR1)
Transceiver User Guide.

PHY_RECALIBRATION
PURPOSE: This attribute is used to switch cyclic recalibration on or off. In case of on, it also sets
the calibration interval. For more details about recalibration, see nanoLOC TRX (NA5TR1)
Transceiver User Guide.

PHY_MAC_ADDRESS1
PURPOSE: This attribute is used to set the local MAC address. This address is used for address
matching and as sender address when transmitting messages. For more details address
matching, see nanoLOC TRX (NA5TR1) Transceiver User Guide.

4.7.3 Upstream Callback Function


The Application Layer provides to the PHY layer the following upstream callback function:
void APPCallback (MsgT *msg)

Page 18 NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

nanoLOC Ranging
nanoLOC Development Kit 3.0 User Guide

5 nanoLOC Ranging
nanoLOC Ranging uses a methodology called Symmetrical Double-Sided Two-Way Ranging
(SDS-TWR) developed by Nanotron Technologies and is part of the nanoLOC nTRX Driver. In the
nanoLOC Development Kit three different ranging modes are available:

5.1

SDS-TWR 3W_A provides measurement results to Peer station A (the local station that
requested the ranging)

SDS-TWR 3W_B provides measurement results to Peer station B (the remote station with
which the location station is performing ranging)

SDS-TWR 2W_PP operates identical to 3W_A except it uses time data from the previous ranging request to reduce energy consumption and quicker generation of ranging results

Symmetrical Double Sided Two-Way Ranging (SDS-TWR)


5.1.1 SDS-TWR Defined
The SDS-TWR ranging methodology is:
+

Symmetrical as the first ranging measurement from Peer A to Peer B is mirrored by a second
ranging measurement from Peer B to Peer A

Double-Sided as the ranging measurement is performed between two peer nanoLOC - enabled
devices

Two-Way as a Data packet and an automatic hardware acknowledgement provide the time values used for determining the ranging measurement

Figure 11 below shows a SDS-TWR ranging request cycle with two-way (Data and Ack packet),
double-sided (Peer A and Peer B), and symmetrical (ABA and BAB) ranging.
Data packet

A to B to A
Ack packet

Peer A

Peer B

Data packet

B to A to B
Ack packet

Peer A

Peer B

Figure 11: SDS-TWR (simplified)

5.1.2 Propagation and Processing Delay


Key to SDS-TWR are two time delay values:
+

TX Propagation Delay, which is the time required for a speed of a signal propagating through
the air is known (speed of light), as is the time when the packet was sent and the time when it
was received. Using the delay and speed of light, a distance value can be generated.

Processing Delay
The nanoLOC TRX Transceiver uses a measured time delay to receive a data packet and to
generate and transmit a hardware acknowledgement packet.

2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page 19

nanoLOC Ranging
nanoLOC Development Kit 3.0 User Guide

5.1.3 Generating First Set of Time Values


The round trip of a Data packet and a hardware acknowledgement (Ack packet) is used to generate the TX propagation delay value T1, while the processing delay time is the value T2. This first
set of generated time values are shown in figure 12 below.
+

Generating T1
When the application on Peer A requests ranging, a Data packet is sent to Peer B which automatically returns an Ack packet. Peer A generates T1 using the time when the Data packet was
sent, when the Ack packet was received, and the known value of the signal propagation speed.
This value T1 is stored in memory on Peer A.

Generating T2
T2 is the measured value of processing an Ack packet in the nanoLOC TRX Transceiver. This
value T2 is stored in memory on Peer B.
Peer A
T1

Peer B
TX propagation delay - A to B to A

T2

Processing
delay

Figure 12: First set of measurements

5.1.4 Granting Permission to Perform Measurements


Once a request for ranging is sent to Peer B, this station needs to grant permission to perform the
ranging measurements before the remaining time values are generated. This allows a station to
temporarily suspend ranging measurements independent of the ranging request from the peer station. This permission is set in software and is read out by the peer station before the time values T2
and T3 are provided.
5.1.5 Eliminating Clock Errors by a Second Symmetrical Measurement
To eliminate any errors caused by the clock crystals on each peer station not being synchronized,
the ranging measurements are repeated symmetrically from Peer B to Peer A, as shown in figure
13 below. This generates a second set of time values T3 and T4.
+

Generating T3
After Peer B grants permission to continue with ranging, Peer B sends a Data packet to Peer A
which automatically returns an Ack packet. Peer B generates T3 using the time when the Data
packet was sent, when the Ack packet was received, and the known value of the signal propagation speed. This value T3 is stored in memory on Peer B.

Generating T4
T4 is the measured value of processing an Ack packet in the nanoLOC TRX Transceiver. This
value T4 is stored in memory on Peer A.
Peer A
T1

Peer B
TX propagation delay - A to B to A

Peer A
Processing
delay

T4

T2

Processing
delay

Peer B
TX propagation delay - B to A to B

T3

Figure 13: Second set of measurements

5.1.6 Collecting the Time Values with a Third Data Packet


When the ranging measurements have been completed, the time values need to be collected to
generate a ranging distance. Two values T1 and T4 are on Peer A while T2 and T3 are on Peer B.
nanoLOC Ranging provides several methods of collecting these values to provide flexibility for
designing ranging products.
Page 20 NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

nanoLOC Ranging
nanoLOC Development Kit 3.0 User Guide

SDS-TWR 3W_A uses Peer A to generate the ranging distance. This requires a third packet to
provide Peer B time values to Peer A, as shown in figure 14 below.
Peer A

Peer B
TX propagation delay - A to B to A

T1

T2

Peer A

Peer B
TX propagation delay - B to A to B

T4

T3

Peer A

Peer B
T2 and T3 provided to Peer A

Figure 14: Third Data packet to provide Peer B time values to Peer A

SDS-TWR 3W_B provides Peer A time values to Peer B, as shown in figure 15 below.
Peer A

Peer B
TX propagation delay - A to B to A

T1

T2

Peer A

Peer B
TX propagation delay - B to A to B

T4

T3

Peer A

Peer B
T1 and T4 provided to Peer B

Figure 15: Third Data packet to provide Peer A time values to Peer B

SDS-TWR 2W_PP uses time values from a previous ranging request to generate the ranging
distance.

T1 and T4 from
previous ranging
request provided
to Peer A

Peer A

Peer B
TX propagation delay - A to B to A

T1

T2

Peer A

Peer B
TX propagation delay - B to A to B

T4

T3

T2 and T4 for
next ranging
ranging

Peer B
Figure 16: Third Data packet not required

These methods are described in detail in 5.2. Ranging Modes on page 22.
5.1.7 Calculating the Ranging Distance
With all four time values available, the distance between Peer A and Peer B can be generated
using the following formula:

( T1 T2 ) + ( T3 T4 )

Distance = -------------------------------

where:
T1 - T2 = measurement 1
T1 = TX Propagation delay time of a round trip between Peer A and Peer B
T2 = Processing delay in Peer B
T3 - T4 = measurement 2
T3 = TX Propagation delay time of a round trip between Peer B and Peer A
T4 = Processing delay in Peer A
2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page 21

5
5.2

nanoLOC Ranging
nanoLOC Development Kit 3.0 User Guide

Ranging Modes
Three ranging modes are provided to allow flexible development of ranging and location-aware
applications: 3W_A, 3W_B, and 2W_PP.
5.2.1 SDS-TWR 3W_A Providing Ranging Results to Peer A
In this mode, Peer A generates the ranging distance. Data can be included in payload. Permission
to perform measurements can be denied.
1

Peer A requests 3W_A ranging mode. User data can also be sent to Peer B, but will not be
read out after the ranging measurements have been completed.
void PDSap (MsgT *msg)

where the message structure is:

Variable

Description

uint8_t prim;

PD_RANGING_REQUEST

AddrT addr;

MAC address of destination address which is the ranging target.

uint8_t data[];

User data to be transmitted.

uint8_t len;

Length of user data with a maximum of 100 bytes.

uint8_t attribute;

RANGING_TYPE_3W_A

After sending the ranging request, Peer A receives a ranging confirmation.


void APLCallback (MsgT *msg)

where the message structure is:

Variable

Description

uint8_t prim;

PD_RANGING_CONFIRM

uint8_t status;

Status messages include PHY_SUCCESS (ranging has successfully


started), PHY_NO_ACK (remote station does not exist), and so on.

Peer B must grant permission for ranging to continue. User data can also be sent to Peer A at
this point.
bool_t Permission(uint8_t *macAddr, uint8_t *data, uint8_t *len)

where the parameters are:


Parameter

Description

AddrT *macAddr

Address of the requesting ranging station (Peer A)

uint8_t *data

A pointer to user data with a maximum of 100 bytes grants permission to ranging. To deny the ranging request, a null value must be
set.

uint8_t *len

Length of the user data.

Note: Permission code must be written as efficiently as possible to prevent Peer A station
from excessive waiting for the Data packet from Peer B. Otherwise, Peer A may switch
into sleep mode after a timeout.
Page 22 NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

nanoLOC Ranging
nanoLOC Development Kit 3.0 User Guide

If Peer B has put user data in the Data packet, a data indication is provided to Peer A.
void APLCallback (MsgT *msg)

where the message structure is:

Variable

Description

uint8_t prim;

PD_DATA_INDICATION

AddrT addr;

Source address of the Data packet.

uint8_t data[];

User data to be transmitted.

uint8_t len;

Length of user data with a maximum of 100 bytes.

Peer B transmits a second Data packet containing time values T2 and T3 to Peer A. When
Peer A receives this packet, it performs the distance measurement calculations using the four
accumulated time values T1, T2, T3, and T4. The resulting measurement is provides to an
application on Peer A via a ranging Indication.
void APLCallback (MsgT *msg)

where the message structure is:


Variable

Description

uint8_t prim;

PD_RANGING_INDICATION

AddrT addr;

Address of the remote station (Peer B).

uint8_t data[];

Data includes RangingMsgT structure.

uint8_t len;

Length of user data with a maximum of 100 bytes.

The RangingMsgT message structure is:


Variable

Description

uint8_t error;

Error status message1.

double distance;

Distance in meters between the peer stations.

AddrT addr;

Address of the remote station.

1.

See Success and Error Messages on page 27

If Peer A has sent user data to Peer B during the ranging request, it is now provided to the
application.
void APLCallback (MsgT *msg)

where the message structure is:


Variable

Description

uint8_t prim;

PD_DATA_INDICATION

AddrT addr;

Source address of the Data packet.

uint8_t data[];

User data to be transmitted.

uint8_t len;

Length of user data with a maximum of 100 bytes.

2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page 23

nanoLOC Ranging
nanoLOC Development Kit 3.0 User Guide

5.2.2 SDS-TWR 3W_B Providing Ranging Results to Peer B


In this mode, Peer B generates the ranging distance. Data can be included in payload. Permission
to perform measurements can be denied.
1

Peer A requests 3W_B ranging mode:


void PDSap (MsgT *msg)

where the message structure is:

Variable

Description

uint8_t prim;

PD_RANGING_REQUEST

AddrT addr;

MAC address of destination address which is the ranging target.

uint8_t data[];

User data to be transmitted.

uint8_t len;

Length of user data with a maximum of 100 bytes.

uint8_t attribute;

RANGING_TYPE_3W_B

After sending the ranging request, Peer A receives a ranging confirmation.


void APLCallback (MsgT *msg)

where the message structure is:

Variable

Description

uint8_t prim;

PD_RANGING_CONFIRM

uint8_t status;

Status messages include PHY_SUCCESS (ranging has successfully


started), PHY_NO_ACK (remote station does not exist), and so on.

Peer B must grant permission for ranging to continue. User data can be added to the Data
packet at this point.
bool_t Permission(uint8_t *macAddr, uint8_t *data, uint8_t *len)

where the parameters are:

Parameter

Description

uint8_t *macAddr

Address of the requesting ranging station (Peer A)

uint8_t *data

To deny the ranging request, a null value must be set; a pointer to


user data with a maximum of 100 bytes grants permission to ranging.

uint8_t *len

Length of the user data.

If Peer A has sent user data to Peer B during the ranging request, it is now provided to the
application.
void APLCallback (MsgT *msg)

where the message structure is:


Variable

Description

uint8_t prim;

PD_DATA_INDICATION

AddrT addr;

Source address of the Data packet.

uint8_t data[];

User data to be transmitted.

uint8_t len;

Length of user data with a maximum of 100 bytes.

Page 24 NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

nanoLOC Ranging
nanoLOC Development Kit 3.0 User Guide

Peer A transmits a second Data packet containing time values T1 and T4 to Peer B. When
Peer B receives this packet, it performs the distance measurement calculations using the four
accumulated time values T1, T2, T3, and T4. The resulting measurement is provides to an
application on Peer B via a ranging Indication.
void APLCallback (MsgT *msg)

where the message structure is:


Variable

Description

uint8_t prim;

PD_RANGING_INDICATION

AddrT addr;

Address of the remote station (Peer B).

uint8_t data[];

Data includes RangingMsgT structure.

uint8_t len;

Length of user data with a maximum of 100 bytes.

The RangingMsgT message structure is:


Variable

Description

uint8_t error;

Error status message1.

double distance;

Distance in meters between the peer stations.

AddrT addr;

Address of the remote station.

1.

See Success and Error Messages on page 27.

If Peer B has put user data in the Data packet when it granted permission to perform ranging, a
data indication is now provided to Peer A.
APLCallback (MsgT *msg)

where the message structure is:


Variable

Description

uint8_t prim;

PD_DATA_INDICATION

AddrT addr;

Source address of the Data packet.

uint8_t data[];

User data to be transmitted.

uint8_t len;

Length of user data with a maximum of 100 bytes.

5.2.3 SDS-TWR 2W_PP Energy Saving Ranging Mode


In this mode, the four time values T1, T2, T3, and T4 are provided by the immediate past ranging
request to quickly generate a distance measurement between Peer A and Peer B. The time values
obtained during the current SDS-TWR ranging request are stored and saved for the next ranging
request. Data can be included in payload. Permission to perform measurements can be denied.
1

Peer A requests 2W_PP ranging mode. User data can be sent to Peer B also, but will not be
read out after the ranging measurements have been completed. All time values (T1, T2, T3,
and T4) are provided by the previous ranging measurements.
void PDSap (MsgT *msg)

where the message structure is:


Variable

Description

uint8_t prim;

PD_RANGING_REQUEST

2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page 25

nanoLOC Ranging
nanoLOC Development Kit 3.0 User Guide

Variable

Description

AddrT addr;

MAC address of destination address which is the ranging target.

uint8_t data[];

User data to be transmitted.

uint8_t len;

Length of user data with a maximum of 100 bytes.

uint8_t attribute;

RANGING_TYPE_2W_PP

After sending the ranging request, Peer A will receive a ranging confirmation.
void APLCallback (MsgT *msg)

where the message structure is:


Variable

Description

uint8_t prim;

PD_RANGING_CONFIRM

uint8_t status;

Status messages include PHY_SUCCESS (ranging has successfully


started), PHY_NO_ACK (remote station does not exist)1.

1.

See Success and Error Messages on page 27

Peer A now performs the ranging calculations using the accumulated time values T1, T2, T3,
and T4 from the previous ranging cycle. The results, however, are not provided to an application until a later step.

Peer B must grant permission for ranging to continue. User data can be added to the Data
packet at this point.
bool_t Permission(uint8_t *macAddr, uint8_t *data, uint8_t *len)

where the parameters are:

Parameter

Description

AddrT *macAddr

Address of the requesting ranging station (Peer A)

uint8_t *data

To deny the ranging request, a null value must be set; a pointer to


user data with a maximum of 100 bytes grants permission to ranging.

uint8_t *len

Length of the user data.

If Peer B has put user data in the Data packet when permission was granted, a data indication
is provided to Peer A.
void APLCallback (MsgT *msg)

where the message structure is:

Variable

Description

uint8_t prim;

PD_DATA_INDICATION

AddrT addr;

Source address of the Data packet.

uint8_t data[];

User data to be transmitted.

uint8_t len;

Length of user data with a maximum of 100 bytes.

The results of the ranging calculations performed previously is now provided to an application
on Peer B via a ranging indication. The is part of the time and energy saving feature of this
mode, It is now provided to the application.
Note: As the four accumulated time values T1, T2, T3, and T4 are stored in memory for use by
the next ranging request, the peer stations cannot communicate with other stations.

Page 26 NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

nanoLOC Ranging
nanoLOC Development Kit 3.0 User Guide

void APLCallback (MsgT *msg)

where the message structure is:


Variable

Description

uint8_t prim;

PD_RANGING_INDICATION

AddrT addr;

Address of the remote station (Peer B).

uint8_t data[];

Data includes RangingMsgT structure.

uint8_t len;

Length of user data with a maximum of 100 bytes.

The RangingMsgT structure is:


Variable

Description

uint8_t error;

Error status message.1

double distance;

Distance in meters between the peer stations.

AddrT addr;

Address of the remote station.

1.

5.3

See Success and Error Messages on page 27

Success and Error Messages


After the ranging service is requested, a message will be received from the PHY layer with either a
success response or a failure response. In the case of success, the PHY layer will provide the
measured distance in meters. In the case of error, a status indication will provide the cause of the
error.
5.3.1 Success Messages
For normal ranging mode, the PHY layer sends to the application layer a message with the ranging
result having a message structure containing the following information:
Table 7: Message structure for callback

Variable

Description

MyByte8T prim;

PD_RANGING_INDICATION

MyAddrT addr;

MAC address of destination address which is the ranging target.

MyByte8T len;

Length of data in the data variable.

MyByte8T data[128];

Distance value (from RangingMSGT) and error status

MyByte8T status;

Not required for PD_RANGING_INDICATION

MyWord16T value;

Not required for PD_RANGING_INDICATION

MyByte8T attribute;

RANGING_TYPE_3W_A
RANGING_TYPE_3W_B
RANGING_TYPE_2W_PP

2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page 27

nanoLOC Ranging
nanoLOC Development Kit 3.0 User Guide

5.3.2 Error Messages


If an error condition occurs, the PHY layer will send to the application layer a message with the
message structure containing an error status.
Table 8: Message structure for callback

Variable

Description

MyByte8T prim;

PD_RANGING_INDICATION

MyAddrT addr;

MAC address of destination address which is the ranging target.

MyByte8T len;

Length of data in the data variable.

MyByte8T data[128];

Distance value (from RangingMSGT) and error status (see below)

MyByte8T status;

Not required for PD_RANGING_FAST_INDICATION

MyWord16T value;

Not required for PD_RANGING_FAST_INDICATION

MyByte8T attribute;

Not required for PD_RANGING_FAST_INDICATION

Error Status
+

RG_STAT_DEFAULT
Default value is 0x00 when ranging starts. No measurement have been done.

RG_STAT_NO_ERROR
When the value is 0x0F, then all parts of the measurements were performed successfully.

RG_STAT_VALUE_ERROR
Indicates ranging value not logical (value < 0)

RG_STAT_T1
If set, then measurement T1 measured correctly

RG_STAT_T2
If set, then measurement T2 measured correctly

RG_STAT_T3
If set, then measurement T3 measured correctly

RG_STAT_T4
If set, then measurement T4 measured correctly

RG_STAT_TIMEOUT
Measurement aborted due to non-answer from paired station. Only occurs when paired station
exists. The paired station has sent a hardware acknowledgement but did not provide a ranging
answer within the set time.

RG_STAT_VALUE_ERROR
Measurements from mirrored measurements are different and therefore rejected. For example,
The difference between the measurement results calculated using times T1 and T2 as well as
T3 and T4 should be no greater than 10 meters, based on the use of a 40 ppm quartz clock. If
the difference is greater than 10 meters, it will be reported in this error message.

Page 28 NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

nanoLOC Location Demo


nanoLOC Development Kit 3.0 User Guide

6 nanoLOC Location Demo


The nanoLOC DEVELOPMENT KIT is setup to run the nanoLOC LOCATION DEMO after the nanoLOC
DK Boards have been assembled and the software has been installed. Four nanoLOC DK Boards
operate as anchors while one operates as a tag. The nanoLOC USB Stick operates as a base station.
The nanoLOC Location Demo includes a set of servers that obtain ranging data from the tag and
anchors via the base station and calculates the X/Y coordinates of the tag. The results of the calculation are displayed in a Windows based user interface. With additional nanoLOC DK Boards, up
to 16 anchors and 16 tags can be used with this application. Figure 17 below shows the components of the Development Kit required to run the nanoLOC LOCATION DEMO.

Figure 17: Key components of the nanoLOC Development Kit

Note: For hardware assembly and software installation instruction, see the nanoLOC Development Kit Quick Start Guide.

6.1

Image Files and the nanoLOC DK Boards


Table 9 below lists the images files provided for the nanoLOC Location Demo. These files have
been pre-flashed to the nanoLOC DK Boards but are also are available in the product installation
directory at /Sources/Demo Applications/nanoLocation. With these image files, the
boards are set to operate with 80 MHz bandwidth and 1000 ns data rate and have been pre-set
with a specific MAC address.
Table 9: nanoLOC Location Demo image files

Board

Image File

MAC Address

AP 1

Location_80MHz1000ns_Anchor1.hex

01

AP 2

Location_80MHz1000ns_Anchor2.hex

02

AP 3

Location_80MHz1000ns_Anchor3.hex

03

AP 4

Location_80MHz1000ns_Anchor4.hex

04

TAG

Location_80MHz1000ns_Tag17.hex

17

Additional tag

Location_80MHz1000ns_Tag18.hex

18

Note: Each nanoLOC DK Board is labeled to identify the image file that has been pre-flashed to
that board. The additional tag image file is provided for an optional second nanoLOC DK
Board (not provided in kit).
2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page 29

6
6.2

nanoLOC Location Demo


nanoLOC Development Kit 3.0 User Guide

How Tag Locations are Determined


The nanoLOC LOCATION DEMO determine the X/Y coordinates of a tag as follows:
1

The LOCATION CLIENT or the nanoLOC LOCATION DEMO requests ranging.

The LOCATION SERVER via the base station searches for tags.

All found tags in the nanoLOC network perform ranging to all anchors.

Each tag generates raw ranging data and is provided via the base station and LOCATION
ENGINE to the LOCATION ENGINE SERVER.

The LOCATION ENGINE SERVER uses this data to calculate the X/Y coordinates of the tag.

These coordinates are provided to the Windows based application for display or as a text
string to the LOCATION CLIENT.

Base
Station

nanoLOC Network
(Anchors and Tags)

Location
Server

Location Server
Engine

Location Demo
GUI

Location
Client

Figure 18: Locating tags

6.2.1 Initializing and Configuring the Network


The nanoLOC network is self-configuring. Up to 16 tags can be added or removed without requiring manual configuration of the network. The MAC address range of all possible tags are preset in
the LOCATION SERVER. During network initialization, the LOCATION SERVER searches for all tags. If a
tag is found, then the MAC address of this tag is added to a list of alive tags. Periodically, the
LOCATION SERVER performs a search for tags. If a tag is lost due to out of range, loss of power, or
other reasons, then the MAC address of this tag is removed from a list of alive tags.
The MAC addresses of anchors, however, are set in the LOCATION CLIENT or LOCATION DEMO GUI
and provided to the LOCATION SERVER. This list of anchor MAC addresses are then provided to all
alive tags during network initialization. Afterwards, when ranging is requested, all tags perform
ranging with these specified anchors.
The nanoLOC network is initialized and configured as follows:
1

The LOCATION SERVER requests network configuration. Data packets, which contain a list of
anchor MAC addresses are sent to all alive tags, as shown in figure 19 below.
Transmit data packet
to all possible tags.

Anchor

Tag

Data packet includes


list of anchors as set in
text file or GUI.

Anchor

Tag

Tag

Tag

Anchor

Anchor
Base
Station

Tag not Alive


or not exist
Anchor MAC
addresses set in
Location GUI or
Location Client.

Location
Engine
Server

Request
Configuration

Request Data packet


transmission

Tag not Alive


or not exist

Location
Server

MAC addresses of all 16 possible


tags preset in Location Server.

Figure 19: Request configuration

Page 30 NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

nanoLOC Location Demo


nanoLOC Development Kit 3.0 User Guide

Tags automatically reply with hardware Acknowledgements. These Acknowledgements indicate to the L OCATION S ERVER that these tags are alive. The server then adds the MAC
address of the alive tags to a list of active tags, as shown in figure 20 below.
Anchor

Anchor

Tag

Each tag sends a


hardware Ack back
to the base station
to indicate it is
alive

Tag

Tag

Tag

Anchor

Anchor
Base
Station

Location
Server

Location Server updates list of alive tags

Figure 20: Hardware acknowledgements indicate which tags are alive

6.2.2 Requesting Ranging


1

After initialization, the LOCATION DEMO or LOCATION CLIENT requests ranging by sending a
START command to the LOCATION SERVER, which then request ranging to all alive tags, as
shown in figure 21 below.
Anchor

Anchor

Tag

Each alive tag


receives the START
command

Tag

Tag

Tag

Anchor

Anchor
Base
Station

START command
Location
Engine
Server

Request for Ranging


from GUI or Client

Location
Server

Location Server sends to base station START command

Figure 21: Request Ranging using Start command

Each tag then performs distance measurements (ranging) between itself and each anchor in
the list of anchors provided during network configuration, as shown in figure 22 below.
All alive tags begin ranging with all
anchors in the list of anchors

Anchor

Anchor

Each tag already has list of set anchors

Tag

Tag

Tag

Tag

Anchor

Anchor
Base
Station

Figure 22: Ranging performed between each alive tag and each anchor

2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page 31

nanoLOC Location Demo


nanoLOC Development Kit 3.0 User Guide

6.2.3 Calculating the X/Y Coordinates of Tag(s)


1

After ranging has been performed, each tag sends the raw ranging data to the LOCATION
ENGINE SERVER, via the LOCATION SERVER, determines the X/Y coordinates of each tag. These
coordinates are provided to the LOCATION CLIENT as a text string OR LOCATION DEMO GUI for
display in the Location area of the application, as shown in figure 23 below
Anchor

Anchor

Each tag transmits back to the


base station a set of ranging
data to be used to determine
the tags current location
Tag

Tag

Tag

Tag

Anchor

Anchor
Base
Station

Raw ranging data


Generated X/Y
Coordinates provided to
Location GUI or Location
Client

Location
Engine
Server

Raw ranging
data

Location
Server

Location Server receives data and


provides it to a Location application

Figure 23: Ranging data provided to Location application

6.3

Location Demo Modes


The Location Demo can operate in either File Mode, which replays a prerecorded location log file
on the Location GUI or Socket Mode, which connects with the Location Server and displays live
location data from the active nanoLOC network.

6.4

nanoLOC Location Demo Tutorial


In this short tutorial, you will learn how to create a configuration file using the nanoLOC LOCATION
DEMO user interface. With this configuration file, you then customize it for the setup of the nanoLOC DK Boards in your environment.
1

Run the NANOLOC LOCATION DEMO by selecting from the start menu Nanotron nanoLOC AVR
Development Kit > Demo Windows Applications > Start nanoLOC Location GUI.
This will run the LOCATION SERVER (LocationServer.exe), the LOCATION ENGINE Server
(LEServer.exe), and the LOCATION GUI (LocationGUI.exe).

Page 32 NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

nanoLOC Location Demo


nanoLOC Development Kit 3.0 User Guide

If the nanoLOC USB Stick was not connected to the USB port, the LOCATION SERVER will
briefly give an error message shown below and will shut down after 2 seconds.

Figure 24: nanoLOC Location Server - no nanoLOC USB Stick detected

Stop the Location Server by selecting from the start menu Nanotron nanoLOC AVR
Development Kit > Demo Windows Applications > Stop all nanoLOC Location
application. Connect the USB stick to the USB Port, and then restart the nanoLOC
Location Demo as described above.
2

The LOCATION ENGINE SERVER waits for a TCP connection.

Figure 25: Location Server and Location Engine Server running

Note: Do not close these command windows while using the nanoLOC LOCATION DEMO.
Then the nanoLOC Location GUI launches. as shown in figure 26 below.

2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page 33

nanoLOC Location Demo


nanoLOC Development Kit 3.0 User Guide

Tag location plot area

Log window

Figure 26: nanoLOC Location Demo

Note: The Log Area can be minimized or maximized by clicking the


Enable/Disable Log Window from the menu bar.

Figure 27: nanoLOC Location Demo with Log Area minimized.

Now, configure the four anchors and one tag by selecting Settings > Anchors, Tags...
as shown in figure 28 below.
Note: In this tutorial you will set arbitrary X/Y coordinates for the anchors and tags. These values will then be used later when you set up the demo using the nanoLOC DK Boards.

Page 34 NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

nanoLOC Location Demo


nanoLOC Development Kit 3.0 User Guide

Figure 28: nanoLOC Location Demo Settings dialog

The first tab is COMMON SETTINGS. These settings determine the type of operation for the application, which can be either live with the anchors and tags, or simulated with a log file. For this
tutorial, we will simulate location tracking. Later we will change these settings to live to run the
application with the anchors and tag.
In the COMMON SETTINGS tab, enter the settings as shown in table 10 below.
Table 10: Common Settings tab

Value

Settings

Location Engine Type

Select SDS-TWR (File Mode) to run simulated mode.

Mode

Select 2D mode for two dimensional location. 3D mode is currently inactive.

Input type

Leave blank for now. This is usually a path to a log file.

Port

This is grayed out as no port is accessed in simulated mode.

Distance Penalty

Leave this value at the default setting of 0.0 meters.

NLOS Penalty

Leave this value at the default setting of 0.1 meters.

Figure 29: Common Settings

2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page 35

nanoLOC Location Demo


nanoLOC Development Kit 3.0 User Guide

Select the ANCHORS tab. A single row with five fields for one anchor is provided initially. Up to
16 rows can be added. Each field is selectable by clicking in the field to make it editable.

Figure 30: Anchors tab

In the first row, enter the following values for Anchor 1.


Table 11: Anchor 1

Anchor ID

X Position
(in meters)

Y Position
(in meters)

Z Position
(in meters)

Anchor Name

Anchor 1

Enter the settings as shown in table 10 below


Table 12: Anchor tab

Value

Settings

Anchor ID

Anchor ID is fixed in the software flashed to the boards. as listed


in table 9 nanoLOC Location Demo image files on page 29.

X position, y position

X Position and Y Position are based on the origin, which is


typically Anchor 1, where X = 0 and Y = 0.

Z position

Z Position is for 3D mode. It is inactive in this version of the


nanoLOC Location Demo. Leave this value at 0.

Anchor Name

Anchor Name is any arbitrary name.

Add a new row for Tag 2 by right clicking on the left margin of the table and selecting Insert
Row as shown in figure 30 below.

Set the values for the second anchor as shown in table 13 below.
Table 13: Anchor 2

Anchor ID

X Position
(in meters)

Y Position
(in meters)

Z Position
(in meters)

Anchor Name

Anchor 2

Page 36 NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

nanoLOC Location Demo


nanoLOC Development Kit 3.0 User Guide

Continue entering values for Anchor 3 and Anchor 4 as shown below.


Table 14: Anchor 3 and Anchor 4

Anchor ID

X Position
(in meters)

Y Position
(in meters)

Z Position
(in meters)

Anchor Name

Anchor 3

Anchor 4

10 Figure 31 shows the completed values entered in the Anchors tab.

Figure 31: Values entered in the Anchors table

11 Now, select the TAG tab. A single row with five fields for one tag is provided initially. As with the
anchors, up to 16 rows can be added. Each field is selectable by clicking in the field to make it
editable.
Table 15: Anchor 2

Tag ID

Tag Name

Tag Symbol

Symbol Color

Symbol Size

17

Tag

[Selection]

Windows colors

10

These fields are described below.


Table 16: Tag tab

Value

Settings

Tag ID

The value for Tag 1 MUST be set to 17. This is the MAC address
of the image file pre-flashed to the Tag supplied in the kit.
The MAC address range for tags is 17 to 32. A second image file
for a tag is also provided and has a MAC address of 18. Any additional tags start at 19 and continue up to and including 32.

Tag Name

An arbitrary name.

Tag Symbol

Select from one of many common shapes.

Symbol Color

Select from standard Windows colors.

Symbol Size

Value from 1 to 50.

12 Figure 32 below shows the TAGS tab with the correct values. The name can be any text, while
symbol, color, and size can be any of the possible choices. Tag ID must be 17.

2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page 37

nanoLOC Location Demo


nanoLOC Development Kit 3.0 User Guide

Figure 32: Tags tab

13 Close the ANCHOR TAG dialog by clicking OK.


14 The changes made to Anchor and Tag settings must be saved to a configuration file before
they can be used by the application.
Select File > Save AS... to open the SAVE CONFIGURATION FILE AS... dialog and save the
settings to a file called Tutorial.xml.

Figure 33: Saving settings to a configuration file

15 Reload the settings by opening the newly saved configuration file Tutorial.xml. Select
File > Open Data File from the File menu and select the new file.
16 Before continuing, review the settings in the COMMON SETTINGS, ANCHOR and Tag tabs.
17 The nanoLOC Location Demo should now look as shown in figure 34 below.

Page 38 NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

nanoLOC Location Demo


nanoLOC Development Kit 3.0 User Guide

Figure 34: nanoLOC Location Demo with loaded tutorial.xml file

18 The new configuration file Tutorial.xml can also be opened in a text editor.
<?xml version="1.0" encoding="UTF-8"?>
<nanole>
<penalty distance="0" nlos="0.1" offset="2.122e-314"/>
<anchor id="1" x="0" y="0" z="0" name="Anchor 1"/>
<anchor id="2" x="5" y="0" z="0" name="Anchor 2"/>
<anchor id="3" x="5" y="4" z="0" name="Anchor 3"/>
<anchor id="4" x="0" y="4" z="0" name="Anchor 4"/>
<penalty distance="0" nlos="0.1" offset="2.122e-314"/>
<socket server="localhost" port="6868"/>
<tag id="17" name="Tag 1" color="#00ff00" shape="ellipse" size="10"/>
<tag id="18" name="Tag 2" color="#00fff7" shape="ellipse" size="10"/>
</nanole>

6.5

Setting Up the Hardware for the Location Demo


The following assumes all five nanoLOC DK Boards are correctly assembled, the INSTALLATION
ASSISTANT has been run and the correct FTDI driver is installed. If not, refer to the nanoLOC Development Kit Quick Start Guide for instructions.
1

Four nanoLOC DK Boards are labelled AP1, AP2, AP3, and AP4 while one nanoLOC DK Board
is labelled Tag.

Connect the nanoLOC USB Stick to an available USB port on the PC via the USB cable.

Warning: Remember to insert the nanoLOC USB Stick into the USB port
AFTER the nanoLOC Location Demo software has been installed.
Failure to do so may result in the PC unable to find the correct
driver or the nanoLOC USB Stick using the incorrect driver.

Note: Using the USB cable ensures better RF performance for the nanoLOC USB Stick and
allows for a vertical positioning of the devices antenna (recommended).
3

An LED on the nanoLOC USB Stick is illuminated when Windows recognizes the device.

Windows will display a message indicating that new hardware was found. Windows will then
search for the FTDI USB Serial Converter Driver that was installed during setup.

2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page 39

nanoLOC Location Demo


nanoLOC Development Kit 3.0 User Guide

Note: If during setup, a warning message appeared indicating an existing FTDI driver was
found, then this driver needs to be removed before continuing and the correct FTDI
driver installed by rerunning the Installation Assistant. For more details, refer to the
nanoLOC Development Kit Quick Start Guide.

Figure 35: Warning to remove the existing FTDI Driver

The four nanoLOC DK Boards labelled as anchors need to be placed in a grid. Use figure 36
below as a guide. Note the X / Y coordinates of the anchors. This will be needed later when we
reconfigure the configuration file to run live with the nanoLOC DK Boards.
Anchor 1 is typically at the X/Y coordinate (0,0), although it is not necessary to do so as any of
the four anchors can be placed at (0,0). Continue placing the four anchors as shown in the figure below and note their X/Y coordinates.
Y axis

Anchor 4

Anchor 3

Anchor 1

Anchor 2

Y axis

Figure 36: Placing nanoLOC DK Boards

Provide the recommended power supply to the four anchors (labelled AP1, AP2, AP3, AP4)
and the one tag (labelled Tag).
Warning: Ensure that the correct power supply has been provided. See 2.2.
Power Supply on page 7.

6.6

We can now run the nanoLOC LOCATION DEMO in Socket Mode. This will require making
changes to the Tutorial.xml configuration file first.

Running the Location Demo with the nanoLOC DK Boards


In this section, the Tutorial.xml configuration file previously created will be modified to be used
with the nanoLOC DK Boards.
1

Restart the nanoLOC LOCATION DEMO by selecting from the start menu Nanotron nanoLOC
AVR Development Kit > Demo Windows Applications > Start nanoLOC Location
GUI.

Select File > Open and open TUTORIAL.XML. This configuration file needs to be modified to
run the LOCATION DEMO in Socket Mode.

Modify Tutorial.xml to run in Socket Mode by selecting Settings > Anchors,


Tags..., select the COMMON SETTINGS tab, and modify the settings as shown in table 17
below.
Table 17: Common Settings tab

Value

Page 40 NA-06-0230-0402-3.0

Settings

2010 Nanotron Technologies GmbH.

nanoLOC Location Demo


nanoLOC Development Kit 3.0 User Guide

Table 17: Common Settings tab

Location Engine Type

Select SDS-TWR (Socket Mode) to run the demo live using the kit
hardware.

Mode

Select 2D mode for two dimensional location. 3D mode is currently inactive.

Server Address

Enter Local Host to set the address to the PC.

Port

This value is preset to 6868 which is the standard port for Local Host.

Distance Penalty

Leave this value at the default setting of 0.0 m.

NLOS Penalty

Leave this value at the default setting of 0.1 m.

Select the ANCHORS tab and modify the X and Y coordinates based on the coordinates you
noted previously. In the following example, we have used a typical office environment.

Figure 37: Anchors tab - test settings

The settings in the TAGS tab need not be changed Tutorial.xml.

Click OK to close the dialog.


Note: The changes made are unsaved. This will be indicated by an asterisk [*] in the title bar
of the dialog, as shown in figure 38. The four Anchors icons will also be displayed in the
plot area.

2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page 41

nanoLOC Location Demo


nanoLOC Development Kit 3.0 User Guide

Figure 38: Unsaved changes to configuration file

Select File > Save to save the changes to the Tutorial.xml configuration file.

Reload the file by selecting File > Open and selecting Tutorial.xml.

An Offset Compensation needs to be set.


a. Place the Tag directly beside one of the Anchors.
b. Open the Log window but clicking the Enable/Disable Log Window button.
c. Run the LOCATION DEMO by selecting File > Run.
d. Ensure that the LOG area is displayed in the GUI.
e. The X / Y coordinates of the four anchors will be saved to a log file, which will then be displayed in the Log area.
f.

The LOCATION ENGINE SERVER will display in the command window the raw data from the
Tag.

Figure 39: Raw data in Location Engine

g. The ranging value for Anchor 1 should be 0 meters. If the value is, for example, 1 meter,
when it should clearly be 0 meters, this can be compensated by an offset.
h. Adjust the Offset Compensation until the ranging data in the Location Engine for Anchor 1 is
0.0 meters.
Page 42 NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

nanoLOC Location Demo


nanoLOC Development Kit 3.0 User Guide

Figure 40: Log data

10 Move the tag around within the area of the Anchors. The results of the calculations will be
shown in the Plot area, as shown in figure 41 below.

Figure 41: nanoLOC Location Demo running

2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page 43

nanoLOC Location Demo


nanoLOC Development Kit 3.0 User Guide

Two generic configuration files are provided to accelerate the setup process:

6.7

SettingOffline, which has default settings that can be used when running the demo
in File mode.

SettingOnline, which has default settings that can be used when running the demo
in Socket mode.

nanoLOC Location Demo GUI Settings


6.7.1 GUI Features
Table 18: Location Demo GUI

Task

Description

Zoom Out

Click the right mouse button

Zoom In

Select an area with the mouse

Show Log File


Show Trace Line of Tag

Enable Ranging Filter

Enable Position Filter

Start Data Acquisition

Stop Data Acquisition

Clear Display Area

Save Log Data

Open Configuration File

New Configuration File

Click

or select View > Log Window

Click
or select View > Show Trace. Enables the tracing of all
locations of the tag since Start or Clear.
Click
, or select Settings > Location Engine Control >
Enable Ranging Filter
Click
, or select Settings > Location Engine Control >
Enable Position Filter
Click
Start. The Location Engine will connect wit the
nanoLOC Network and begin data aquisition.
Click
Stop. The Location Engine will continue to run in the
background.
Click
Clear. Clears all traces in the display area. New tag location data will be displayed, if the application is still running.
Click
log file.

Save. Saves the current location log data to a specified

Click
Open. Opens a configuration file into the Common Settings dialog. Two generic configuration files are provided to accelerate the setup process:
+ SettingOffline, which has default settings that can be
used when running the demo in File mode.
+ SettingOnline, which has default settings that can be used
when running the demo in Socket mode.
Click
data.

New. Clears all data, including common settings and log

6.7.2 Log Files


The nanoLOC LOCATION DEMO automatically saves a log file after each session. Each log file is
saved with a date stamp and a time stamp. To load a log file, do the following:
1

Select Settings > Anchors Tabs... and select the COMMON SETTINGS tab.

In Location Engine Type, select SDS-TWR (File Mode).

Click Browse next to the Input File field, and browse to one of the saved log files.

Page 44 NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

nanoLOC Location Demo


nanoLOC Development Kit 3.0 User Guide

Click Open to load the log file into the application.

Click Run

or select File > Run to display in the Plot area the data from the log file.

Note: In this mode, the LOCATION DEMO does not connect with the LOCATION SERVER to begin
data acquisition from the Tag.
The log file captures the data used to calculate the X/Y coordinates of a tag.
Note: A negative distance value indicates an error in the ranging calculation.

6.8

Running the Servers with a Command Line


The LOCATION SERVER (LocationServer.exe) is responsible for initializing and configuring the
nanoLOC network and for sending commands to start and stop ranging. It requests ranging and
receives back raw ranging data. It then passes this raw data on to the LOCATION ENGINE SERVER
(LEServer.exe).
The LOCATION SERVER is normally run through the START menu in Windows. However, it can also
be run at a command prompt using the following command:
LocationServer.exe <Select bandwidth and symbol duration>
The LOCATION ENGINE S ERVER (LEServer.exe) connects to the LOCATION SERVER over port
6868. It provides a TCP/IP interface to the nanoLOC LOCATION DEMO, which is the Location Client.
It is responsible for receiving raw ranging data from the LOCATION SERVER and calculating the X/Y
coordinates of the tag based on this data. It then passes these values to the nanoLOC LOCATION
DEMO GUI for display.
The LOCATION ENGINE SERVER is normally run through the Start menu in Windows. However, it
can also be run at a command prompt using the following command:
LEServer.exe

A single notice in the command window TcpConnection will indicate the server has established a
connection with the nanoLOC network via the BASE STATION SERVER. It then waits for a request
from the nanoLOC LOCATION DEMO.

6.9

Location Commands
The LOCATION SERVER uses the commands START, STOP, INIT, MODE, and DATA. Instruction are
sent to the LOCATION SERVER in ASCII code. Either the LOCATION DEMO (the Client) or a hyperterminal can be used for accessing the LOCATION SERVER.
+

INIT command
The INIT command causes the LOCATION SERVER to initialize and configure the nanoLOC network:
INIT <Parameter 1><Parameter 2><Parameter X>

where,
+

Parameter 1 = count number of anchors

Parameter 2 = first anchor address

Parameter X = subsequent anchor addresses

For example:
INIT 4 1 2 3 4

In this example, the LOCATION SERVER initializes the network with 4 anchors having MAC
addresses 1 2 3 4.
2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page 45

nanoLOC Location Demo


nanoLOC Development Kit 3.0 User Guide

START command
The START causes the LOCATION SERVER to send a command to the nanoLOC network to
begin ranging data collection.
START

STOP command
The STOP command causes the LOCATION SERVER to send a command to the nanoLOC network to stop ranging data collection.
STOP

MODE command
The MODE command sets the operating mode of the LOCATION SERVER which determines how
the server handles incoming ranging data from the nanoLOC tags.
MODE <Mode>

where Mode is either

1 = On Demand, where the LOCATION SERVER stores incoming data received from the tags
and returns the data only with the DATA command is executed.

2 = Continuous, where the LOCATION SERVER immediately forwards all incoming data
from the tags as the data is received without requiring the DATA command to be executed.

DATA command
The DATA command requests the data accumulated by the LOCATION SERVER. It is valid only
when the mode is set to 1 = On Demand.
DATA

6.10

Using Hyperterminal to Connect to the Location Server


To connect to the LOCATION SERVER using Hyperterminal, do the following:
1

Start the LOCATION SERVER (see 6.6. Running the Location Demo with the nanoLOC DK
Boards on page 40).

Start HYPERTERMINAL.

Provide a name for the connection.

Select TCP/IP from the Connection dropdown list.

Enter Localhost in the Host address field.

Enter 6868 in the Port number field.

From the Properties tab, click the ASCII Configuration button to open the ASCII Configuration dialog. In this dialog, ensure the following are checked:
+

Send line ends with line feeds

Echo typed characters locally

Click OK to complete the connection.

In HYPERTERMINAL, begin sending commands to the LOCATION SERVER, as described in 6.9.


Location Commands on page 45.

Page 46 NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

nanoLOC Location Demo


nanoLOC Development Kit 3.0 User Guide

6.11

Adding Anchors and Tags to the Location Demo


Additional anchors or tags can be added up to a maximum of 16 anchors and 16 tags. Source code
is provided for tags and anchors. The file app.h is used to update the address for the new tag or
anchor. The source code is then compiled and the resulting hex file is flashed to a nanoLOC DK
Board.

6.11.1 Anchor and Tag Addresses


The address size is 1 byte.
Up to 16 anchors can be used with the nanoLOC LOCATION DEMO. The 16 addresses available for
anchors are listed (as hex values) in table 19 below.
Table 19: Address range for anchors

0X01 (AP1)

0x05

0x09

0x0D

0x02 (AP2)

0x06

0x0A

0x0E

0x03 (AP3)

0x07

0x0B

0x0F

0x04 (AP4)

0x08

0x0C

0x10

The nanoLOC DK Boards set as anchors have been pre-flashed with a set of image files containing the MAC addresses 0x01, 0x02, 0x03, and 0x04. Each board has been labelled to indicate
the hex file.
Up to 16 tags can be used with the nanoLOC LOCATION DEMO. The range of addresses available
for tags are listed (as hex values) in table 20.
Table 20: Address range for tags

0x11 (TAG)

0x15

0x19

0x1D

0x12

0x16

0x1A

0x1E

0x13

0x17

0x1B

0x1F

0x14

0x18

0x1C

0x20

The nanoLOC DK Board set as a tag is pre-flashed with an image file containing the address 0x11.

6.11.2 Creating a New Anchor or Tag Image File


Note: The same procedure is used for creating an image file for either an anchor or a tag.
To create a new anchor or tag image file, do the following:
1

Locate the file app.h in either the directory Location_Anchor or Location_Tag.

In this file locate the following line of code (addresses will differ for tag and anchor files):
#define MY_ADDRESS 0x01

Change the address to one of the available addresses for anchors and tags.

To change the bandwidth or symbol duration from the default settings, locate the file
config.h.

2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page 47

nanoLOC Location Demo


nanoLOC Development Kit 3.0 User Guide

In this file locate the following line of code:


// #define CONFIG_DEFAULT_TRX_22MHZ_1000NS 1
// #define CONFIG_DEFAULT_TRX_22MHZ_2000NS 1
// #define CONFIG_DEFAULT_TRX_22MHZ_4000NS 1
// #define CONFIG_DEFAULT_TRX_80MHZ_500NS 1
#define CONFIG_DEFAULT_TRX_80MHZ_1000NS 1
// #define CONFIG_DEFAULT_TRX_80MHZ_2000NS 1
// #define CONFIG_DEFAULT_TRX_80MHZ_4000NS 1

Comment out the default setting (80 MHz and 1000 ns) and uncomment the required setting.

Save changes in all files modified.

Compile the source code.


Note: See 13. Compiling with AVR Studio 4 on page 87.

Flash the resulting hex file to a nanoLOC DK Board.


Note: See 14.1. Flashing a Hex File to a nanoLOC DK Board on page 91.

10 Add the new anchor to the nanoLOC LOCATION DEMO, as described in 6.4. nanoLOC Location
Demo Tutorial on page 32.
Note: Ensure that no two nanoLOC DK Boards have been flashed with image files with the same
address as inaccurate ranging calculations will occur in this case.
6.11.3 Adding or Deleting Tags
Tags are automatically added or removed from the nanoLOC network. The Location Server periodically reconfigures the nanoLOC network by sending out Data packets to all possible tags (one for
each of the 16 possible addresses). When a tag having a matching address receives the Data
packet, it replies to the base station with a hardware Acknowledgement, which indicates that it is
alive. The Location Server is then provided with a list of alive tags from the base station.
In this way, the network is self-configuring. A tag having an appropriate address can be added to
the network and at the next network configuration will be added to the list of alive tags stored in
the Location Server.
If a tag is removed from the network or powered off, this tags alive status will be removed from
the Location Server at the next network configuration.
6.11.4 Deleting an Anchor from the Location Demo
When an anchor is removed from the nanoLOC network, the list of anchor addresses in the Location Server needs to be updated so the network is aware of how many anchors are currently in
use.
To delete an anchor, do the following:

6.12

Select the anchor in the Anchors tab.

Delete the row and click OK to close the Settings dialog.

Click Save to update the configuration file.

Click Run to update the nanoLOC network.

Reflashing the Default Location Demo Image Files


The following information is provided should the default set of image files for the nanoLOC LOCATION DEMO need to be re-flashed to the boards. Each of the five nanoLOC DK Boards included in
the kit require specific image files to correctly operate the nanoLOC LOCATION DEMO.
Four image files set up four boards as the anchor points while one sets up the remaining board as
a tag and are located in nanoLOC AVR DK \ Embedded HEX Files:

Page 48 NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

nanoLOC Location Demo


nanoLOC Development Kit 3.0 User Guide

Location_80MHz1000ns_Anchor1.hex

Location_80MHz1000ns_Anchor2.hex

Location_80MHz1000ns_Anchor3.hex

Location_80MHz1000ns_Anchor4.hex

Location_80MHz1000ns_Tag17.hex

Flash the five hex files to their respective nanoLOC DK Boards labelled AP1, AP2, AP3, AP4 and
Tag as described in 14.1. Flashing a Hex File to a nanoLOC DK Board on page 91.

6.13

nanoLOC Location Demo LED and Key Usage


LED indicators and Key functions of a nanoLOC DK Board used as a tag:

Reset

TX LED: Packets (Ack and Data) transmitted

L8 L7 L6 L5 L4 L3 L2 L1

Reset button
LED1: Packet sent to anchor
LED2: Packet sent to base station
LED3: RS-232 printout
LED4: Fast ranging enabled
LED5: Receiving
LED6: no ACK received
LED7: Calibration

K2: Toggles ranging modes

K2

K3: Unused

K3

K1: Start RS-232 Printout for logging

K1

LED8: Board is alive

PWR LED: Power on

+
-

On / Off Switch

Figure 42: Tag LED and Key usage nanoLOC Location Demo

6.13.1 Obtaining a Log File Using the nanoLOC DK Board


A log file of ranging results can be sent via RS-232 to a HYPERTERMINAL or a command line output.
Connect an RS-232 cable to the nanoLOC DK Board and press button K1 to send logging data to
a PC running HYPERTERMINAL or a command line.

2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page 49

nanoLOC Location Demo


nanoLOC Development Kit 3.0 User Guide

Press K1 to obtain a log file

K3

RS-232 to
PC

K2

K1
L8 L7 L6 L5 L4 L3 L2 L1
Reset

+
-

Figure 43: Obtaining a log file

Page 50 NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

nanoLOC Location Demo


nanoLOC Development Kit 3.0 User Guide

Intentionally Left Blank

2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page 51

nanoLOC Location Demo


nanoLOC Development Kit 3.0 User Guide

Page 52 NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

nanoLOC Ranging Demo


nanoLOC Development Kit 3.0 User Guide

7 nanoLOC Ranging Demo


The nanoLOC RANGING DEMO measures the distance between a tag and a reader and consists of
a Windows-based user interface and a set of image files flashed to two nanoLOC DK Boards.
One board is an anchor (reader) connected via RS-232 to a PC, while the other is the roaming tag,
as illustrated in figure 44 below.

Anchor
Point

Tag
Ranging measurement

RS-232

PC

Figure 44: nanoLOC Ranging Demo

7.1

Image Files
To use the nanoLOC RANGING DEMO, two image files are provided in the Embedded Hex Files
subdirectory of the installation directory:
+

Ranging_80MHz1000ns_Anchor.hex for the anchor

Ranging_80MHz1000ns_Tag.hex for the tag

Note: Any two boards in the kit can be used as the tag or an anchor. Detailed instructions for
flashing the hex files to the nanoLOC DK Boards are provided in 14.1. Flashing a Hex File
to a nanoLOC DK Board on page 91.

7.2

Flashing the nanoLOC Ranging Demo Image Files


The following assumes that the hardware has been assembled and that the required software and
drivers have been installed on the PC. If not, refer to the nanoLOC Development Kit Quick Start
Guide for instructions.
To use the nanoLOC RANGING DEMO:
1

Flash the anchor hex file Ranging_80MHz1000ns_Anchor.hex to a nanoLOC DK Board.


Note: See 14.1. Flashing a Hex File to a nanoLOC DK Board on page 91.

Flash the tag hex file Ranging_80MHz1000ns_Tag.hex to a second nanoLOC DK Board.


Note: See 14.1. Flashing a Hex File to a nanoLOC DK Board on page 91.

Connect the board with the anchor hex file to a COM port of the PC using the provided RS-232
cable.
Note: Connecting the board with the tag hex file to a COM port of a PC will result in no communication between the anchor and the tag.

7.3

Start the nanoLOC RANGING DEMO by selecting the Start menu: Nanotron nanoLOC AVR
Development Kit > Demo Windows Applications > nanoLOC Ranging Demo.

Using the nanoLOC Ranging Demo


The nanoLOC RANGING DEMO user interface has three areas:
+

Ranging measurements area that displays the ranging distance between the two nodes.

Log area that displays a log of the time and average distance values.

Controls area for setting up and starting the ranging measurements

2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page 53

nanoLOC Ranging Demo


nanoLOC Development Kit 3.0 User Guide

Ranging Measurement Area

Log area

Controls Area

Figure 45: nanoLOC Ranging Demo

To use the nanoLOC RANGING DEMO, do the following:


1

Select from the Open Port dropdown the COM port to which the anchor has been connected.

1. Select
COM port

2. Click Open
Port
Figure 46: Selecting and opening COM port

Select an averaging amount for the ranging calculations, either 5, 10, or 100 measurements.

Page 54 NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

nanoLOC Ranging Demo


nanoLOC Development Kit 3.0 User Guide

Averaged ranging measurements displayed graphically

displays distance at
each measurement

Select averaging

Displays average
distance (over five
meas rements)
Figure 47: Ranging measurement results displayed

Provide a power supply to both anchor and tag (see 2.2. Power Supply on page 7 for details)
and switch on both boards.

The nanoLOC RANGING DEMO will begin calculating the ranging distance between the anchor
and the tag. The results will be displayed in the nanoLOC RANGING DEMO user interface.
Log of measurements
at each time point

Figure 48: nanoLOC Ranging Demo - running

The distance measured between the two devices will be displayed (in meters):
+

The currently measured distance will be displayed digitally.

The average measured distance will be displayed both numerically and graphically.

The packet record will be displayed in the Log area, which lists the ranging calculations at
each time point, the destination address and status messages.

2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page 55

nanoLOC Ranging Demo


nanoLOC Development Kit 3.0 User Guide

Time
point

Measured
Distance

Average
distance

Remote Station
MAC Address

Status
message

Figure 49: Ranging report

Note: If insufficient data is available to compute the range, an RF Error message will
appear. There can be several causes for insufficient data. For instance, if there are lost
packets, the tag cannot calculate the distance between the nodes and will retry the
ranging algorithm.
5

To save a log file, click Save Report, provide a file name for the log file in the SAVE AS dialog,
and then click Save in the dialog.

2. Enter a file name

3. Click Save

1. Select Save Repor

Figure 50: Saving a log file

To clear the contents of the log area, click Clear Report.

Page 56 NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

nanoLOC Ranging Demo


nanoLOC Development Kit 3.0 User Guide

Log area cleared

Clear report
Figure 51: Clear report

To exit the nanoLOC RANGING DEMO, close the port by clicking Close Port, then click Exit
Application.

1. Close COM Port

2. Exit application

Figure 52: Exiting the application

Note: For more information about using the ranging, see 5. nanoLOC Ranging on page 19.

2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page 57

7
7.4

nanoLOC Ranging Demo


nanoLOC Development Kit 3.0 User Guide

nanoLOC Ranging Demo LED and Key Usage


LED indicators and Key functions of a nanoLOC DK Board used as a tag and anchor:

Reset

TX LED: Packets (Ack and Data) transmitted


Reset button
L8 L7 L6 L5 L4 L3 L2 L1

LED1: Ranging measurement


in progress (anchor only)
LED2: Unused
LED3: Unused
LED4: Fast ranging enabled
LED5: Receiving
LED6: no ACK received
LED7: Calibration

K2: Toggles ranging mode (anchor only)

K2

K3: Unused

K3

K1: Unused

K1

LED8: Board is alive

PWR LED: Power on

+
-

On / Off Switch

Figure 53: Tag LED and Key usage nanoLOC Ranging Demo
Figure 54:

Page 58 NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

nanoLOC Talk Demo


nanoLOC Development Kit 3.0 User Guide

8 nanoLOC Talk Demo


The nanoLOC TALK DEMO is a character-based chat-like program that demonstrates point-topoint wireless communication using the nanoLOC TRX Transceiver. Two nanoLOC DK Boards are
set as nodes in a wireless network with each board connected to a PC running the nanoLOC TALK
DEMO.

Node

Node

RS-232

RS-232

PC

PC

Figure 55: nanoLOC Talk Demo

8.1

Image Files
To use the nanoLOC TALK DEMO, an image file is provided in the Embedded Hex Files directory of the installation directory:
+

nanoTalk.hex for both boards

Note: Any two nanoLOC DK Boards in the nanoLOC Development Kit can be used. Detailed
instructions for flashing hex files to the nanoLOC DK Boards are provided in 14.1. Flashing
a Hex File to a nanoLOC DK Board on page 91.

8.2

Running the nanoLOC Talk Demo


The following assumes the nanoLOC Development Kit hardware has been assembled and that all
the required software and drivers have been installed on the PC. If not, refer to the nanoLOC
Development Kit Quick Start Guide for instructions.
Note: To correctly run the nanoLOC TALK DEMO, the nanoLOC DK Boards are powered on after
the demo application has been run on the PC.
To run the nanoLOC TALK DEMO, do the following:
1

Ensure that the nanoLOC TALK DEMO hex file has been flashed to two nanoLOC DK Boards.
See 14.1. Flashing a Hex File to a nanoLOC DK Board on page 91 for details.

Connect each nanoLOC DK Board to a COM port of the PC using the provided RS-232 cables.
Note: Although a single PC with two COM ports can be used with this application, Nanotron
recommends that two PCs be used.

Provide a power supply to both nanoLOC DK Boards and switch on the boards. LED 7 will be
illuminated to indicate the nanoLOC chip is being calibrated, while LED 8 will blink continuously
to indicate the embedded application is running.
Note: For supply voltages for the nanoLOC DK Boards, see 2.2. Power Supply on page 7.

2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page 59

nanoLOC Talk Demo


nanoLOC Development Kit 3.0 User Guide

For both instances of the nanoLOC Talk Demo, run the application by selecting from the Start
menu: Nanotron nanoLOC AVR Development Kit > Demo Windows Applications
> nanoLOC Talk Demo.

Figure 56: nanoLOC Talk Demo

Note: Selecting Help provides procedural information on using the nanoLOC TALK DEMO.

Figure 57: nanoLOC Talk Demo - Help screen

Page 60 NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

nanoLOC Talk Demo


nanoLOC Development Kit 3.0 User Guide

Select RS232 Port > Open Port.

Figure 58: Open Port

In the SELECT COM PORT dialog, select the COM port to which the nanoLOC DK Board is connected and click OK.

Figure 59: Select COM port

Note: The number and availability of the COM ports may differ in each PC.

2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page 61

nanoLOC Talk Demo


nanoLOC Development Kit 3.0 User Guide

After selecting the COM port, the Console will appear.

Figure 60: nanoLOC Talk Demo Console (maximized)

Push the Reset button on each nanoLOC DK Board to start the embedded application. The
prompt nn> will appear in the nanoLOC TALK DEMO.

Figure 61: nn

> Prompt

A number of optional settings can be made, as shown in the Console.


Note: To establish a working connection, it is mandatory to set both devices to the same logical channel and that the source and destination addresses on both devices match.

Page 62 NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

nanoLOC Talk Demo


nanoLOC Development Kit 3.0 User Guide

a. Set the MAC address of the local station, or accept the default settings:
nn>src <mac addr>
Note: The MAC address of each node in the nanoLOC TALK DEMO has been set by default
to 000009. This is sufficient to run the application.
b. Set the MAC address of the destination station, or accept the default setting:
nn>dest <mac addr>
Note: Remember to set the local and destination station MAC addresses in the second
instance of the nanoLOC TALK DEMO.
c. Set the logical channel by enter the following in both instances of the application:
nn>sc <n: 0 or 1 or 2 or 3>
The following table lists the configuration of each logical channel:
Table 21: NTRX_LogChannel attributes

Logical Channel

Bandwidth
[MHz]

Symbol
Duration [ns]

Center
Frequency ID

FEC-Enabled

80

1000

No

22

4000

No

22

4000

No

22

4000

13

No

The available logical channels are displayed in the console, as well as through the nanoLOC Logical Channels menu in the GUI.

Figure 62: nanoLOC Logical Channels

10 Start chat mode by entering chat at the prompt.


nn>chat

2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page 63

nanoLOC Talk Demo


nanoLOC Development Kit 3.0 User Guide

Figure 63: Chat mode

Note: Using the Return Key is not required to transmit the text. Each character is transmitted as soon as it has been typed in. Hence, backspacing does not eliminate a previously
typed in character.
11 In the selected chat mode, type some text and then Enter <Return Key> to transmit the text
to the second station, for example:
HELLO WORLD

Figure 64: Sending chat message

Page 64 NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

nanoLOC Talk Demo


nanoLOC Development Kit 3.0 User Guide

12 The text entered on the local station will be received by the remote station, with the response
from the remote station displayed below the sent text.

Figure 65: Talk transmission and response

Note: As the nanoLOC TALK DEMO application is character-based, it is not possible to backspace on the prompt line. Each character is transmitted as it is entered in the keyboard.
13 Text from a remote station is always displayed in red.

Figure 66: Received chat message displayed in red

2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page 65

nanoLOC Talk Demo


nanoLOC Development Kit 3.0 User Guide

14 To exit Chat mode, press [ESC].

Figure 67: End Chat mode

15 To exit the application, select RS232 Port > Exit.

8.3

Running Talk Demo Using HyperTerminal


The nanoLOC TALK DEMO can be run using HYPERTERMINAL as follows:
1

Open a new HYPERTERMINAL session and give it a name.

Select the COM port to which the nanoLOC DK Board is connected to the PC.

Set the following properties:


Table 22: Hyperterminal connection properties

BPS

Data bits

Parity

Stop bits

Flow control

38400

none

None

Push the Reset button on each nanoLOC DK Board to start the embedded application. The
nanoLOC TALK DEMO prompt nn> will appear.

Set the MAC address and logical channel.

Start chat mode by entering chat at the prompt.


nn>chat

Do steps 1 to 6 for the second station.

Enter text.

Exit Chat mode by pressing [Esc].

Page 66 NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

nanoLOC Talk Demo


nanoLOC Development Kit 3.0 User Guide

8.4

nanoLOC Talk Demo LED and Key Usage


LED indicators and Key functions of a nanoLOC DK Board used in the nanoLOC TALK DEMO:

Reset

TX LED: Packets (Ack and Data) transmitted

L8 L7 L6 L5 L4 L3 L2 L1

Reset button
LED1: Unused
LED2: Unused
LED3: Unused
LED4: Unused
LED5: Receiving
LED6: no ACK received
LED7: Calibration

K3: Unused

K2

K2: Unused

K3

K1: Unused

K1

LED8: Board is alive

PWR: Power on

+
-

On / Off Switch

Figure 68: Tag LED and Key usage nanoLOC Talk Demo

2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page 67

nanoLOC Talk Demo


nanoLOC Development Kit 3.0 User Guide

Intentionally Left Blank

Page 68 NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

nanoLOC Throughput Demo


nanoLOC Development Kit 3.0 User Guide

9 nanoLOC Throughput Demo


The nanoLOC THROUGHPUT DEMO provides the gross and net throughput of data, as well as error
rate, between two nanoLOC DK Boards. Two nanoLOC DK Boards are set as nodes in a wireless
network with each board connected to a PC running the nanoLOC THROUGHPUT DEMO.

TX

RX

RS-232

RS-232

PC
PC

Figure 69: Setup of the nanoLOC Throughput Demo

The transmitter (TX) sends 128 Byte data packets as fast as possible. The receiver (RX) receives
the packets and calculates every second net and gross data throughput between these two points,
counts the lost packets, and prints the results as a table on the terminal.
+

Net throughput:
MessagesReceived
-----------------------------------
---payloadSize
----------------------1 sec ond

Gross throughput:
MessagesReceieved
--------------------------------------
---payloadSize
-------------------------+---SyncWord
------------------+---Preamble
------------------+
---Tail
---------+
---Header
-----------1 sec ond

Lost packets:
Actual message Last message 1
The transmitter increments a counter and includes this counter as part of the payload. The
receiver stores the last message and compares it with the actual received message.

9.1

Image Files
To use the nanoLOC THROUGHPUT DEMO, an image file is provided in the Embedded Hex Files
directory of the installation directory:
+

nanoThroughput.hex for both boards.

Note: Any two nanoLOC DK Boards in the nanoLOC Development Kit can be used. Detailed
instructions for flashing hex files to the nanoLOC DK Boards are provided in 14.1. Flashing
a Hex File to a nanoLOC DK Board on page 91.

9.2

Running the Throughput Demo


The following assumes that the hardware has been assembled and that all the required software
and drivers have been installed on the PC(s). If not, refer to the nanoLOC Development Kit Quick
Start Guide for instructions.
Note: To correctly run the nanoLOC THROUGHPUT DEMO, switch on the nanoLOC DK Boards after
the demo application has been run on the PC.
To run the nanoLOC THROUGHPUT DEMO, do the following:
1

Ensure that the nanoLOC THROUGHPUT DEMO hex file Throughput.hex has been flashed to
two nanoLOC DK Boards. See 14.1. Flashing a Hex File to a nanoLOC DK Board on page 91
for details.

Connect each nanoLOC DK Board to a COM port of the PC using the provided RS-232 cables.

2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page 69

nanoLOC Throughput Demo


nanoLOC Development Kit 3.0 User Guide

Connect a power supply to the nanoLOC DK Board and switch on the board. The power LED
PWR should be illuminated.
Note: For supply voltages for the nanoLOC DK Boards, see 2.2. Power Supply on page 7.

Run two instances of the nanoLOC THROUGHPUT DEMO, one on each PC used in the demo, by
selecting from the Start menu: Nanotron nanoLOC AVR Development Kit >
Demo Windows Applications > nanoLOC Throughput Demo.

In the dialog that appears, select either Set Station as Receiver or Set Station as
Transmitter. In the following example, Set Station as Transmitter was selected.

Figure 70: Set Station as Transmitter

The GUI for the NANOLOC THROUGHPUT DEMO TX station opens.

Figure 71: nanoLOC Throughput Demo - TX station

Set the TX Power from the Transmit Power dropdown. The default value is 63. The range of
values (0-63) are listed in the following table:
Table 23: Transmit power settings
Value

Pout /
dBm

Value

Pout /
dBm

Value

Pout /
dBm

Value

Pout /
dBm

-36.20

16

-23.28

32

-12.07

48

-3.33

-35.30

17

-22.48

33

-11.41

49

-2.87

-34.47

18

-21.75

34

-10.80

50

-2.45

-33.65

19

-21.03

35

-10.20

51

-2.05

-32.83

20

-20.31

36

-9.61

52

-1.66

-32.02

21

-19.60

37

-9.03

53

-1.28

-31.21

22

-18.89

38

-8.46

54

-0.92

-30.41

23

-18.19

39

-7.91

55

-0.57

-29.54

24

-17.44

40

-7.31

56

-0.23

-28.70

25

-16.70

41

-6.74

57

0.12

10

-27.92

26

-16.02

42

-6.22

58

0.42

11

-27.14

27

-15.36

43

-5.71

59

0.72

Page 70 NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

nanoLOC Throughput Demo


nanoLOC Development Kit 3.0 User Guide

Table 23: Transmit power settings

Value

Pout /
dBm

Value

Pout /
dBm

Value

Pout /
dBm

Value

Pout /
dBm

12

-26.37

28

-14.70

44

-5.21

60

1.00

13

-25.60

29

-14.04

45

-4.73

61

1.28

14

-24.85

30

-13.40

46

-4.26

62

1.54

15

-24.09

31

-12.76

47

-3.80

63

1.79

Select a logical channel from the Logical Channel dropdown. The default is 0. These channels are listed in the following table:
Table 24: NTRX_LogChannel attributes

ID

Logical Channel

Bandwidth [MHz]

Bitrate [ns]

FEC

Centerfreq ID

NLC_80_1_N_0

80

1000

No

NLC_22_4_N_1

22

4000

No

NLC_22_4_N_7

22

4000

No

NLC_22_4_N_13

22

4000

No

13

Click Open Port to select the COM Port to which the nanoLOC DK Board is connected. In the
COM port dialog that appears, select the appropriate COM port. Unavailable COM ports are
greyed out.

Figure 72: Select COM Port

10 The TX station will begin transmitting packets. The number of packets transmitted together with
the number of retransmissions will be displayed in the View and the TX Counter fields.

Figure 73: TX station transmitting

Note: A high number of retransmissions indicates that the Receiving Station is not ready.

2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page 71

nanoLOC Throughput Demo


nanoLOC Development Kit 3.0 User Guide

11 Start the RX station by running another instance of the NANOLOC THROUGHPUT DEMO demo. In
the dialog that appears, select Set Station as Receiver.

Figure 74: Set Station as Receiver

12 The GUI for the NANOLOC THROUGHPUT DEMO RX station will open.

Figure 75: nanoLOC Throughput Demo Receiving Station

13 Ensure that the same logical channel is set in the receiving station is set in the transmitting station, otherwise no data will be received from the transmitting station. The channel is shown in
the Logical Channels field.
Note: Clicking Modes opens a dialog that lists the available logical channels. Click OK to close
dialog. These are the same channels as shown in step 7 above.

Figure 76: nanoLOC Logical Channels

14 Click Open Port to open the COM Port dialog and select the COM Port to which the second
nanoLOC DK Board is connected. Unavailable COM ports will be greyed out.
Page 72 NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

nanoLOC Throughput Demo


nanoLOC Development Kit 3.0 User Guide

Figure 77: Select COM Port RX station

15 The RX station will begin receiving packets.

Figure 78: RX station receiving

In the GUI for NANOLOC THROUGHPUT DEMO RX station, the following information is displayed:
a. RX Counter shows the number of received and lost packets.
b. Port View shows the status of the COM port as well as a log of received and lost packets.
Note: Clicking Clear Port View clears the log and restarts the logging of received and
lost packets.
2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page 73

nanoLOC Throughput Demo


nanoLOC Development Kit 3.0 User Guide

c. Throughput Bars shows the net (without header) and gross (with header) throughput in
Kbits/s.
d. Throughput Graph shows the same data as in Throughput Bars but as a graph where
the net throughput is shown in red and the gross throughput is shown in blue.
16 To close both the TX and RX stations, click Close Port and then select Exit on both nanoLOC THROUGHPUT DEMO GUIs, switch off the nanoLOC DK Boards, and disconnect the power
supplies and RS-232 cables.

9.3

nanoLOC Throughput Demo LED and Key Usage


LED indicators and Key functions of a nanoLOC DK Board used in the nanoLOC THROUGHPUT
DEMO:

Reset

TX LED: Packets (Ack and Data) transmitted

L8 L7 L6 L5 L4 L3 L2 L1

Reset button
LED1: Unused
LED2: Unused
LED3: Unused
LED4: Unused
LED5: Receiving
LED6: no ACK received
LED7: Calibration

K2: Unused

K2

K3: Unused

K3

K1: Unused

K1

LED8: Board is alive

PWR: Power on

+
-

On / Off Switch

Figure 79: Tag LED and Key usage nanoLOC Throughput Demo

Page 74 NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

nanoLOC Packet Sniffer Demo


nanoLOC Development Kit 3.0 User Guide

10

10 nanoLOC Packet Sniffer Demo


The nanoLOC PACKET SNIFFER DEMO demonstrates the use of the promiscuous mode of the nanoLOC nTRX Driver. The packet sniffer intercepts and logs traffic passing over the wireless nanoLOC
network. This demo uses a single nanoLOC DK Board and an image file flashed to this board.

10.1

Image File
To use this demo, an image file is provided in the Embedded Hex Files subdirectory of the installation directory:
+

nanoSniffer.hex for a single board

Note: Detailed instructions for flashing hex files to the nanoLOC DK Boards are provided in 14.1.
Flashing a Hex File to a nanoLOC DK Board on page 91.

10.2

Running the nanoLOC Packet Sniffer Demo


To run the nanoLOC PACKET SNIFFER DEMO, do the following:
1

Ensure that the nanoSniffer.hex file has been flashed to one nanoLOC DK Boards. See
14.1. Flashing a Hex File to a nanoLOC DK Board on page 91 for details.

Connect the nanoLOC DK Board to a COM port of the PC using the provided RS-232 cable.

Provide an appropriate power supply to the board and switch on the board. LED 7 will be illuminated to indicate the nanoLOC chip is being calibrated. LED 8 will blink continuously to indicate
the embedded application is running.
Note: For supply voltages for the nanoLOC DK Boards, see 2.2. Power Supply on page 7.

Run the nanoLOC Packet Sniffer Demo selecting from the Start menu: Nanotron nanoLOC
AVR Development Kit > Demo Windows Applications > nanoLOC Packet
Sniffer Demo.

Figure 80: nanoLOC Packet Sniffer Demo

2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page 75

10

nanoLOC Packet Sniffer Demo


nanoLOC Development Kit 3.0 User Guide

Select from the menu Select COM Port > Open Port and choose an available COM port
from the SELECT COMMUNICATION PORT dialog that appears.

Figure 81: nanoLOC Packet Sniffer open port

Note: Unavailable COM ports will be greyed out. The number of available COM ports may differ in different PCs.
6

The console opens in the application.

Figure 82: nanoLOC Packet Sniffer - console

Page 76 NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

nanoLOC Packet Sniffer Demo


nanoLOC Development Kit 3.0 User Guide

10

Push the Reset button on each nanoLOC DK Board to start the embedded application. The
nanoLOC SNIFFER DEMO prompt nn> will appear.

Figure 83: nanoLOC Sniffer Demo - prompt

Set the logical channel by selecting one of the channel configurations at the prompt, or accept
the default settings (Logical Channel 0):
nn>sc <n: 0 or 1 or 2 or 3>
The following table lists the configuration of each logical channel:
Table 25: NTRX_LogChannel attributes

Logical Channel

Bandwidth [MHz]

Symbol
Duration [ns]

Center
Frequency ID

FEC-Enabled

80

1000

No

22

4000

No

22

4000

No

22

4000

13

No

The available logical channels are displayed in the console, as well as through the nanoLOC
Modes menu in the GUI.

2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page 77

10

nanoLOC Packet Sniffer Demo


nanoLOC Development Kit 3.0 User Guide

Figure 84: nanoLOC Logical Channels

Run any demo application from this nanoLOC Development Kit from a second PC.
Note: Any other application from the nanoLOC Development Kit can be run and have the
packets reported by Sniffer. However, it is important that the logical channel is the same
within both the Sniffer demo and any other application from the nanoLOC Development
Kit. Also FEC should be switched off.

10 Start promiscuous mode be entering go at the prompt:


nn>go

Figure 85: Starting promiscuous mode

Page 78 NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

nanoLOC Packet Sniffer Demo


nanoLOC Development Kit 3.0 User Guide

10

11 The nanoLOC PACKET SNIFFER will begin reporting any nanoLOC packets in the air.

Figure 86: nanoLOC Packet Sniffer Demo reporting packets

For each reported packet, the contents of each field in the packet is decoded and displayed.

Figure 87: Example decoded packet

a. The packet counter will be incremented for each received packet. The initial value is 1.

b. A time stamp will be printed for each packet.

c. The source MAC address will be printed.

d. The destination MAC address will be printed.

e. Frame type from the MAC header will be printed.

2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page 79

10

nanoLOC Packet Sniffer Demo


nanoLOC Development Kit 3.0 User Guide

The following MACFrame types are recognized:


Table 26: MAC frame types

Frame Type

Description

DATA

Data packet

ACK

Acknowledgement packet

TIMB

Time Beacon packet

BRDC

Broadcast packet

RTS

Request to Send packet

CTS

Clear to Send packet

Note: For details on MACFrame types, see nanoLOC TRX (NA5TR1) User Guide.
f.

Length of the data field of the MACFrame: 1.. 128. The example below shows a simple talk
application packet with a length of 1.

g. Ranging status will be printed.

h. Data payload contents will be displayed, first as a hexidecimal value and the displayed
value. In the following example, the letter h was transmitted in this packet.

i.

MACFrame data field payload 1... 128 byte will be printed, if any.
For example, 67 c6 69...

12 Stop packet sniffing by selecting Close Port.


13 Stop promiscuous mode be entering q (for quit) at the prompt:
nn>q
14 Exit the program by selecting from the menu Select COM PORT > Exit.

Page 80 NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

nanoLOC Packet Sniffer Demo


nanoLOC Development Kit 3.0 User Guide

10.3

10

Packet Sniffer Demo LED and Key Usage


LED indicators and Key functions of a nanoLOC DK Board used in the nanoLOC PACKET SNIFFER
DEMO:

Reset

TX LED: Packets (Ack and Data) transmitted

L8 L7 L6 L5 L4 L3 L2 L1

Reset button
LED1: Unused
LED2: Unused
LED3: Unused
LED4: Unused
LED5: Receiving
LED6: no ACK received
LED7: Calibration

K2: Unused

K2

K3: Unused

K3

K1: Unused

K1

LED8: Board is alive

PWR: Power on

+
-

On / Off Switch

Figure 88: Tag LED and Key usage nanoLOC Packet Sniffer Demo

2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page 81

10

nanoLOC Packet Sniffer Demo


nanoLOC Development Kit 3.0 User Guide

Intentionally Left Blank

Page 82 NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

nanoLOC Ping Demo


nanoLOC Development Kit 3.0 User Guide

11

11 nanoLOC Ping Demo


The nanoLOC PING DEMO demonstrates how to establish a reliable RF LInk by sending commands
from a local node (first nanoLOC DK Board) to a remote node (second nanoLOC DK Board). It
evaluates the RF performance of a wireless connection by sending packets from a local device to
a remote device and reporting back to the local device the status of the remote device.
This embedded application can be used as a starting point for developing sensor wireless applications. This demo uses two nanoLOC DK Boards and an image file flashed to this board. No PC or
other hardware is required.

LEDs 7 and 8 blinking


continuously indicating
successful RX and TX
between boards

Figure 89: Ping application running on nanoLOC DK Boards

The nanoLOC PING DEMO demonstrates how to:

11.1

Initialize the nanoLOC TRX Transceiver

Initialize a transmission

Activate a reception

Handle received data

Image File
To use this demo, an image file is provided in the Embedded Hex Files subdirectory of the installation directory:
+

nanoPing.hex for both boards

Note: Detailed instructions for flashing hex files to the nanoLOC DK Boards are provided in 14.1.
Flashing a Hex File to a nanoLOC DK Board on page 91.

11.2

Running the nanoLOC Ping Demo


To run the nanoLOC PING DEMO, do the following:

2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page 83

11

nanoLOC Ping Demo


nanoLOC Development Kit 3.0 User Guide

Flash to both nanoLOC DK Boards the PING application hex file nanoPing.hex, which is provided in the Embedded Hex Files subdirectory of the installation directory.
Note: Detailed instructions for flashing the hex file to the nanoLOC DK Boards are provided in
14.1. Flashing a Hex File to a nanoLOC DK Board on page 91.

Connect the appropriate power supply to the two nanoLOC DK Boards and switch on the
boards. See 2.2. Power Supply on page 7 for voltage requirements.

The two nodes will now begin transmitting and receiving.

LED L3 illuminated to indicate the board is transmitting.

LED L2 illuminated to indicate retransmissions have been enabled.

LED L1 illuminated to indicate FEC has been enabled.

With both boards now pinging each other, a successful RF link will be indicated by Tx/ RX.
Blinking Tx/Rx indicates successful TX/RX
Power LED is on

LED 1 illuminated to indicate FEC is enabled


LED 2 illuminated to indicate retransmissions are enabled
LED 3 illuminated to indicate board is transmitting
LED 5 indicates receiving data
LED 6indicates no Acknowledgement
LEDs 7 indicate recalibration
LEDs 8 indicate Is Alive

Figure 90: Ping application indication LEDs

Retransmissions can be disabled by toggling button 2 (K2) on both nanoLOC DK Boards.


+

Forward Error Correction (FEC) can be disabled by toggling button 1 (K1) on both nanoLOC DK
Boards.
+

LED L2 will be switched off to indicate retransmissions have been disabled.

LED L1 will be switched off to indicate FEC has been disabled.

Transmissions can be stopped by toggling button 3 (K3) on one or both nanoLOC DK Boards.
+

LED L3 will be switched off to indicate the board is not transmitting.

Page 84 NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

nanoLOC Light Switch Demo


nanoLOC Development Kit 3.0 User Guide

12

12 nanoLOC Light Switch Demo


The nanoLOC LIGHT SWITCH DEMO demonstrates a simple remote control application. It uses an
RF link to send instructions from the one node (a transmitter) to a second node (a receiver) to illuminate an LED on the remote device.
This embedded application can be used as a starting point for developing remote control wireless
applications. This demo uses two nanoLOC DK Boards and an image file flashed to this board. No
PC or other hardware is required.

LEDs 1, 2, and 3 on remote


board switched on by buttons
1, 2, and 3 on local board

LEDs 1, 2, and 3 on local


board illuminated to give
status information about
LEDs on remote station

Remote board

Local board

Figure 91: Light Switch application running on nanoLOC DK Boards

12.1

Image Files
To use this demo, a set of image files are provided in the Embedded Hex Files subdirectory of
the installation directory:
+

LightSwitchTX.hex for the transmitter

LightSwitchRX.hex for the receiver

Note: Detailed instructions for flashing hex files to the nanoLOC DK Boards are provided in 14.1.
Flashing a Hex File to a nanoLOC DK Board on page 91.

12.2

Running the nanoLOC Light Switch Demo


To use the LIGHT SWITCH application, do the following:
1

Flash LightSwitchTX.hex (Light Switch transmitter) to a nanoLOC DK Boards and


LightSwitchRX.hex (Light Switch receiver) to a second nanoLOC DK Board.
Note: Detailed instructions for flashing the hex file to the nanoLOC DK Boards are provided in
14.1. Flashing a Hex File to a nanoLOC DK Board on page 91.

2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page 85

12

nanoLOC Light Switch Demo


nanoLOC Development Kit 3.0 User Guide

Connect the appropriate power supply to both nanoLOC DK Boards and switch on the boards.
See 2.2. Power Supply on page 7 for voltage requirements.

On the transmitter board, do the following:

Push on button 1 (K1) to switch on LED 1 on the receiver.

Push button 2 (K2) to switch on LED 2 on the receiver

Push button 3 (K3) to switch on LED 3 on the receiver

If no RF Link could be established between the local transmitter and the remote receiver (if the
remote device was out of range or had its power disconnected), then the LEDs on the local
transmitter will not be illuminated.
LEDs 1, 2 and 3 are illuminated to indicate the
corresponding LEDs on the remote station are illuminated
Power LED is on
Clicking one of the 3 buttons illuminates a
corresponding LED on the remote station

Figure 92: Light Switch Demo application

Page 86 NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

Compiling with AVR Studio 4


nanoLOC Development Kit 3.0 User Guide

13

13 Compiling with AVR Studio 4


The procedures in this section describe how to compile an application and generate image files
(Hex files) for flashing to a nanoLOC DK Board.
Note: Before running AVR STUDIO 4, WINAVR must be installed as AVR STUDIO 4 uses the
GCC COMPILER which is a part of the WINAVR installation. Refer to the nanoLOC Development Kit Quick Start Guide for installation instructions.
To compile a nanoLOC Demo application using AVR Studio 4, do the following:
1

From the Start menu, select Atmel AVR Tools > AVR Studio 4.
A WELCOME dialog will appear to start a new project or to open a project. The procedure
described in this section uses the nanoLOC THROUGHPUT DEMO as an example and is provided
as source code in the sources subdirectory of the nanoLOC Development Kit installation
directory.

Figure 93: AVR Studio 4 - Welcome

Select Open and browse to the project file, which has an .aps extension, of the nanoLOC
Throughput Demo application.

2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page 87

13

Compiling with AVR Studio 4


nanoLOC Development Kit 3.0 User Guide

Figure 94: Select project file

Click Open to load the project files of the nanoLOC THROUGHPUT DEMO into AVR STUDIO 4.

Figure 95: Loaded project files

In the AVR GCC area, right-click the project file name nanoThroughput (default) and
select Build Project.

Page 88 NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

Compiling with AVR Studio 4


nanoLOC Development Kit 3.0 User Guide

13

Note: If WinAVR was not installed, or not installed correctly, the following error message will
appear.

Figure 96: WinAVR not installed error message

After AVR STUDIO 4 has compile the application, it saves the compiled hex file, as well as a
number of other files, to a default directory within the nanoLOC THROUGHPUT DEMO source
code directory.

2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page 89

13

Compiling with AVR Studio 4


nanoLOC Development Kit 3.0 User Guide

Figure 97: nanoLOC Throughput Demo compiled files

AVR Studio 4 will display build messages.


In this example, the application was compiled without error but with one warning. The complete
application nanoLOC THROUGHPUT DEMO, when flashed to the nanoLOC DK Board, will occupy
only 44.6 % of the flash memory.

nanoLOC Throughput Demo application occupies only 44.6 % of flash memory

Compiled without errors, only one warning

Figure 98: project compiled

The hex file can now be flashed to a nanoLOC DK Board. See 14.1. Flashing a Hex File to a
nanoLOC DK Board on page 91.

Page 90 NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

Flashing and Debugging with AVR Studio 4


nanoLOC Development Kit 3.0 User Guide

14

14 Flashing and Debugging with AVR Studio 4


This section describes the procedure for flashing and debugging the embedded application for the
nanoLOC Throughput Demo that was compiled in 13. Compiling with AVR Studio 4 on page 87.
Use the JTAG Adapter included in the nanoLOC Development Kit for flashing and debugging Hex
files to nanoLOC DK Boards.
Note: The following assumes AVR STUDIO 4 and WinAVR has been installed. If not, refer to the
nanoLOC Development Kit Quick Start Guide.

14.1

Flashing a Hex File to a nanoLOC DK Board


The following assumes the nanoLOC THROUGHPUT DEMO application has been compiled. If not,
see 13. Compiling with AVR Studio 4 on page 87.
To flash a hex file to a nanoLOC DK Board, do the following:
1

Connect the JTAG Adapter to the JTAG header on the nanoLOC DK Board and connect the
JTAG adapter to the PC using the provided USB cable (male/male). Connect a power supply to
the nanoLOC DK board and switch on the board.
Warning:

See 2.2. Power Supply on page 7 to provide a power supply with the correct
voltage.

Run AVR STUDIO 4 and open the project file for the nanoLOC THROUGHPUT DEMO. See 13.
Compiling with AVR Studio 4 on page 87 for details on opening projects.

Ensure that the correct AVR programmer is used by clicking the Connect button to open the
Select AVR Programmer dialog.

2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page 91

14

Flashing and Debugging with AVR Studio 4


nanoLOC Development Kit 3.0 User Guide

Click the Connect button


to open the Select AVR
Programmer dialog

Select Auto

Figure 99: Select AVR Programmer

In the SELECT AVR PROGRAMMER dialog, select the JTAG ICE from the Platform list and
select Auto from the Port list. Click Connect. Auto will cause the software to scan the ports
to look for the JTAG Adapter.

Select STK500
or AVRISP

Click Connect...

Note: If AVR STUDIO 4 could not connect to the nanoLOC DK Board, ensure that the correct
platform was selected and the USB cable is properly connected to the PC and JTAG
Adapter.
5

After AVR STUDIO 4 connects with the nanoLOC DK Board, the JTAG ICE dialog will appear.

Page 92 NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

Flashing and Debugging with AVR Studio 4


nanoLOC Development Kit 3.0 User Guide

14

Select ATmega128
Select JTAG mode

Load the hex for the


embedded application

Figure 100: Locating HEX file

In the JTAG ICE dialog, select the PLATFORM tab and set the following:
a. In the Device dropdown, select Atmega128.
b. In the Programming mode section, select JTAG mode. Leave all other selections as is.
c. In the Flash section, click the browse button (...) and browse to the required hex file in
the Embedded Hex Files subdirectory of the Development Kit installation directory, or in
the sources subdirectory, if an application was compiled.
d. In the EEPROM section, make no selections.
6

After the hex file has been selected, click Program from the Flash section to begin flashing
the file to the nanoLOC DK Board.

Click Program in the


Flash area to flash the
HEX file to the board

Figure 101: Begin flashing

Note: Do not select PROGRAM from the EEPROM area, as a error will occur.
7

Flashing is complete when the JTAG ICE dialog indicates Leaving


Mode...OK.

2010 Nanotron Technologies GmbH.

Programming

NA-06-0230-0402-3.0 Page 93

14

Flashing and Debugging with AVR Studio 4


nanoLOC Development Kit 3.0 User Guide

Figure 102: Flashing complete

14.2

Close the JTAG ICE dialog.

Debugging the Embedded Application


The following assumes the nanoLOC THROUGHPUT DEMO Hex file has been flashed to the nanoLOC DK Board. If not, see 14.1. Flashing a Hex File to a nanoLOC DK Board on page 91.
To debug an embedded application on the nanoLOC DK Board, do the following:
1

Connect the JTAG Adapter to the JTAG header on the nanoLOC DK Board.

Connect the JTAG adapter to the PC using the provided USB cable (male/male).

Connect a power supply to the nanoLOC DK board and switch on the board.
Warning:

See 2.2. Power Supply on page 7 to provide a power supply with the correct
voltage.

Run AVR STUDIO 4 and open the project file for the nanoLOC THROUGHPUT DEMO. See 13.
Compiling with AVR Studio 4 on page 87 for details on opening projects.

Click the Start Debugging button to begin debugging the application.

Page 94 NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

Flashing and Debugging with AVR Studio 4


nanoLOC Development Kit 3.0 User Guide

14

Figure 103: Debugging an embedded application

AVR Studio 4 indicates it has completed the debugging the application.

Figure 104: Debugging complete

2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page 95

14

Flashing and Debugging with AVR Studio 4


nanoLOC Development Kit 3.0 User Guide

Intentionally Left Blank

Page 96 NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

nanoLOC DK Board Modules


nanoLOC Development Kit 3.0 User Guide

A1

A1 nanoLOC DK Board Modules


This section describes the main modules of the nanoLOC DK Board, including connections
between the modules and the microcontroller.

A1.1

Block Diagram
Figure 105 below shows a block diagram of the nanoLOC DK Board.
PWR LED

Power
Supply

RS-232 serial
interface

On/Off
Switch

Keys
K1, K2, K3, K4

Voltage
Regulator

nanoLOC EVR
Module

ATmega128L microcontroller

Light
Sensor

PORTD

ADC/IO

JTAG

LEDs
L1
L2
L3
L4
L5
L6
L7
L8

SPI

Antenna

TX/RX
LED

PORTB

Figure 105: nanoLOC DK Board block diagram

A1.2

Communication Interface (RS-232/UART)


The Communication Interface provides serial communication between the nanoLOC DK Board
and a PC. The board uses a standard RS-232/UART port for communication with a COM port on a
PC. It can be used, for example, with a PC running a terminal program such as HyperTerminal
for use under Windows, or Minicom for use under Linux. To use this interface, the TX and RX
jumpers should be connected on the nanoLOC DK Board as shown in figure 106 below.
RX jumper

TX jumper

9 pin D-sub
connector
Figure 106: Communication Interface

The schematics for the Communication Interface are provided in the figure 107 below.
2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page 97

A1

nanoLOC DK Board Modules


nanoLOC Development Kit 3.0 User Guide

Figure 107: Communication Interface schematics

A1.3

JTAG Interface
The JTAG Interface provides a debugging interface to the nanoLOC DK Board. This interface can
be used for software debugging and for flashing image files to the microcontroller using either the
AVR JTAGICE mkII from Atmel or any other compatible device. The JTAG connector on the
nanoLOC DK Board is shown in figure 108 below.

JTAG connector

Figure 108: JTAG connector

Table 27 on page 98 shows the connections between the microcontroller and the JTAG interface.
Table 27: JTAG interface pin connections

Microcontroller

JTAG Interface

Pin #

Pin name

Pin #

Pin Name

Signal

57

PF4 (ADC4/TCK)

PF4

TCK

GND

Ground

55

PF6 (ADC6/TDO)

PF6

TDO

GND

Ground

56

PF5 (ADC5/TMS)

PF5

TMS

Not connected

VCC

Power supply

Not connected

54

PF7 (ADC7/TDI)

PF7

TDI

10

GND

Ground

Page 98 NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

nanoLOC DK Board Modules


nanoLOC Development Kit 3.0 User Guide

A1.4

A1

In-System-Programming (ISP) Interface


The ISP (In-System-Programming) Interface is provided for flashing image files to the nanoLOC
DK Board. The 6 pin ISP connector can be used with standard AVR ISP tools such as AVR
STUDIO 4 or WINAVR in serial programming mode. For flashing image files to the nanoLOC
DK Board, this ISP interface is connected to the ISP6PIN connector on the STK500 Board using
the included 6-wire cable. The ISP connector (labelled SPI) is shown figure 109 below.

ISP connector

Figure 109: ISP connector (SPI)

Table 28 on page 99 shows the connections between the microcontroller and the ISP connector.
Table 28: Microcontroller to ISP pin connections

Microcontroller

A1.5

ISP Connector

Pin #

Pin Name

Pin #

Pin Name

Signal

PE1 (TXD/PDO)

PE1

TXD/PDO

VCC

Supply voltage

11

PB1 (SCK)

PB1

SPICLK

PE0 (RXD/PD1)

PE0

RXD/PD1

20

RESET

RESET

Reset

GND

Ground

Light Sensor (Light to Digital Converter)


The nanoLOC DK Board provides a light sensor (a light-to-digital converter type TSL2561T) that
transforms light intensity to a digital output signal capable of I2 C interface in fast mode at 400 kHz.
The light sensor on the board is shown figure 110 below.

Light sensor

Figure 110: Light sensor

Note: For detailed technical specifications about the light sensor, refer to the datasheet available
in the Documentation subdirectory of the kit installation directory.
2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page 99

A1

nanoLOC DK Board Modules


nanoLOC Development Kit 3.0 User Guide

Table 29 on page 100 shows the connections between the microcontroller and the light sensor.
Table 29: Microcontroller to light sensor pin connections

Microcontroller

A1.6

Light Sensor

Pin #

Pin Name

Pin #

Pin Name

Signal

VDD

VCC power supply.

44

PA7 (AD7)

ADDRSEL

ADDRSEL input signal from controller


to light sensor.

GND

Ground.

25

PD0 (SCL/INT0)

SCL

SCL clock signal for sensor input


terminal.

PE5 (OC3C/INT5)

INT

INT5 Sensor output level interrupt


signal.

26

PD1 (SDA/INT1)

SDA

SDA Serial data sensor input/ output.

Digital I/O Module


The nanoLOC DK Board provides a digital I/O module that extends the seven external ports of the
ATmega128L microcontroller. In the nanoLOC Development Kit, these I/O ports are used as follows:
+

PORTA (light sensor)

PORTB (general I/O)

PORTC (user-programmable LEDs)

PORTD (general I/O)

PORTE (ISP and user-programmable buttons)

PORTF (ADC and JTAG)

The connections provided by the Digital I/O module are provided for application development.
Note: For a detailed description of these I/O ports on the ATmega128L microcontroller, refer to
the ATmega128L documentation available in the Documentation subdirectory of the kit
installation directory.
A1.6.1 PORTA (Light Sensor)
On PORTA on the ATmega128L microcontroller, pin 44 is connected to the light sensor pin 2
(ADDRSEL). Pin 48 is connected to RS232 FORCEON (which could be used to disable/enable
RS-232 automatic sleep mode) while the remaining pins of PORTA are extended to solder pads.
Table 30 on page 100 shows the connections between the microcontroller PORTA and the PORTA
connector:
Table 30: Microcontroller to PORTA pin connections

Microcontroller

Light Sensor

Pin #

Pin name

Pin #

Pin Name

Signal

44

PA7 (AD7)

ADDRSEL

ADDRSEL

45

PA6 (AD5)

Extended to solder pad

46

PA5 (AD5)

Extended to solder pad

47

PA4 (AD4)

Extended to solder pad

48

PA3 (AD3)

RS232FO

RS232 FORCEON

49

PA2 (AD2)

Extended to solder pad

Page 100 NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

nanoLOC DK Board Modules


nanoLOC Development Kit 3.0 User Guide

A1

Table 30: Microcontroller to PORTA pin connections

Microcontroller

Light Sensor

Pin #

Pin name

Pin #

Pin Name

Signal

50

PA1 (AD1)

Extended to solder pad

51

PA0 (AD0)

Extended to solder pad

A1.6.2 PORTB (General I/O)


PORTB (pins 10 to 17) on the ATmega128L microcontroller uses eight of the ten pins on the
PORTB pin connector. This port is a general I/O port and can be used for application development
purposes. The PORTB pin connector is shown figure 111 below.

PORTB pin connector

Figure 111: PORTB pin connector connected to PORTB on the microcontroller

Table 31 on page 101 shows the connections between the microcontroller PORTB and the PORTB
connector.
Table 31: Microcontroller to PORTB pin connections

Microcontroller

PORTB Pin Connector

Pin #

Pin Name

Pin #

Pin Name

Signals

10

PB0 (SS)

PB0

SPISS

11

PB1 (SCK)

PB1

SPICLK

12

PB2 (MOSI)

PB2

SPIRXD

13

PB3 (MISO)

PB3

SPITXD

14

PDB4 (OC0)

PB4

OC0

15

PB5 (OC1A)

PB5

OC1A

16

PB6 (OC1B)

PB6

OC1B

17

PB7 (OC2/OC1C)

PB7

OC2/OC1C

GND

Ground.

10

VCC

Power Supply.

2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page 101

A1

nanoLOC DK Board Modules


nanoLOC Development Kit 3.0 User Guide

1.6.3 PORTC (User-Programmable LEDs)


PORTC (pins 35 to 42) on the ATmega128L microcontroller is connected via a 680 resistor-array
to eight user-programmable activity LEDs. The PORTC LEDs are shown in figure 112 below.
User programmable
LEDs

Figure 112: LEDs connected to PORTC on the microcontroller

Table 32 on page 102 shows the connections between the microcontroller PORTB and the LEDs.
Table 32: Microcontroller to PORTC pin connections

Microcontroller

LEDs
Signals

Pin #

Pin Name

LED #

Color

35

PC0 (A8)

LED1

Red

36

PC1 (A9)

LED2

Orange

37

PC2 (A10)

LED3

Yellow

38

PC3 (A11)

LED4

Red

39

PC4 (A12)

LED5

Orange

40

PC5 (A13)

LED6

Yellow

41

PC6 (A14)

LED7

Red

42

PC7 (A15)

LED8

Orange

A1.6.4 PORTD (General I/O)


PORTD (pins 25 to 32) on the ATmega128L microcontroller uses eight of the ten pins on the
PORTD pin connector on the nanoLOC DK Board. This port is a general I/O port and can be used
for application development purposes. The PORTD pin connector is shown in figure 113 below.

PORTD pin connector

Figure 113: PORTD pin connector connected to PORTD on the microcontroller

Page 102 NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

nanoLOC DK Board Modules


nanoLOC Development Kit 3.0 User Guide

A1

Table 33 on page 103 shows the connections between the microcontroller PORTD and PORTD
connector.
Table 33: PORTD pin connections

Microcontroller

PORTD Pin Connector

Pin #

Pin Name

Pin #

Pin Name

Signals

25

PD0 (SCL/INT0)

PD0

Light sensor pin 4

26

PD1 (SDA/INT1)

PD1

Light sensor pin 7

27

PD2 (RXD1/INT2)

PD2

RXD1 RS232 RX

28

PD3 (TXD1/INT3)

PD3

TXD1 RS232 TX

29

PD4 (IC1)

PD4

Extension pin, not connected to any module

30

PD5 (XCK1)

PD5

PWRUPRESET connected to pin 14 on


the nanoPAN RF Module.

31

PD6 (T1)

PD6

SPISS2 slave select for nanoPAN RF


Module.

32

PD7 (T2)

PD7

SPISS1 Slave select for temperature


sensor.

GND

Ground.

10

VCC

Power supply.

A1.6.5 PORTE (ISP and User-Programmable Buttons)


PORTE (pins 2 to 9) on the ATmega128L microcontroller is connected partly to the SPI pin connector (for In-System Programming) and partly to the user-programmable buttons. See also 1.4.
In-System-Programming (ISP) Interface on page 99. The SPI pin connector and the three userprogrammable buttons on the board are shown in figure 114 below.

User-programmable
buttons

SPI pin connector

Figure 114: SPI pin connector and user programmable buttons

Table 34 on page 103 shows the connections between the microcontroller PORTE and the SPI pin
connector and user-programmable buttons.
Table 34: ATmega128L microcontroller to PORTE pin connections

Microcontroller

Connections

Pin #

Pin Name

Pin #

Pin Name

Signals

PE0 (RXD/PD1)

4 (SPI)

RXD/PD1

PE1 (TXD/PDO)

1 (SPI)

TXD/PDO

PE2 (XCK0/AIN0)

1 (Key 4)

Button K3

2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page 103

A1

nanoLOC DK Board Modules


nanoLOC Development Kit 3.0 User Guide

Table 34: ATmega128L microcontroller to PORTE pin connections

Microcontroller

Connections

Pin #

Pin Name

Pin #

Pin Name

Signals

PE3 (OC3A/AIN1)

1 (Key 3)

Button K2

PE4 (OC3B/INT4)

UCIRQ

PE5 (OC3C/INT5)

INT5

PE6 (T3/INT6)

1 (Key 2)

Button K1

PE7 (ICP3.INT7)

UCRESET

INT7

nanoPAN interrupt UCRESET

A1.6.6 PORTF (ADC and JTAG)


PORTF (pins 54 to 61) on the ATmega128L microcontroller is connected partly to the ADC/IO pin
connector and partly to the JTAG connector on the nanoLOC DK Board. The ADC/IO pin connector provides an analog input to the A/D Converter. The ADC/IO pin connector and JTAG connector
are shown in figure 115 below.

ADC/IO pin
connector

JTAG connector

Figure 115: nanoLOC DK Board PORTF (ADC and JTAG) connectors

Table 35 on page 104 shows the connections between the microcontroller PORTF and the ADC/IO
pin connector and the JTAG connector.
Table 35: ATmega128L microcontroller to PORTF pin connections

Microcontroller

ADC/IO Pin Connector

Pin #

Pin Name

Pin #

Pin Name

Signal

61

PF0 (ADC0)

PF0

ADC0

60

PF1 (ADC1)

PF1

ADC1

59

PF2 (ADC2)

PF2

ADC2

58

PF3 (ADC3)

PF3

ADC3

57

PF4 (ADC4/TCK)

PF4

TCK see also JTAG.

56

PF5 (/ADC5/TMS)

PF5

TMS see also JTAG.

55

PF6 (ADC6/TDO)

PF6

TDO - see also JTAG

54

PF7 (ADC7/TDI)

PF7

TDI see also JTAG

GND

Ground

10

VCC

Power supply.

Page 104 NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

nanoLOC DK Board Modules


nanoLOC Development Kit 3.0 User Guide

A1.7

A1

LED Block
The nanoLOC DK Board provides 10 LEDs two have a dedicated function while eight are userprogrammable:

A1.8

The power indicator LED (labelled PWR) is a power supply indicator and can only be used for
this function.

The TX/RX LED (labelled TX/RX) is connected to pin 29 on the nanoLOC RF Module and is
used to indicate the transmission and reception of data packets.

Eight user-programmable LEDs (labelled L1, L2, L3, L4, L5, L6, L7 and L8) are connected via
680 resistance arrays to PORTC on the ATmega128L microcontroller. For pin connections,
see 1.6.3. PORTC (User-Programmable LEDs) on page 102.

Function Buttons
The nanoLOC DK Board provides four function buttons one has a dedicated function while three
are user-programmable, as follows:
+

Button 1 (labelled RESET) is connected to pin number 20 on the microcontroller (RESET). It is


used to reset the microcontroller.

Button 2 (labelled K1) is a user-programmable button and is connected to PORTE pin number
6 (PE6 /INT6) on the microcontroller pin number 8

Button 3 (labelled K2) is a user-programmable button and is connected to PORT E pin number
5 on the microcontroller (AIN1/PORTE/PE3).

Button 4 (labelled K3) is a user-programmable key and is connected to PORT E pin number 4
on the microcontroller (AIN0/PORTE/PE2).

2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page 105

A1

nanoLOC DK Board Modules


nanoLOC Development Kit 3.0 User Guide

Intentionally Left Blank

Page 106 NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

nanoLOC DK Board Technical Description


nanoLOC Development Kit 3.0 User Guide

A2

A2 nanoLOC DK Board Technical Description


A2.1

Schematics

Figure 116: nanoLOC DK Board schematic 1 of 4

2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page 107

A2

nanoLOC DK Board Technical Description


nanoLOC Development Kit 3.0 User Guide

Figure 117: nanoLOC DK Board schematic 2 of 4

Page 108 NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

nanoLOC DK Board Technical Description


nanoLOC Development Kit 3.0 User Guide

A2

Figure 118: nanoLOC DK Board schematic 3 of 4

2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page 109

A2

nanoLOC DK Board Technical Description


nanoLOC Development Kit 3.0 User Guide

Figure 119: nanoLOC DK Board schematic 4 of 4

Page 110 NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

nanoLOC DK Board Technical Description


nanoLOC Development Kit 3.0 User Guide

A2.2

A2

PCB Layout

Figure 120: nanoLOC DK Board - top

Figure 121: nanoLOC DK Board - bottom (inverted)

Figure 122: nanoLOC DK Board - top components

2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page 111

A2
A2.3

nanoLOC DK Board Technical Description


nanoLOC Development Kit 3.0 User Guide

Bill of Materials
Table 36: nanoLOC DK Board Bill of Materials

Description

Part

QTY

Value

Package

Buttons

K1, K2, K3, K4

4pins

Capacitors

C1

10nF

c0402

C2, C8, C33

100pF

c0402

C9, C25

22pF

c0402

C4

22uF

c1210

C24

47uF

c1210

C3, C5, C7, C11

100nF

c0402

X1

2.1mm
(Barrel)

neb21r /

X4

9 pins
(RS232 Female)

f09hp

U2

1.51mm
(SMA antenna)

Connector - JTAG

JTAG

10 pole

ml10

Crystals

Q1

7.3728 MHz

HC-49US SMD

Q2

32.768 KHz

MS1V-T1K

Diode

D1

zhcs2000

sot23/6l

ICs

IC2

mega128-a
(Microcontroller)

TQFP64

IC3

(Voltage regulator)

sot23-5

RS 232 driver

U1

isl4223e

mlfp5x5

Inductors

L1

10nH

l0805

L3

33uH

ind_pd3

L4

2200

l0603

JP1, JP3

1x2 way

1x2

JP2

1x3 way

1x3

LED6, LED3

gold

plcc2

LED1, LED4

red

plcc2

LED2, LED5

orange

plcc2

Light Sensor

LS1

TSL2561T

sot-6

RF Module

nanoLOC EVR

PCB stands

dkr

6mm

M3

Pin headers

ADC/IO

2x5 way

ma05-02

SPI/USART

2x3 way

ma03-2

RS232/TXRX

2x2 way

pinhd-2x2

Pins

DIIO1, DIIO2

13

1.0mm

lsp10, 12h555

Resistors

R1

4,7k

r0603

R2,R10,R11, R14

10k

r0603

R20

1k3

r0603

R19

390R

r0603

Connectors -

Jumpers

LED

Resistors (contd)

Page 112 NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

nanoLOC DK Board Technical Description


nanoLOC Development Kit 3.0 User Guide

A2

Table 36: nanoLOC DK Board Bill of Materials (Continued)

Description

QTY

Value

Package

R15

100

r0603

R3

2k7

r0603

R4, R5

560

r0603

R22, R23, R24

680

r0402

R6,R7,R8,R9

1M

r0805

R12,R13,R16

1M

r0402

Sliding switch

S1

10mm

255SB

Transistor

T1

bc856

sot-23

Dimensions
L8
K3

K2

L1

K1

ATmega128L
microcontroller

nanoLOC RF
Module

67 mm

2.4

Part

SMA connector for 2.4 GHz


antenna

1
2

100 mm
Figure 123: nanoLOC DK Board dimensions

2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page 113

A2

nanoLOC DK Board Technical Description


nanoLOC Development Kit 3.0 User Guide

Intentionally Left Blank

Page 114 NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

nanoLOC USB Stick Technical Description


nanoLOC Development Kit User Guide

A3

A3 nanoLOC USB Stick Technical Description


A3.1

Schematics

Figure 124: nanoLOC USB Stick - Schematic 1 of 2

2010 Nanotron Technologies GmbH.

NA-06-0230-0402-2.1 Page 115

A3

nanoLOC USB Stick Technical Description


nanoLOC Development Kit User Guide

Figure 125: nanoLOC USB Stick - Schematic 2 of 2

Page 116 NA-06-0230-0402-2.1

2010 Nanotron Technologies GmbH.

nanoLOC USB Stick Technical Description


nanoLOC Development Kit User Guide

A3.2

A3

PCB Layout

Figure 126: nanoLOC USB Stick - top (scale 2X)

Figure 127: nanoLOC USB Stick - bottom (scale 2X and inverted)

Figure 128: nanoLOC USB Stick - top components (scale 2X)

2010 Nanotron Technologies GmbH.

NA-06-0230-0402-2.1 Page 117

A3
A3.3

nanoLOC USB Stick Technical Description


nanoLOC Development Kit User Guide

Bill of Materials
Table 37: nanoLOC USB Stick bill of materials

Description

Part

Qty

Value

Package

Antenna

ANT1

WE-ANT20245

WE-ANT20245

Capacitor

C5,C9,C10,C11,C12

100nF

0402

C1

15pF

0402

C2,C3

27pF

0402

C4

100pF

0402

C7

100nF

0603

C6, C8

10uF

0805

IC1

FT2232C

LD-LQFP48

IC2

93-C46BSN

SO-08

IC-SM Regulator
LDO 3.3V

IC3

LD1117S33

SOT-223

Inductor

L1

nb

0402

Resistor

R2,R3

27R

0402

R5

270R

0402

R4

1k5

0402

R8

2k2

0402

R1,R6,R7,R9

10k

0402

R10

470R

0603

C13

33nF

0402

RF Module

nanoLOC_PAN_REL10

nanoLOC_PAN_
REL10

nanoLOC_
PAN_REL10

LED, green

LED1

TLHG4405

LED3MM

Quartz crystal

Q1

6MHz

HC49/S

USB

X1

USB6

USB-M6-LPDIP

ICs

Page 118 NA-06-0230-0402-2.1

2010 Nanotron Technologies GmbH.

2.4 GHz Swivel Antenna Specifications


nanoLOC Development Kit 3.0 User Guide

A4

A4 2.4 GHz Swivel Antenna Specifications


Model: 5 dbi ANT IW-15IS 2.4 GHz omnidirectional swivel antenna with SMA connector

A4.1

Dimensions
Scale = mm

SMA Plug

13

90

12.5
30

196

Figure 129: Antenna mechanical dimensions

A4.2

Specifications
A.4.2.1 Electrical Specifications
Table 38: Antenna electrical specifications

Frequency Range

2400~2500 MHz

Impedance

50

VSWR

2.0

Gain

5 dBi

Radiation

Omni

Polarization

Vertical

A.4.2.2 Mechanical Specification


Table 39: Antenna mechanical specifications

Standard connector

Brass SMA (male)

Cable

None

Bushing Type

Swivel 0,45, 90

Waterproof

no

Antenna cover

Polyurethane

Swivel mechanism

Polycarbonate

Colour

Black

Weight

32 g (est.)

A.4.2.3 Environmental Specification


Table 40: Antenna environmental specification

Operating Temperature

-20 ~ +65 C

Storage Temperature

-30 ~ +70 C

2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page 119

A4
A4.3

2.4 GHz Swivel Antenna Specifications


nanoLOC Development Kit 3.0 User Guide

Return Loss and V.S.W.R.

Figure 130: Antenna return loss and V.S.W.R.

Page 120 NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

2.4 GHz Swivel Antenna Specifications


nanoLOC Development Kit 3.0 User Guide

A4.4

A4

Patterns

E_PLANE
2450MHz

H_PLANE
2450MHz

Figure 131: Antenna E Plane and H Plane patterns

2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page 121

A4

2.4 GHz Swivel Antenna Specifications


nanoLOC Development Kit 3.0 User Guide

Figure 132: Antenna E Plane and H Plane field patterns

Page 122 NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

Compiling with WinAVR


nanoLOC Development Kit 3.0 User Guide

A5

A5 Compiling with WinAVR


WinAVR (pronounced whenever) is a suite of executable, open source software development
tools for the Atmel AVR series of RISC microprocessors hosted on the Windows platform. It
includes the GNU GCC compiler for C and C++. The procedures in this section describe how to
compile an application to generate hex files for flashing to a nanoLOC DK Board.
Note: The following assumes WinAVR has been installed. If not, refer to the nanoLOC Development Kit Quick Start Guide for installation instructions.
To compile an application using WinAVR, do the following:
1

From the Start menu, select WinAVR > Programmers Notepad [WinAVR].

Figure 133: WinAVR Programmers Notepad

Select Open > Open Project(s)...

2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page 123

A5

Compiling with WinAVR


nanoLOC Development Kit 3.0 User Guide

Figure 134: Select project file

Browse to the project file of one of the embedded applications in the nanoLOC Development
Kit and click Open. The project will open in the Programmers Notebook.

Figure 135: Opened Project

Select Tools > Make Clean to clean up an object files that may be in the application.

Figure 136: Make Clean

Page 124 NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

Compiling with WinAVR


nanoLOC Development Kit 3.0 User Guide

A5

Select Tools > Make All to compile the application.

Figure 137: Make All

A successful compilation will be indicated by Process Exit Code:0.


Note: If the project could not be compiled, first check to make sure all files in the application
directory are not write protected.
6

The compiled hex file, as well as a number of other files, will be saved to the root of the application directory.
Note: A debug file, which has the extension .cof, will also be outputted by WinAVR and can be
used to debug the application. For more details, see 6. Flashing Hex Files with STK500
Board on page 127.

The hex file can now be flashed to the nanoLOC DK Board(s). See 6. Flashing Hex Files with
STK500 Board on page 127.

2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page 125

A5

Compiling with WinAVR


nanoLOC Development Kit 3.0 User Guide

Intentionally Left Blank

Page 126 NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

Flashing Hex Files with STK500 Board


nanoLOC Development Kit 3.0 User Guide

A6

A6 Flashing Hex Files with STK500 Board


This section describes the procedure for flashing the embedded application for the nanoLOC
Throughput Demo that was compiled in 5. Compiling with WinAVR on page 123 with the Atmel
STK500 Board.
Note: Ensure that AVR STUDIO 4 and WinAVR has been installed. If not, refer to the nanoLOC
Development Kit Quick Start Guide.
The following assumes the nanoLOC THROUGHPUT DEMO application has been compiled. If not,
see 5. Compiling with WinAVR on page 123.
To flash a hex file to a nanoLOC DK Board using the STK500 Board, do the following:
1

Connect the supplied 6-wire cable to the ISP (labelled SPI) header on the nanoLOC DK Board
and to the ISP6PIN header on the STK500 Board.
Note: Ensure that the 6-wire cable is connected properly to the nanoLOC DK Board. The red
wire on the 6-wire cable is connected to pin 1 on the ISP header, as shown in figure 138
below.

Red wire connected to pin 1

Figure 138: Connecting the STK500 Board to the nanoLOC DK Board

Provide a power supply to the STK500 Board.

The STK500 Board requires a 10 - 15 V power supply, 500 mA min.


Warning:
3

Do not connect a power supply to the nanoLOC DK Board as the STK500


Board provides the required voltage to the ATmega DK Board.

Connect the STK500 Board to the PC with the supplied RS-232 cable.
Figure 139 below shows the hardware assembled.

2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page 127

A6

Flashing Hex Files with STK500 Board


nanoLOC Development Kit 3.0 User Guide

Figure 139: Completed setup of hardware

Run AVR STUDIO 4 and open the project file for the nanoLOC THROUGHPUT DEMO. See 5.
Compiling with WinAVR on page 123 for details on opening projects.

Ensure that the correct AVR programmer is used by clicking the Connect button to open the
Select AVR Programmer dialog.
Click the Connect button
to open the Select AVR
Programmer dialog

Figure 140: Select AVR Programmer

Page 128 NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

Flashing Hex Files with STK500 Board


nanoLOC Development Kit 3.0 User Guide

A6

In the SELECT AVR PROGRAMMER dialogue, choose STK500 or AVRISP for the platform and
Auto for the port and then click Connect....

Select STK500
or AVRISP

Click Connect...

Select Auto

Figure 141: Select AVR Programmer dialog

Note: Auto will cause the software to scan the ports to look for the STK500 Board.
7

In the STK500 dialog that appears, select the Program tab.

Select ATmega128
Select ISP

Load the hex for the


embedded application

Figure 142: STK500 dialog program tab

In this dialog, set the following:


a. In the Device dropdown, select Atmega128.
b. In the Programming mode section, select ISP. Leave all other selections as is.
c. In the Flash section, click the browse button (...) and browse to the required hex file in
the Embedded Hex Files subdirectory of the Installation Directory:
d. In the EEPROM section, make no selections.
8

After the hex file has been selected, click Program from the Flash section to begin flashing
the file to the nanoLOC DK Board.

2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page 129

A6

Flashing Hex Files with STK500 Board


nanoLOC Development Kit 3.0 User Guide

Begin flashing the


hex to the nanoLOC
DK Board by
clicking Program

Figure 143: Programming hex file to board

AVR Studio 4 begins flashing the selected Hex file to the nanoLOC DK Board.

Figure 144: AVR Studio flashing to nanoLOC DK Board

10 Flashing is complete when the Status LED on the STK 500 Board turns green and the message Leaving Programming Mode. OK appears in the log in the dialog.

Page 130 NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

Flashing Hex Files with STK500 Board


nanoLOC Development Kit 3.0 User Guide

A6

Figure 145: Flashing completed

Warnings: Disconnect JTAG Adapter or the Atmel STK500 Board from the nanoLOC DK
Board before providing a power supply to the nanoLOC DK Board.

2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page 131

A6

Flashing Hex Files with STK500 Board


nanoLOC Development Kit 3.0 User Guide

Intentionally Left Blank

Page 132 NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

Glossary
nanoLOC Development Kit 3.0 User Guide

A7

A7 Glossary
Table 41: Glossary
Term

Definition

Attenuation

A reduction in strength or deterioration of an electrical signal as it


passes through a transmission medium. Attenuation generally
increases with frequency, cable length and the number of connections
in a circuit. Attenuation is usually measured in dB.

BER

Bit Error Rate: The percentage of bits that have errors relative to the
total number of bits in a transmission, usually expressed as ten to a
negative power.

BER (payload)

Bit Error Rate payload only. Checks BER in Payload only.

Bit Error Rate

See BER.

Correct Payload Receive Rate

Rate of correctly received payload of received frames.

CRC

Cyclic Redundancy Check: A check value calculated from the data to


catch most transmission errors. A decoder calculates the CRC for the
received data and compares it to the CRC that the encoder calculated,
which is appended to the data. A mismatch indicates that the data was
corrupted in transit. Depending on the algorithm and number of CRC
bits, come CRCs contain enough redundant information that they can
be used to correct the data.

Cyclic Redundancy Check

See CRC.

dB

The decibel (dB) is a convenient way of expressing an amount of signal


loss or gain within a system, or the amount of loss or gain caused by
some component of a system. When signal power is lost, a fixed
amount of power is not lost, but a portion of power is lost by one half,
one quarter, and so on. This makes it difficult to add up the lost power
along a signal's path through the network if measuring signal loss in
watts.
Decibels, however, are logarithmic. The total loss/gain characteristics
of a system can be calculated simply through addition. Note that decibels scale logarithmically. For example, if a signal gains 3 dB, then the
signal doubles in power. If a signal loses 3 dB, then the signal halves in
power.
Also, the decibel is a ratio of signal powers. A decibel is not a measure
of signal strength, but a measure of signal power loss or gain. Therefore, a reference point is needed. For example, "there is a 3 dB drop
over that connection" not "the signal is 3 dB at the connection."

dBm

A decibel milliwatt (dBm) is a measure of signal strength. dBm is not the


same as dB. dBm is the signal power in relation to one milliwatt. A signal power of 0 dBm is one milliwatt, a signal power of 3 dBm is 2 milliwatts, 6 dBm is 4 milliwatts, and so on.
The minus signs have nothing to do with signal direction. As the dBm
becomes more negative, the closer the power level gets to zero. For
example, -3 dBm is 0.5 milliwatts, -6 dBm is 0.25 milliwatts, and
-9 dBm is 0.125 milliwatts. Thus, a signal of -30 dBm is very weak.

FDR

Frame Drop Rate: Ratio of erased frames to total frames. Care should
be used to distinguish between frame drop rate and frame error rate.
They are similar, but not identical. Dropped frames usually are counted
as errored frames, but not all errored frames are dropped, that is, some
may be undetected by the receiver.

FEC

Forward Error Correction: A system of error control for data transmission wherein the receiving device has the capability to detect and correct any character or code block that contains fewer than a
predetermined number of symbols in error. FEC is accomplished by
adding bits to each transmitted character or code block, using a predetermined algorithm.

2010 Nanotron Technologies GmbH.

NA-06-0230-0402-3.0 Page 133

A7

Glossary
nanoLOC Development Kit 3.0 User Guide

Table 41: Glossary (Continued)


Term

Definition

FER

Frame Error Rate: Ratio of errored frames to total frames. For purposes
of this calculation, dropped frames are counted as errored frames.

Fresnel zone

The area around the visual line-of-sight from the transmitter into which
radio waves spread out after they leave the antenna.

Forward Error Correction

See FEC.

FPGA

Field Programmable Gate Array: A family of general-purpose logic


devices that can be configured by the end user to perform many, different, complex logic functions. It is often used for prototyping logic hardware.

Frame Drop Rate

See FDR.

Frame Error Rate

See FER.

Gain

The ratio of output current, voltage, or power to input current, voltage,


or power, respectively. Gain is usually expressed in dB. If the ratio is
less than unity, the gain, expressed in dB, will be negative, in which
case there is a loss between input and output.

ISM

Industrial, Scientific and Medical: Radio frequency bands made available for use by communication equipment without license, within certain
maximum emitted power limits. Equipment which uses the ISM band
must tolerate interference from other such equipment.

Link Budget

The term "link budget" is used to specify how much loss (attenuation) in
signal strength can be tolerated and still allow the receiver to interpret
an accurate signal.

Received Signal Strength


Indicator

See RSSI.

RSSI

Received Signal Strength Indicator: Detects activity in the media. A signal or circuit that indicates the strength of the incoming (received) signal
in a receiver.

USB

Universal Serial Bus: A standard port that enables the connection of


external devices (such as digital cameras, scanners, and mice) to computers. The USB standard supports data transfer rates of 12Mbps (million bits per second).

Page 134 NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

Index
nanoLOC Development Kit 3.0 User Guide

Index
Symbols
.aps extension............................................................................. 87
.cof extension............................................................................ 125

Numerics
32.768 kHz quartz......................................................................... 6
7.3728 MHz external oscillator ..................................................... 6
80 MHz bandwidth ...................................................................... 29

A
ACK packet................................................................................. 80
activating packet reception ......................................................... 83
ADC/IO pin, and PORTF .......................................................... 104
address matching ....................................................................... 11
anchor
deleting from Location Demo .................................................. 48
antenna
electrical specifications ......................................................... 119
environmental specification................................................... 119
mechanical specification ....................................................... 119
patterns ................................................................................. 121
return loss ............................................................................. 120
technical description ............................................................. 119
APPCallback............................................................................... 18
application layer.......................................................................... 15
ARQ, see Automatic Repeat Request
ATmega128L microcontroller.................................................. 6, 97
external ports ........................................................................ 100
PORTA.................................................................................. 100
PORTB.................................................................................. 101
PORTC ................................................................................. 102
PORTD ................................................................................. 102
PORTE.................................................................................. 103
PORTF .................................................................................. 104
Atmel AVR microprocessor....................................................... 123
Atmel STK500 Board ................................................................ 127
attenuation ............................................................................ 9, 133
Automatic Repeat Request (ARQ).............................................. 11
automatic retransmissions .......................................................... 17
averaging amount ....................................................................... 54
AVR ............................................................................................ 87
AVR JTAGICE mkII ................................................................ 2, 98
AVR programmer................................................................ 91, 128
AVR Studio 4 ................................................................................ 2
compiling applications with...................................................... 87
flashing hex files with ...................................................... 91, 127
installing .......................................................................... 91, 127

B
BAT connector .............................................................................. 7
battery connector pin (JP1)........................................................... 6
battery pack
connected to BAT ..................................................................... 7
maximum 3.0 V ......................................................................... 7
not included in kit ...................................................................... 7
not to be used with power supply.............................................. 7
BER (payload) .......................................................................... 133
Bit Error Rate ............................................................................ 133
block diagram of the nanoLOC DK Board .................................. 97
BRDC.......................................................................................... 80
Brdcast packets .......................................................................... 11
Broadcast packet ........................................................................ 80
buttons
Light Switch Demo usage ....................................................... 86
Packet Sniffer usage ............................................................... 81
Ranging Demo usage ............................................................. 58
RESET .................................................................................. 105
Talk Demo usage .................................................................... 67
Throughput Demo usage ........................................................ 74
user programmable ............................................................... 105

C
callback function ......................................................................... 12
center frequency ......................................................................... 17
chat mode ................................................................................... 64
Chirp Spread Spectrum ................................................................ 9
Clear to Send packet .................................................................. 80
COM port
and nanoLOC Talk Demo ....................................................... 61
HyperTerminal ........................................................................ 66
Packet Sniffer Demo ............................................................... 76
Ranging Demo ........................................................................ 54

2010 Nanotron Technologies GmbH.

Talk Demo............................................................................... 59
Throughput Demo ................................................................... 69
communication Interface ............................................................ 97
compiling
embedded applications ........................................................... 87
using WinAVR....................................................................... 123
with WinAVR ......................................................................... 123
compiling HEX files..................................................................... 87
connecting battery packs .............................................................. 6
connector BAT .............................................................................. 7
console, viewing in nanoLOC Talk Demo................................... 62
Correct Payload Receive Rate ................................................. 133
CRC .......................................................................................... 133
CRC2 checking and nanoLOC TRX Driver ................................ 11
CSMA/CA ................................................................................... 11
CSS .............................................................................................. 9
CTS ............................................................................................ 80
Cyclic Redundancy Check........................................................ 133

D
DATA command, Location Server .............................................. 46
DATA packet .............................................................................. 80
Data reception, Ping Demo an example of ................................. 83
data transmission rates .............................................................. 11
dB ............................................................................................. 133
dBm .......................................................................................... 133
DC-DC converter .......................................................................... 6
DE-9 D-sub connector .................................................................. 6
debugging embedded applications ............................................. 94
developing sensor applications .................................................. 83
digital I/O module...................................................................... 100
dimensions, nanoLOC DK Board ............................................. 113
driver
and PHY layer......................................................................... 14
and promiscuous mode........................................................... 75
API .......................................................................................... 11
general layer interface of ........................................................ 12
key settings of ......................................................................... 11
located in phy.c ....................................................................... 11
overview.................................................................................. 11
purpose of ................................................................................. 2
driver, FTDI................................................................................... 1
warning ................................................................................... 39

E
electromagnetic interferers ........................................................... 9
embedded applications
and nanoLOC driver................................................................ 11
compiling with WinAVR......................................................... 123
debugging ............................................................................... 94
flashing to nanoLOC DK Boards............................................. 91
error checking, function of nanoLOC TRX Driver ....................... 11
error messages, ranging............................................................. 28
error rate..................................................................................... 69

F
fading............................................................................................ 9
FDMA ........................................................................................... 8
FDR .......................................................................................... 133
FEC ............................................................................ 17, 133, 134
enabling by nanoLOC TRX Driver .......................................... 11
Ping Demo showing enabled .................................................. 84
FER .......................................................................................... 134
flashing
with STK500 Board ............................................................... 127
flashing HEX files with AVR Studio 4 ......................................... 91
Forward Error Correction, See FEC
FPGA ........................................................................................ 134
Frame Drop Rate...................................................................... 134
Frame Error Rate...................................................................... 134
frame type................................................................................... 79
Fresnel zone ............................................................................. 134
FTDI driver
cannot be installed warning message..................................... 40
removing ................................................................................. 40
Windows searching for............................................................ 39

G
Gain .......................................................................................... 134
general I/O
PORTB.................................................................................. 101
PORTD ................................................................................. 102
gross data throughput................................................................. 69

NA-06-0230-0402-3.0 Page 135

Index
nanoLOC Development Kit 3.0 User Guide

H
Hardware Adaption Layer ........................................................... 13
HEX files
compiling ................................................................................. 87
flashing with AVR Studio 4...................................................... 91
generating with WinAVR ....................................................... 123
LightSwitchRX.hex .................................................................. 85
LightSwitchTX.hex .................................................................. 85
location in directory ............................................................... 125
HyperTerminal
nanoLOC DK Board connector ............................................... 97
properties ................................................................................ 66
settings.................................................................................... 66
Talk Demo............................................................................... 66

I
I/O Ports........................................................................................ 6
INIT command ............................................................................ 45
initializing
driver function for .................................................................... 14
nanoLOC chip with Ping Demo ............................................... 83
transmission, Ping example of ................................................ 83
input voltage ................................................................................. 7
interfering systems........................................................................ 9
ISM ........................................................................................... 134
ISP (In-System Programming) connector ..................................... 6
ISP (In-System-Programming) Interface..................................... 99
ISP connector ........................................................................... 127
ISP port......................................................................................... 6
ISP, and PORTE....................................................................... 103
ISP6PIN header........................................................................ 127

J
JP1, battery pack connector pin ................................................... 6
JTAG
adapter .................................................................................... 91
connector ............................................................................ 6, 98
connector and sliding switch ..................................................... 7
connector on nanoLOC DK Board .......................................... 98
JTAG ICE dialog ......................................................................... 92
JTAG programming adapter ......................................................... 2

K
K1
button user programmable .................................................... 105
Light Switch Demo .................................................................. 86
K2
button user programmable .................................................... 105
Light Switch Demo .................................................................. 86
K3
button user programmable .................................................... 105
Light Switch Demo .................................................................. 86

L
LayernameCallback .................................................................... 12
LayernameMESAP ..................................................................... 12
LayernameSAP........................................................................... 12
LED
L1 to L8 connected to PORTC .............................................. 102
Light Switch Demo usage ....................................................... 86
Packet Sniffer usage ............................................................... 81
power indicator...................................................................... 105
Ranging Demo usage ............................................................. 58
Throughput Demo usage ........................................................ 74
TX/RX ................................................................................... 105
user programmable ............................................................... 105
LED 1
Light Switch Demo .................................................................. 86
Ping Demo .............................................................................. 84
LED 2
Light Switch Demo .................................................................. 86
Ping Demo .............................................................................. 84
LED 3
Light Switch Demo .................................................................. 86
Ping Demo .............................................................................. 84
LED 7
Packet Sniffer Demo ............................................................... 75
LED 8
Packet Sniffer Demo ............................................................... 75
LED Block ................................................................................. 105
LED L8
in nanoLOC Talk Demo .......................................................... 59
light sensor ................................................................................. 99
described .................................................................................. 6

Page 136 NA-06-0230-0402-3.0

PORTA.................................................................................. 100
Light Switch Demo
about ....................................................................................... 85
LightSwitchRX.hex ..................................................................... 85
LightSwitchTX.hex ...................................................................... 85
Link Budget........................................................................... 9, 134
Location Demo
about ....................................................................................... 29
Adding Tags............................................................................ 48
deleting anchor ....................................................................... 48
determining location of tag...................................................... 30
Hex files .................................................................................. 29
network self-configuration with................................................ 30
reflashing HEX files................................................................. 48
Location_80MHz1000ns_Anchor1.hex....................................... 29
Location_80MHz1000ns_Anchor2.hex....................................... 29
Location_80MHz1000ns_Anchor3.hex....................................... 29
Location_80MHz1000ns_Anchor4.hex....................................... 29
Location_80MHz1000ns_Tag17.hex .......................................... 29
Location_80MHz1000ns_Tag18.hex .......................................... 29
log file
generating in nanoLOC Location Demo.................................. 45
setting in Ranging Demo......................................................... 56
logical channel
attributes described................................................................. 17
Packet Sniffer Demo ............................................................... 77
Talk Demo............................................................................... 63
Throughput Demo ................................................................... 71
Logical Network ID ..................................................................... 11
lost packets................................................................................. 69

M
MAC address ........................................................................ 63, 79
MAC header ............................................................................... 79
MACFrame types........................................................................ 80
Make All, WinAVR .................................................................... 125
Make Clean, WinAVR ............................................................... 124
Minicom ...................................................................................... 97
MODE command ........................................................................ 46
modulation methods ................................................................... 11
MyMsgT ...................................................................................... 13

N
nanoLOC API ............................................................................. 11
nanoLOC chip
initializing with Ping Demo ...................................................... 83
nanoLOC DK Board
bill of materials ...................................................................... 112
block diagram.......................................................................... 97
communication interface ......................................................... 97
components .............................................................................. 5
described .................................................................................. 5
digital I/O module .................................................................. 100
dimensions............................................................................ 113
ISP interface ........................................................................... 99
JTAG Interface........................................................................ 98
light sensor.............................................................................. 99
modules .................................................................................. 97
PCB Layout........................................................................... 111
power supply............................................................................. 7
power supply connector locations............................................. 7
RS-232/UART ......................................................................... 97
Schematics ........................................................................... 107
technical description ............................................................. 107
nanoLOC EVR Module
described .................................................................................. 6
power supply............................................................................. 7
nanoLOC nTRX Driver
and embedded applications .................................................... 11
described ................................................................................ 11
nanoLOC TRX Transceiver
data rates .................................................................................. 8
key features .............................................................................. 8
operating temperature............................................................... 8
output power ............................................................................. 8
receiver sensitivity..................................................................... 8
SPI interface ............................................................................. 8
supply voltage ........................................................................... 8
nanoLOC USB Stick
bill of materials ...................................................................... 118
PCB layout ............................................................................ 117
schematics ............................................................................ 115
technical description ............................................................. 115
nanoPing.hex.............................................................................. 83
nanoSniffer.hex .......................................................................... 75

2010 Nanotron Technologies GmbH.

Index
nanoLOC Development Kit 3.0 User Guide

nanoTalk.hex .............................................................................. 59
nanoThroughput.hex................................................................... 69
net data throughput..................................................................... 69
noise ....................................................................................... 9, 10
NTRX_RTC................................................................................. 18
NTRXInterrupt............................................................................. 14
ntrxtypes.h .................................................................................. 13

P
packet counter ............................................................................ 79
Packet Sniffer Demo
about ....................................................................................... 75
Hex file .................................................................................... 75
PD_DATA_CONFIRM ................................................................ 16
PD_DATA_INDICATION ............................................................ 16
PD_DATA_REQUEST................................................................ 16
PHY Layer .................................................................................. 14
PHY_ADDR_MATCHING ........................................................... 18
PHY_ARQ................................................................................... 17
PHY_CHANNEL ......................................................................... 17
PHY_FEC ................................................................................... 17
PHY_LOG_CHANNEL................................................................ 17
PHY_MAC_ADDRESS1 ............................................................. 18
PHY_PWR_DOWN_MODE........................................................ 18
PHY_RECALIBRATION ............................................................. 18
PHY_TX_POWER ...................................................................... 17
Pin access points.......................................................................... 6
Ping Demo
about ....................................................................................... 83
Hex file .................................................................................... 83
PLME_GET_REQUEST ............................................................. 16
PLME_SET_REQUEST.............................................................. 16
point-to-point wireless communication........................................ 59
polarity, and power supply ............................................................ 7
PORT E and function buttons ................................................... 105
PORTA described......................................................................... 6
PORTA, for light sensor............................................................ 100
PORTB
described .................................................................................. 6
for general I/O ....................................................................... 101
PORTC
described .................................................................................. 6
for pins 35 to 42 .................................................................... 102
PORTC, for user-programmable LEDs..................................... 102
PORTD
described .................................................................................. 6
for general I/O ....................................................................... 102
PORTE
and button 2 .......................................................................... 105
described .................................................................................. 6
PORTE, for ISP and buttons..................................................... 103
PORTF described ......................................................................... 6
PORTF, for ADC and JTAG...................................................... 104
power indicator LED ................................................................. 105
Power ON/OFF switch .................................................................. 6
power supply
2.1 mm barrel connector ........................................................... 6
connector for battery pack ........................................................ 6
nanoLOC DK Board .................................................................. 7
polarity ...................................................................................... 7
power supply unit
preset for 3.0 V ......................................................................... 7
Process Exit Code, WinAVR..................................................... 125
Processing Delay........................................................................ 19
programmable buttons.................................................................. 6
programmable LEDs..................................................................... 6
Programmers Notepad ............................................................. 123
project files for AVR Studio 4...................................................... 87
promiscuous mode ............................................................... 75, 80
PWR LED ..................................................................................... 6

R
ranging
calculations in Ranging Demo................................................. 54
measurements in Ranging Demo............................................ 53

2010 Nanotron Technologies GmbH.

Ranging Demo
about ....................................................................................... 53
Hex files .................................................................................. 53
Ranging_80MHz1000ns_Anchor.hex ......................................... 53
Ranging_80MHz1000ns_Tag.hex .............................................. 53
Received Signal Strength Indicator, see RSSI
receiver sensitivity ...................................................................... 10
reflections ..................................................................................... 9
Request to Send packet ............................................................. 80
requirements, minimum for computer ........................................... 2
RESET...................................................................................... 105
Reset button ................................................................................. 6
retransmissions .......................................................................... 84
RF Error message ...................................................................... 56
RF link, establishing example demo ........................................... 83
RISC microprocessors.............................................................. 123
RS-232 ....................................................................................... 53
RS-232/UART port ..................................................................... 97
RSSI ......................................................................................... 134
RTS ............................................................................................ 80

S
SAPs........................................................................................... 12
SDS-TWR ................................................................................... 19
sensitivity .................................................................................... 10
sensor applications, examples of ............................................... 83
serial communication .................................................................. 97
Service Access Points, see SAPs
software components ................................................................... 2
software for kit, installing .............................................................. 1
SPI Interface ................................................................................. 6
START command ....................................................................... 46
STK500 Board
flashing with .......................................................................... 127
STOP command ......................................................................... 46
success messages, ranging ....................................................... 27

T
Tags
adding ..................................................................................... 48
deleting ................................................................................... 48
Talk Demo
about ....................................................................................... 59
Hex file .................................................................................... 59
Throughput Demo
about ....................................................................................... 69
Hex file .................................................................................... 69
TIMB ........................................................................................... 80
Time of Flight (ToF) measurement ............................................... 9
TimeB packets ............................................................................ 11
transceiver registers ................................................................... 11
transmission, initializing .............................................................. 83
TX power settings ....................................................................... 70
TX Propagation Delay ................................................................ 19
TX/RX LED ........................................................................... 6, 105

U
USB cable............................................................................. 91, 94
USB .......................................................................................... 134
user-programmable buttons (keys)........................................... 105
user-programmable LEDs ........................................................ 105

V
voltage regulator ........................................................................... 7
voltage requirements
power supply............................................................................. 7

W
WinAVR ........................................................................................ 2
compiling Hex files with......................................................... 123
installing ................................................................................ 123
must be installed to use AVR Studio 4.................................... 87
overview................................................................................ 123
WinAVR Programmers Notepad............................................... 123
wireless transmissions.................................................................. 9

NA-06-0230-0402-3.0 Page 137

Index
nanoLOC Development Kit 3.0 User Guide

Intentionally Left Blank

Page 138 NA-06-0230-0402-3.0

2010 Nanotron Technologies GmbH.

Revision History
nanoLOC Development Kit 3.0 User Guide

Revision History
Version

Date

1.00

2007-01-09

Initial Version.

1.01

2007-01-19

Schematics and PCB layout added for nanoLOC DK Boards and nanoLOC USB Stick.

1.02

2007-02-19

Updated GUI for nanoLOC Location Awareness Demo, nanoLOC Ranging Demo, and
nanoTALK Demo.

1.03

2007-02-27

Power supply description updated, minor edits.

1.04

2007-06-29

Significant changes throughout - improved GUIs for demo applications, application


names changed, changes in Installation Assistant, restructuring of chapters, complete
edit throughout, new set of hex files.

1.05

2007-07-30

Changes to nanoLOC Location Demo GUI; second USB cable added to kit, changes to
Ranging Library description and to Ping instructions. Minor edits throughout.

2007-11-19

Minor edits throughout; description of Sleep and Wake-Up demo added; Ranging
Library description removed; nTRX Driver section enlarged with description of ranging
functions and states; averaging range added to Location Demo description; nanoLOC
DK Board Schematics, PCB and BOM updated; nanoLOC Talk Demo updated; Talk
demo GUI modified.

2008-10-01

New and updated demo applications: nanoLOC Location Demo, nanoLOC Ranging
Demo, nanoLOC Packet Sniffer and nanoLOC Throughput Demo; new chapters on the
nanoLOC API and nanoLOC Ranging; new Location Server and Client Server; new
GUIs for all demos, except nanoLOC Ranging; complete edit throughout; compiling and
flashing with AVR Studio updated, compiling with WinAVR moved to appendix, flashing
with STK500 moved to appendix, index updated.

2010-03-31

Completely new nanoLOC Location Demo added, including new GUI, new Location
Server, new Location Engine Server, and new image files. Complete review of document.Updated chapter 1. Updated nanoLOC API description. Updated Ranging description - three new ranging modes. nanoLOC DK Board schematics and PCB layout moved
to appendix.

1.1

2.0

3.0

Description/Changes

2010 Nanotron Technologies GmbH.

Page 139 NA-06-0230-0402-3.0

Revision History
nanoLOC Development Kit 3.0 User Guide

About Nanotron Technologies GmbH

Further Information:

Nanotron provides reliable loss protection technology and solutions that are
used to protect people and animals. Energy efficient, battery- powered wireless nodes are the key building blocks. These small devices create a Virtual
Safety Zone which protects tagged people and animals. Robust wireless
Chirp technology underpins nanotron's offering of chips, modules and loss
protection software for indoor and outdoor environments world wide.

For more information about this product and other products from Nanotron
Technologies, contact a sales representative at the following address:
Nanotron Technologies GmbH
Alt-Moabit 60, 10555 Berlin, Germany
Phone: +49 30 399 954 - 0 | Fax: +49 30 399 954 - 188
Email: [email protected] | Internet: www.nanotron.com

You might also like