IEEE 802.15.4 assumes that each node has a unique 64-bit identifier called its Extended Unique Identifier, or EUI-64. The Atmel radio does not contain such an identifier; it is up to the firmware to assign it. The first three bytes of the EUI-64 is called the Organizationally Unique Identifier (OUI), an address space managed by the IEEE. You can browse that registry at http://standards.ieee.org/regauth/oui/ or print the full list. For example, any product manufactured by Dust Networks has an EUI64 which starts with
The Pister lab is not a company, so we decided to assign
, the first six decimals of π. Furthermore, we encode the board type and version in the EUI-64, as well as its identifier. The format of the EUI-64 we use is:
14-15-92 (six first decimals of π) is the "made up" 3B Organizationally Unique Identifier (OUI) of the Pister lab;
xx is the type of board:
0x09 for GINA (a '
9' looks like a '
0x0b for GINA basestation
0xeb for TelosB
0xe3 for EUI64 Numbering Convention (a '
3' looks like an '
m' rotated sideways)
yy-yy is the version:
zz-zz is the unique identifier of the board, i.e. the one labeled on the board, in hexadecimal format
As a result, if you see in the air a packet coming from
You know that it's a GINA 2.2c mote, address
The MSP430f2618 features 64B of flash memory which are not erased during programming. It already contains calibration data for the DCO and ADC in TLV format (see the MSP430x2xx Family User's guide, chapter 22). There are 8 unused bytes at absolute address range
0x10ee-0x10f5, which we use to store the EUI-64 address of our mote. Storing the EUI-64 in non-erasable flash allows all our board to run the exact same firmware.