Network Constants

All the constants related to managing a network with nRF24L01 radios.

New in version 2.1.0.

Sending Behavior Types = 56

Send a message with automatic network routing. = 0

Send a routed message.

This is used for most outgoing message types. = 1

Send a routed message.

This is internally used for NETWORK_ACK message routing. = 2

Send a message directly to network node.

These usually take 1 transmission, so they don’t get a network ACK because the radio’s auto_ack will serve the ACK. = 3

Similar to TX_NORMAL.

This allows the user to define the routed transmission’s first path (these can still get a NETWORK_ACK). = 4

Broadcast a message to a network level of nodes.

Reserved Network Message Types = 128

Primarily for RF24Mesh

This message_type is used to in the final step of renew_address() route a messages containing a newly allocated node_address. The header’s reserved attribute for this message_type will store the requesting mesh node’s node_id related to the newly assigned node_address. Any non-requesting network node receiving this message_type will forward it to the requesting node using normal network routing. = 130

Used for network pings

This message_type is automatically discarded because the radio’s auto_ack feature will serve up the response. = 131

Unsupported at this time as this operation requires a new implementation.

Used for bridging different network protocols between an RF24Network and LAN/WLAN networks. = 193

Used for network-wide acknowledgements.

The message type used when forwarding acknowledgements directed to the instigating message’s origin. This is not be confused with the radio’s auto_ack attribute. In fact, all messages (except multicasted ones) take advantage of the radio’s auto_ack feature when transmitting between directly related nodes (ie between a transmitting node’s parent or child node).


NETWORK_ACK messages are only sent by the last node in the route to a destination. For example: Node 0o0 sends an instigating message to node 0o11. The NETWORK_ACK message is sent from node 0o1 when it confirms node 0o11 received the instigating message.


This feature is not flawless because it assumes a reliable connection between all necessary network nodes. = 194

Primarily for RF24Mesh

This message_type is used with NETWORK_MULTICAST_ADDR to find active/available nodes. Any node receiving a NETWORK_POLL sent to a NETWORK_MULTICAST_ADDR will respond directly to the sender with a blank message, indicating the address of the available node via the header’s from_node attribute. = 195

Primarily for RF24Mesh

This message_type is used for requesting Logical Address data from the mesh network’s master node. Any non-master node receiving this message_type will manually forward it to the master node using normal network routing. = 196

The message_type to request a mesh node’s network address from its unique ID. = 197

The message_type when manually expiring a leased address. = 198

The message_type to request a mesh node’s unique ID number from its node address.

Generic Network constants = 127

A convenient sentinel value.

Any message type above 127 (but cannot exceed 255) are reserved for internal network usage. = 2340

Primarily used by RF24Mesh.

Any mesh node that disconnects or is trying to connect to a mesh network will use this value until it is assigned a Logical Address from the master node. = 64

A reserved address for multicast messages. = 24

Maximum message size for a single frame’s message.

This does not including header’s byte length (which is always 8 bytes).


Do not increase this value in the source code. Adjust max_message_length instead.

Message Fragment Types

Message fragments will use these values in the message_type attribute. The sequential fragment id number will be stored in the reserved attribute, but the actual message type is transmitted in the reserved attribute of the last fragment. = 148

Used to indicate the first frame of a fragmented message. = 149

Used to indicate a middle frame of a fragmented message. = 150

Used to indicate the last frame of a fragmented message.

RF24Mesh specific constants = 135

Used for lookup_address() & lookup_node_id()

The time (in milliseconds) that a non-master mesh node will wait for a response when requesting a node’s relative Logical Address or unique ID number from the master node. = 4

The max number of contacts made during renew_address().

A mesh node polls the first 4 network levels (0-3) looking for a response. This value is used to used when aggregating a list of responding nodes (per level). = 4

The max number of children for 1 mesh node.

This information is only used by mesh network master nodes when allocating a possible Logical Address for the requesting node. = 115

The time (in milliseconds) used to send messages.

When RF24Mesh.send() is called, This value is only used when getting the node_address assigned to a node_id from the mesh network’s master node.