ELA QUUPPA User manual

USER GUIDE –QUUPPA
Specifications may be modified without any notification. Non-contractual document.
www.elainnovation.com Copyright © 2020 ELA Innovation –Quuppa Range USER GUIDE 04C
1/23
QUUPPA RANGE
USER GUIDE

USER GUIDE –QUUPPA
Specifications may be modified without any notification. Non-contractual document.
www.elainnovation.com Copyright © 2020 ELA Innovation –Quuppa Range USER GUIDE 04C
2/23
Table of content
Table of content................................................................................................................................................................. 2
1. CONCERNED PRODUCTS................................................................................................................................... 3
2. GENERAL INFORMATION ABOUT QUUPPA TECHNOLOGY........................................................................ 3
2.1 ANGLE OF ARRIVAL LOCALIZATION.................................................................................................................. 3
2.2 DOWNLINK COMMANDS...................................................................................................................................... 3
2.3 OPERATION OF TAGS WITH QUUPPA TECHNOLOGY.................................................................................... 4
2.4 QUUPPA NETWORK............................................................................................................................................... 5
3. TAG CONFIGURATION............................................................................................................................................. 6
3.1 QUUPPA CONFIGURATION .................................................................................................................................. 6
3.2 ELA INNOVATION CONFIGURATION.................................................................................................................. 9
4. VIEWING TOOL ...................................................................................................................................................12
5. DOWNLINK COMMANDS..................................................................................................................................13
5.1 HTTP COMMAND REQUEST ..............................................................................................................................13
5.2 COMMAND DETAILS............................................................................................................................................14
5.3 DETAILS ON RETURNED INFORMATION ........................................................................................................16
6. FIRMWARE VERSIONS......................................................................................................................................18
6.1 AVAILABLE VERSIONS ........................................................................................................................................18
6.2 UPDATE VIA OTAP (OVER THE AIR PROGRAMMING)..................................................................................18
7. QUICK START......................................................................................................................................................21
8. MECHANICAL SPECIFICATIONS.....................................................................................................................22
9. NORMS & STANDARDS.....................................................................................................................................23

User Guide –Bluetooth Gateway
Specifications may be modified without any notification. Non-contractual document.
www.elainnovation.com Copyright © 2020 ELA Innovation –Quuppa Range USER GUIDE 04C
3/23
1. CONCERNED PRODUCTS
DESIGNATION
PRODUCT REFERENCE
Blue LITE ID QUUPPA
IDF28540X
Blue SLIM ID QUUPPA
IDF03540X
BLUE COIN ID QUUPPA
IDF10540X
AERO ID QUUPPA
IDF10550X
BLUE PUCK ID QUUPPA
IDF25540X
BLUE PUCK BUZZ QUUPPA
IDF31545X
2. GENERAL INFORMATION ABOUT QUUPPA TECHNOLOGY
2.1 ANGLE OF ARRIVAL LOCALIZATION
Quuppa is a tag localization system with an approach based on the wireless signal’s “angle of arrival”
combined with advanced proprietary algorithms.
The Quuppa system leverages Bluetooth Low Energy (BLE) technology. This offers
several advantages, including very long battery life , compatibility with mobile devices,
and the possibility of transmitting sensor data at the same time as positioning
information.
The concept underlying the Quuppa system is a combination of Bluetooth technology and
the angle of arrival signal detection method, providing greater positioning accuracy than
other technologies based on signal strength (RSSI).
2.2 DOWNLINK COMMANDS
Unlike equipment that relies on BLE advertising frames, which include identifiers and/or data only in
the uplink direction (i.e. tags towards receiver), the Quuppa system enables commands to be sent to
tags.

User Guide –Bluetooth Gateway
Specifications may be modified without any notification. Non-contractual document.
www.elainnovation.com Copyright © 2020 ELA Innovation –QUUPPA Range USER GUIDE 04C
4/23
2.3 OPERATION OF TAGS WITH QUUPPA TECHNOLOGY
Tags with Quuppa technology are designed to react to movement while conserving energy during
idle periods. The Quuppa system updates a tag’s position while the tag is in motion and remembers
the tag’s last position when the tag is inactive.
The different tag reaction levels are described by three states:
•“Triggered” state: the tag is awake and emitting regularly
•“Default” state: tag emissions are slowed down
•“Storage” state: the tag switches to standby mode and no longer emitting at all, until
movement is detected
The change from one state to another takes place after a defined period. When movement is
detected, the tag necessarily changes to the “Triggered” state.
This operation is defined by the Quuppa state machine:
The density of wireless activity is shown on the following graph:

User Guide –Bluetooth Gateway
Specifications may be modified without any notification. Non-contractual document.
www.elainnovation.com Copyright © 2020 ELA Innovation –QUUPPA Range USER GUIDE 04C
5/23
2.4 QUUPPA NETWORK
The Quuppa system requires installed infrastructure to operate. This includes:
•A physical server, running an instance of the Quuppa Positioning Engine software
•Localization antennas called “Quuppa Locators”
•A dedicated cabled network
Antennas are positioned in a mesh layout, which can be more or less spread out depending on
the desired localization accuracy (i.e. only presence detection, zoning, precise location).
Infrastructure must first be installed, and then defined and configured in the Quuppa Site Planner
software. More information about infrastructure and installation is provided on the Quuppa
website: https://quuppa.com/

User Guide –Bluetooth Gateway
Specifications may be modified without any notification. Non-contractual document.
www.elainnovation.com Copyright © 2020 ELA Innovation –QUUPPA Range USER GUIDE 04C
6/23
3. TAG CONFIGURATION
Tag configuration involves two steps:
•Quuppa information configuration
•ELA Innovation information configuration
3.1 QUUPPA CONFIGURATION
Quuppa configuration enables you to configure the settings for each tag’s machine state.
Quuppa configuration enables you to configure the settings for each tag’s machine state.
Hardware
•Computer with an Ethernet network plug
•Quuppa Focusing Locator Antenna (not the same as localization antennas)
•Ethernet crossover cable, or network cables & Ethernet switch
Software
•Quuppa Site Planner
Method
In order to use a tag with Quuppa technology, the tag must be integrated in the infrastructure as
defined in § 2D.
Launch the Quuppa Site Planner (QSP) software and open a previously created project. If the project
was created on a different computer, you must download it via the Quuppa Customer Portal after it
was submitted by the first computer.
More information about site configuration is provided on the Quuppa website: https://quuppa.com/

User Guide –Bluetooth Gateway
Specifications may be modified without any notification. Non-contractual document.
www.elainnovation.com Copyright © 2020 ELA Innovation –QUUPPA Range USER GUIDE 04C
7/23
Enter the required identifiers, then click on “Retrieve project information”. Choose the project and
click on “Download selected project.”
The main screen of the QSP application shows a map that you will use to show tag locations. The
map also shows Quuppa Locator antennas.
In the “Deployment / Tag Configurator Tool”:
The list of known tags is shown in the window, along with those currently visible by the Quuppa
Focusing Locator antenna. The “Distance” column shows the proximity of each tag with respect to
the antenna, which enables you to identify the tag you want to configure.

User Guide –Bluetooth Gateway
Specifications may be modified without any notification. Non-contractual document.
www.elainnovation.com Copyright © 2020 ELA Innovation –QUUPPA Range USER GUIDE 04C
8/23
Quuppa state machines may be configured via the menu: “System / Tag configuration editor”.
This window enables you to create Quuppa state machine configurations that will be used to set up
tags.
Each state is defined by the following parameters:
➢Triggered state:
•Transmit rate: emission recurrence, adjustable from 9Hz to 1Hz
•Response mode: response speed for downlink commands, adjustable from “fast” to
“PowerSave”
•Transmit power: emission power, adjustable from -24dBm to +6dBm

User Guide –Bluetooth Gateway
Specifications may be modified without any notification. Non-contractual document.
www.elainnovation.com Copyright © 2020 ELA Innovation –QUUPPA Range USER GUIDE 04C
9/23
•State timeout: time after which the tag switches to the Default state, adjustable from 1
sec. to 24 hrs
•Accelerometer settings: not used (set to Off)
➢Default state:
•Transmit rate: emission recurrence, adjustable from 1Hz to 0.1Hz
•Response mode: response speed for downlink commands, adjustable from “fast” to
“PowerSave”
•Transmit power: emission power, adjustable from -24dBm to +6dBm
•State timeout: time after which the tag switches to the Storage state, adjustable from
20 seconds to infinity
•Accelerometer settings: not used (set to Off)
➢Storage state:
•No wireless emission in this state
•Accelerometer settings: not used (set to Off)
In the “Tag Configurator Tool” window, the process configuring a tag with a predefined state machine
is as follows:
•Place the tag on the Quuppa Focusing Locator antenna
•Select the tag to configure (the distance bar enables you to identify it in the list)
•Open the menu “Selection / Configure selected tags”
•In the window that opens, select the state machine to assign as well as the channel
(BLE or proprietary)
3.2 ELA INNOVATION CONFIGURATION
ELA configuration enables you to define settings other than those for the Quuppa state machine.
Hardware
•PC with available USB port and Windows 10 (recommended)
•NFC USB reader (for example: ACR122U - ELA ref.: ACIOM177)
Software
•Device Manager Software - ELA Innovation (download via Software section on our
website: https://elainnovation.com/downloads.html?cat=95 ). Use version 2.1.0 or
higher.

User Guide –Bluetooth Gateway
Specifications may be modified without any notification. Non-contractual document.
www.elainnovation.com Copyright © 2020 ELA Innovation –QUUPPA Range USER GUIDE 04C
10/23
Method
•Connect the NFC reader to the PC
•Launch the Device Manager application
•Open the Programmer section
•Launch the NFC widget by clicking on the icon
•Click on the name of your NFC reader
•Place the tag towards the bottom of the reader, with the tag’s label facing the reader
•Click on the icon to configure the tag
•The following window opens, with available parameters:

User Guide –Bluetooth Gateway
Specifications may be modified without any notification. Non-contractual document.
www.elainnovation.com Copyright © 2020 ELA Innovation –QUUPPA Range USER GUIDE 04C
11/23
Parameter list
This section describes the details of the parameters used to configure Quuppa tags.
Parameter
Since
version
Restrictions
Default values
Description
Firmware version
1.0.0
-
ELA firmware version
Non-modifiable field
Name
1.0.0
0 to 12 characters
ELA_TAG
Tag name
Activation
1.0.0
True/False
True
Tag activation /
deactivation (storage
mode)
MAC address
1.0.0
12 hexadecimal characters of
type: [0-9] [A-F]
Hardware address of the
nRF chip
Non-modifiable field
Acc. Activation
1.0.0
True/False
True
Activation / deactivation
of tag wakeup via
accelerometer
Acc. Latency
1.1.0
0 or 1
0
0=low consumption
1=high reactivity
Acc. threshold
1.1.0
32 to 8000
100
Accelerometer trigger
level, in milli-g
Long Sleep
1.0.0
True/False
True
Activation / deactivation
of long sleep during
Storage state

User Guide –Bluetooth Gateway
Specifications may be modified without any notification. Non-contractual document.
www.elainnovation.com Copyright © 2020 ELA Innovation –QUUPPA Range USER GUIDE 04C
12/23
Parameter details
➢Firmware version:
•Read-only value: provides the tag’s current firmware version
➢Name:
•Tag name for internal use; unrelated to the tag name as seen by the QPE server.
➢Activation:
•True: tag is activated and operating normally.
•False: tag is inactive and may be stored.
➢MAC address:
•Read-only value: provides the tag’s unique address; this value is used to identify the tag in the Quuppa
network.
➢Acc. Activation:
•The accelerometer is used to wake up the tag when movement is detected.
•True: accelerometer activated (default behavior).
•False: tag no longer wakes upon movement. Attention: this setting will lead to an infinite duration of
the Quuppa “Default” state.
➢Acc. Latency:
•0: low consumption. Slow sampling frequency.
•1: high reactivity. High sampling frequency.
➢Acc. threshold:
•Acceleration threshold for triggering the tag; value in milli-g; hexadecimal value (minimum 32mg,
maximum 8000mg)
➢Long sleep:
•Switching the tag to long sleep during the Storage state preserves battery life during that phase, but
the tag must reboot upon movement. This setting is thus beneficial if the tag is not used frequently
(less than about 30 times per day).
•True: activates long sleep during Storage state.
•False: deactivates long sleep during Storage state.
4. VIEWING TOOL
Installed to manage Quuppa system infrastructure, the Quuppa Positioning Engine server provides a
Web service that shows a graphical view of tags positions, accessible via your regular web browser
application.
Enter the following address to connect to the service: http://<ip-du-serveur>:8080/qpe

User Guide –Bluetooth Gateway
Specifications may be modified without any notification. Non-contractual document.
www.elainnovation.com Copyright © 2020 ELA Innovation –QUUPPA Range USER GUIDE 04C
13/23
Click on the “Map view” link at the top of the page to open a visual layout indicating tag positions.
5. DOWNLINK COMMANDS
The Quuppa system enables you to send commands to tags via the Quuppa Positioning Engine’s
“back channel”. These commands are used to trigger actions on one or more tags, or to request
information from tags.
Tags must be in either the Triggered or Default state in order to receive commands. Tags in the
Storage state do not listen for incoming commands. A tag switches to Triggered state upon receiving
a command.
5.1 HTTP COMMAND REQUEST
To send a command to a tag, an HTTP request must be sent to the QPE Web API, in the format:
http://<ip-du-
serveur>:8080/qpe/sendQuuppaRequest?tag=f1a45f56c30c&requestData=
0xFF3700C0030000000000000000000000&time=60000&humanReadable
This command targets the desired tag and sends a command to it.

User Guide –Bluetooth Gateway
Specifications may be modified without any notification. Non-contractual document.
www.elainnovation.com Copyright © 2020 ELA Innovation –QUUPPA Range USER GUIDE 04C
14/23
Parameter list for HTTP request:
5.2 COMMAND DETAILS
The “requestData” field in the above request is constructed as follows:
•0xFF3700: fixed part (required)
•13 bytes (that is, 26 hexadecimal characters [0-9] [A-F]): command code + parameters
(as needed) + padding with zeros (as needed)
Example:
requestData=0xFF3700C0030000000000000000000000
Parameter
Restrictions
Description
tag
Required parameter.
Tag ID(s), separated by a comma (,) without spaces if several.
Example: tag=f1a45f56c30c,fd5c29a1d531
List of tags to address.
requestData
Required parameter.
Fixed part “0xFF3700”, followed by 13 bytes (26 hexadecimal
characters of type: [0-9] [A-F]) for the command.
Example: requestData=0xFF3700C0030000000000000000000000
Command to be sent to tag(s).
See details below.
time
Optional.
Time in milliseconds (ms).
Example: time=120000
Time during which the system
attempts to contact the tag(s).
Default: 60000ms
humanReadable
Optional.
No value.
Example: humanReadable
Format the response in a form
that is easy to read.
Padding with
zeros
Parameter
Command code
Fixed part
(required)

User Guide –Bluetooth Gateway
Specifications may be modified without any notification. Non-contractual document.
www.elainnovation.com Copyright © 2020 ELA Innovation –QUUPPA Range USER GUIDE 04C
15/23
Details for the available command codes and their parameters are provided in the table below.
Command
Since
version
1st byte
code
Parameters
(subsequent bytes)
Parameter details
Description
Actions
LED on
1.0.0
C0
n: 1 byte
n= 00 to FF
(00 = infinite)
Blink LED ntimes.
Attention: turning on the LED consumes
a lot of battery power. May significantly
reduce battery life.
LED off
1.0.0
C1
-
-
Stop LED
BUZZER on
1.0.0
C2
n: 1 byte
n= 00 to FF
(00 = infinite)
Active the buzzer ntimes.
Attention: using the buzzer consumes a
lot of battery power. May significantly
reduce battery life.
BUZZER off
1.0.0
C3
-
-
Stops buzzer
Write
Set tag name
1.0.0
51
name: 12 bytes
name: 12 characters
(ASCII hex. codes)
Sets the tag name
Set accelerometer
threshold
1.1.0
53
thr: 2 bytes
(MSB first)
thr = 32 to 8000
(32mg to 8g)
Sets the accelerometer threshold
Decimal value in mg must be converted
in hexadecimal :
(excel)=DECHEX(256/1000*DESIRED_T
HRESHOLD;4)
0x07FF=8G (max)
0x0100=1G
0x0030=185mG
0x0008=32mG (min)
Set mov latency
1.1.0
59
hi_reactivity = 1 octet
hi_reactivity = 1/0
Select the accelerometer sampling
mode
Read
Get tag name
1.0.0
91
-
-
Request to retrieve tag name
Get accelerometer
threshold
1.1.0
93
-
-
Request to retrieve current
accelerometer threshold
Get firmware
version
1.0.0
94
-
-
Request to retrieve firmware version
Get mov latency
1.1.0
99
-
-
Request to retrieve current
accelerometer sampling mode
Supply
Reboot to DFU
1.0.1
E0
-
-
Tag reboots in “device firmware
upgrade” mode (DFU)

User Guide –Bluetooth Gateway
Specifications may be modified without any notification. Non-contractual document.
www.elainnovation.com Copyright © 2020 ELA Innovation –QUUPPA Range USER GUIDE 04C
16/23
For each command received, the QPE server returns similar information (indicating that the server
received the request, without specifying that the tag received it):
{
"code": 0,
"command":
"http://192.168.0.146:8080/qpe/sendQuuppaRequest?tag=d7488f98981e&requestData=0xFF3700C00300000000000000000
00000&humanReadable",
"message": "Commanding 1 tag(s)",
"responseTS": 1561047958776,
"status": "Ok",
"tags": [{
"sequenceNumber": 0,
"name": null,
"id": "d7488f98981e"
}],
"version": "1.0"
}
5.3 DETAILS ON RETURNED INFORMATION
Most commands return information or acknowledgment of reception. Returned information may be
read via another HTTP request sent to the QPE Web API, of the type:
http://192.168.0.146:8080/qpe/getTagPayloadData?tag=f1445450c30c&humanReadabe
This command addresses the desired tag(s) and reads the information that it (or they) returned.
Returned information is in JSON format.
There may be a time delay between the first request and the tag’s response. This is due to the
intermittent aspect of wireless transmission and the tag’s current state (Triggered or Default).
Responsiveness is also impacted by the value provided for the “response mode” parameter in the
Quuppa state machine.
All responses are returned in the same format. The system keeps the 16 latest responses sent by
the tag. Here is an example of returned information:
{
"code": 0,
"command": "http://192.168.0.146:8080/qpe/getTagPayloadData?tag=d7488f98981e&humanReadable&version=2",
"message": "TagPayloadData",
"responseTS": 1561048075598,
"status": "Ok",
"tags": [{
"name": null,
"id": "d7488f98981e",
"payloadData": [
null,
{
"data": "0xff 0x37 0x00 0xc0 0x4f 0x4b 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00",
"dataTS": 1561047996128
},
null,
null,
…
]
}],
"version": "1.0"
}
The data returned by the tag is in the field tags[x].payloadData[n].data. If several tags are addressed,
the response includes the 16 latest payloads for each tag.

User Guide –Bluetooth Gateway
Specifications may be modified without any notification. Non-contractual document.
www.elainnovation.com Copyright © 2020 ELA Innovation –QUUPPA Range USER GUIDE 04C
17/23
The response payload is constructed as follows:
•0xFF 0x37 0x00: fixed part (required)
•13 bytes (that is, 26 hexadecimal characters [0-9] [A-F]): reminder of command tag is
responding to + returned value + padding with zeros (as needed)
Example:
"data" : "0xff 0x37 0x00 0xc0 0x4f 0x4b 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00"
List of commands as associated responses:
Command
Since
version
1st byte
code
Returned values
(subsequent bytes)
Details
Returned values
Description
Actions
LED on
1.0.0
C0
status: 2 bytes
4F4B = "OK"
Receipt acknowledgment
LED off
1.0.0
C1
status: 2 bytes
4F4B = "OK"
Receipt acknowledgment
BUZZER on
1.0.0
C2
status: 2 bytes
4F4B = "OK"
Receipt acknowledgment
BUZZER off
1.0.0
C3
status: 2 bytes
4F4B = "OK"
Receipt acknowledgment
Write
Set tag name
1.0.0
51
status: 2 bytes
4F4B = "OK"
Receipt acknowledgment
Set
accelerometer
threshold
1.1.0
53
status: 3 bytes
•4F4B = "OK"
•4E4F4B = "NOK"
If accelerometer activated
Otherwise
Set mov latency
1.1.0
59
status: 3 bytes
•4F4B = "OK"
•4E4F4B = "NOK"
If accelerometer activated
Otherwise
Read
Get tag name
1.0.0
91
name: 12 bytes
Tag name
(ASCII character string)
Tag name, hex. ASCII
characters
Get
accelerometer
threshold
1.1.0
93
thr: 2 bytes
(MSB first)
•32 to 8000
(32mg to 8g)
•4E4F4B = "NOK"
If accelerometer activated:
current threshold
Otherwise
Get firmware
version
1.0.0
94
version: 12 bytes
"1.1.0"
(ASCII character string)
Firmware version, hex. ASCII
characters
Get mov latency
1.1.0
99
status: 1-3 bytes
•0 or 1
•4E4F4B = "NOK"
If accelerometer activated:
current sampling mode
Otherwise
Padding with zeros
Returned value
Command code
Fixed part (required)

User Guide –Bluetooth Gateway
Specifications may be modified without any notification. Non-contractual document.
www.elainnovation.com Copyright © 2020 ELA Innovation –QUUPPA Range USER GUIDE 04C
18/23
6. FIRMWARE VERSIONS
6.1 AVAILABLE VERSIONS
6.2 UPDATE VIA OTAP (OVER THE AIR PROGRAMMING)
Starting with ELA firmware version 1.0.1, tags support remote updates to higher firmware versions,
without any physical connection or having to open the casing. Device firmware updates (DFU) are
programmed using a computer running Windows, Mac OS, or Linux.
Required hardware:
Nordic Seminconductor NRF52840 dongle connected to programming computer’s
USB port.
Software required on programming computer
nRF Connect software (free) must be installed. The software is available for download at this
address:
https://www.nordicsemi.com/Software-and-tools/Development-Tools/nRF-Connect-for-
desktop/Download#infotabs
Supply
Reboot to DFU
1.0.1
E0
No return
Tag reboots in “device firmware
upgrade” mode (DFU)
ELA firmware version
Quuppa stack version
Device Manager minimal version
1.0.0
1.0 / 10.024
1.3.0
1.0.1
1.1 / 10.028
1.3.0
1.1.0
1.1 / 10.028
2.1.0

User Guide –Bluetooth Gateway
Specifications may be modified without any notification. Non-contractual document.
www.elainnovation.com Copyright © 2020 ELA Innovation –QUUPPA Range USER GUIDE 04C
19/23
When you open the software, the “Bluetooth Low Energy” application must be installed and then
opened:
The software proposes to update the NRF52840 dongle in order to communicate with tags. This
update is required.
The dongle is then detected and can be used as a communication port (COMxx).
Switch tag to DFU mode
To switch the tag to Device Firmware Update mode, the tag must be rebooted in DFU using the
command “Reboot to DFU” (described in § 5B). The tag is then detectable with a standard Bluetooth
scanner, with the name “Quuppa_DFU”.
Programming process:
Open the nRF Connect software and launch the “Bluetooth Low Energy” application.
Click on “Select device” and select the nRF dongle. Open the “Options” menu and type “DFU” in the
“Filter” field. Then launch the scan by clicking on the “Start scan” button.

User Guide –Bluetooth Gateway
Specifications may be modified without any notification. Non-contractual document.
www.elainnovation.com Copyright © 2020 ELA Innovation –QUUPPA Range USER GUIDE 04C
20/23
The tag named “Quuppa_DFU” should appear in the list of detected objects. Click on “Connect”, then
on the secure update symbol (padlock in a circle with arrows):
Then choose the update file provided by ELA (file in the format xxxx.dfu.zip).
Click on “Start DFU” to begin the update. A progress bar shows data flow to the tag.
When update is complete, the tag reboots in Quuppa mode with the new firmware. Attention:Quuppa
state settings are reinitialized (i.e. emission frequency, power, timeout). A new configuration may be
sent using QSP (as described in § 3A).
This manual suits for next models
12
Table of contents
Popular Gateway manuals by other brands

Epygi
Epygi QUADRO T1 Administrator's guide

ZyXEL Communications
ZyXEL Communications ZyXEL ZyWALL 10W user guide

Endress+Hauser
Endress+Hauser Fieldgate PAM SFG600 Brief operating instructions

Moxa Technologies
Moxa Technologies Mgate MB3660 Quick installation guide

Weinzierl
Weinzierl KNX ENO 634 manual

Realm
Realm 100-00526 instructions