%%{init: {'theme': 'base', 'themeVariables': {'primaryColor':'#2C3E50','primaryTextColor':'#fff','primaryBorderColor':'#16A085','lineColor':'#16A085','secondaryColor':'#E67E22','tertiaryColor':'#7F8C8D'}}}%%
flowchart TD
subgraph PICONET["Piconet (Max 7 Active Slaves)"]
MASTER[Master<br/>Controls timing<br/>Assigns slots]
S1[Slave 1<br/>AMA: 001]
S2[Slave 2<br/>AMA: 010]
S3[Slave 3<br/>AMA: 011]
S4[Slave 4<br/>AMA: 100]
S5[Slave 5<br/>AMA: 101]
S6[Slave 6<br/>AMA: 110]
S7[Slave 7<br/>AMA: 111]
MASTER --- S1
MASTER --- S2
MASTER --- S3
MASTER --- S4
MASTER --- S5
MASTER --- S6
MASTER --- S7
end
subgraph PARKED["Parked Slaves (Up to 255)"]
P1[Parked 1<br/>PMA: 00000001]
P2[Parked 2<br/>PMA: 00000010]
PN[... up to 255]
end
MASTER -.->|"Can unpark"| P1
MASTER -.->|"Can unpark"| P2
style MASTER fill:#E67E22,stroke:#2C3E50,stroke-width:3px,color:#fff
style S1 fill:#16A085,stroke:#2C3E50,stroke-width:2px,color:#fff
style S2 fill:#16A085,stroke:#2C3E50,stroke-width:2px,color:#fff
style S3 fill:#16A085,stroke:#2C3E50,stroke-width:2px,color:#fff
style S4 fill:#16A085,stroke:#2C3E50,stroke-width:2px,color:#fff
style S5 fill:#16A085,stroke:#2C3E50,stroke-width:2px,color:#fff
style S6 fill:#16A085,stroke:#2C3E50,stroke-width:2px,color:#fff
style S7 fill:#16A085,stroke:#2C3E50,stroke-width:2px,color:#fff
style P1 fill:#7F8C8D,stroke:#2C3E50,stroke-width:1px,color:#fff
style P2 fill:#7F8C8D,stroke:#2C3E50,stroke-width:1px,color:#fff
style PN fill:#7F8C8D,stroke:#2C3E50,stroke-width:1px,color:#fff
906 Bluetooth Network Architecture
Piconets, Scatternets, and Power Classes
bluetooth, piconet, scatternet, master-slave, power class, network topology
906.1 Learning Objectives
By the end of this chapter, you will be able to:
- Describe the piconet topology and master-slave relationship
- Explain the 7-device active slave limitation and its implications
- Compare Bluetooth power classes and their range characteristics
- Understand scatternet formation for larger networks
- Design Bluetooth network architectures for IoT applications
906.2 Introduction
Bluetooth networks use a specific topology called a piconet - a small network with one master device and up to seven active slave devices. Understanding this architecture is essential for designing IoT systems that effectively use Bluetooth connectivity.
This chapter explores the fundamental network structures, power classes that determine range, and how scatternets can extend connectivity beyond the basic piconet limitations.
In Bluetooth, one device acts as the “boss” (master) and controls when other devices (slaves) can talk. It’s like a classroom where the teacher (master) calls on students (slaves) to speak.
Key Rules: - Only 1 master per network - Up to 7 active slaves can “speak” - Slaves can only talk when the master allows them - Slaves cannot talk directly to each other
906.3 Piconet Architecture
A piconet is the fundamental Bluetooth network topology:
906.3.1 Structure
906.3.2 Key Characteristics
| Feature | Value | Description |
|---|---|---|
| Active Slaves | 7 maximum | 3-bit Active Member Address (AMA) |
| Parked Slaves | 255 maximum | 8-bit Parked Member Address (PMA) |
| Master | 1 only | Controls timing and slot allocation |
| Addressing | 3-bit AMA | 001-111 for active slaves |
906.3.3 Why Only 7 Active Slaves?
The limitation comes from the 3-bit Active Member Address (AMA) in the packet header:
- 3 bits = 2³ = 8 possible addresses (000-111)
- Address 000 is reserved for broadcast
- Addresses 001-111 available for 7 active slaves
This is a fundamental protocol constraint, not a hardware limitation. If your IoT application requires more than 7 simultaneously active devices:
- Use BLE instead: Modern BLE supports 20+ concurrent connections
- Deploy multiple piconets: Use scatternet topology
- Use Bluetooth Mesh: Supports 32,000+ nodes
- Time-division approach: Rotate which devices are active
906.4 Master-Slave Communication
In a piconet, all communication flows through the master:
906.4.1 Time Division Multiplexing (TDM)
%%{init: {'theme': 'base', 'themeVariables': {'primaryColor':'#2C3E50','primaryTextColor':'#fff','primaryBorderColor':'#16A085','lineColor':'#E67E22','secondaryColor':'#E67E22','tertiaryColor':'#7F8C8D'}}}%%
sequenceDiagram
participant M as Master
participant S1 as Slave 1
participant S2 as Slave 2
rect rgb(44, 62, 80)
Note over M,S2: Slot 0 (Even) - Master TX
M->>S1: Data to Slave 1
end
rect rgb(22, 160, 133)
Note over M,S2: Slot 1 (Odd) - Slave TX
S1->>M: Response from Slave 1
end
rect rgb(44, 62, 80)
Note over M,S2: Slot 2 (Even) - Master TX
M->>S2: Data to Slave 2
end
rect rgb(22, 160, 133)
Note over M,S2: Slot 3 (Odd) - Slave TX
S2->>M: Response from Slave 2
end
Note over M,S2: Each slot = 625 µs
906.4.2 Communication Rules
- Master controls channel access using TDM
- Master transmits in even time slots (0, 2, 4, …)
- Slaves respond in odd time slots (1, 3, 5, …)
- Slaves can ONLY transmit after being addressed by master
In a piconet, Slave A cannot send data directly to Slave B. All communication must route through the master:
Correct: Slave A → Master → Slave B (two hops)
Impossible: Slave A → Slave B (direct)
For direct peer-to-peer communication, use BLE Mesh or establish separate point-to-point connections.
906.5 Power Classes and Range
Bluetooth devices are categorized into power classes that determine transmission range:
906.5.1 Power Class Comparison
| Class | Max Power | Typical Range | Use Cases |
|---|---|---|---|
| Class 1 | 100 mW (20 dBm) | ~100m | Industrial, warehouse scanners |
| Class 2 | 2.5 mW (4 dBm) | ~10m | Smartphones, headphones, most IoT |
| Class 3 | 1 mW (0 dBm) | ~1m | Ultra-low power wearables |
%%{init: {'theme': 'base', 'themeVariables': {'primaryColor':'#2C3E50','primaryTextColor':'#fff','primaryBorderColor':'#16A085','lineColor':'#16A085','secondaryColor':'#E67E22','tertiaryColor':'#7F8C8D'}}}%%
flowchart LR
subgraph C1["Class 1 (100 mW)"]
R1["~100m Range"]
U1["Industrial<br/>Warehouse<br/>Long-range sensors"]
end
subgraph C2["Class 2 (2.5 mW)"]
R2["~10m Range"]
U2["Smartphones<br/>Headphones<br/>Most IoT devices"]
end
subgraph C3["Class 3 (1 mW)"]
R3["~1m Range"]
U3["Wearables<br/>NFC alternatives<br/>Ultra-low power"]
end
style C1 fill:#E67E22,stroke:#2C3E50,stroke-width:2px,color:#fff
style C2 fill:#16A085,stroke:#2C3E50,stroke-width:2px,color:#fff
style C3 fill:#7F8C8D,stroke:#2C3E50,stroke-width:2px,color:#fff
906.5.2 BLE 5.0 Extended Range
BLE 5.0 introduced Coded PHY for extended range:
| PHY Mode | Data Rate | Range | Use Case |
|---|---|---|---|
| 1M PHY | 1 Mbps | ~50m | Standard BLE |
| 2M PHY | 2 Mbps | ~30m | High throughput |
| Coded (S=2) | 500 kbps | ~200m | Extended range |
| Coded (S=8) | 125 kbps | ~400m+ | Long range IoT |
906.6 Scatternet Topology
When applications require more than 7 devices or need inter-piconet communication, scatternets connect multiple piconets:
906.6.1 Scatternet Structure
%%{init: {'theme': 'base', 'themeVariables': {'primaryColor':'#2C3E50','primaryTextColor':'#fff','primaryBorderColor':'#16A085','lineColor':'#16A085','secondaryColor':'#E67E22','tertiaryColor':'#7F8C8D'}}}%%
flowchart TD
subgraph PN1["Piconet 1"]
M1[Master 1]
S1A[Slave A]
S1B[Slave B]
BRIDGE[Bridge Device<br/>Slave in PN1<br/>Master in PN2]
M1 --- S1A
M1 --- S1B
M1 --- BRIDGE
end
subgraph PN2["Piconet 2"]
S2A[Slave C]
S2B[Slave D]
S2C[Slave E]
BRIDGE --- S2A
BRIDGE --- S2B
BRIDGE --- S2C
end
style M1 fill:#E67E22,stroke:#2C3E50,stroke-width:3px,color:#fff
style BRIDGE fill:#2C3E50,stroke:#E67E22,stroke-width:3px,color:#fff
style S1A fill:#16A085,stroke:#2C3E50,stroke-width:2px,color:#fff
style S1B fill:#16A085,stroke:#2C3E50,stroke-width:2px,color:#fff
style S2A fill:#16A085,stroke:#2C3E50,stroke-width:2px,color:#fff
style S2B fill:#16A085,stroke:#2C3E50,stroke-width:2px,color:#fff
style S2C fill:#16A085,stroke:#2C3E50,stroke-width:2px,color:#fff
906.6.2 Bridge Device Roles
A bridge device can participate in multiple piconets by:
- Slave-Slave: Slave in both piconets (time-division participation)
- Master-Slave: Master in one piconet, slave in another
- Time-sharing: Alternates between piconets
| Feature | Scatternet | BLE Mesh |
|---|---|---|
| Topology | Multiple connected piconets | Managed flooding |
| Scale | ~20-50 devices | 32,000+ devices |
| Complexity | High (manual bridging) | Lower (automatic routing) |
| Use Case | Legacy systems | Modern building automation |
For new IoT deployments requiring many devices, BLE Mesh is recommended over scatternet.
906.7 Operating Modes and Power States
Bluetooth devices can operate in different power states to balance responsiveness with power consumption:
906.7.1 Power States
%%{init: {'theme': 'base', 'themeVariables': {'primaryColor':'#2C3E50','primaryTextColor':'#fff','primaryBorderColor':'#16A085','lineColor':'#E67E22','secondaryColor':'#E67E22','tertiaryColor':'#7F8C8D'}}}%%
stateDiagram-v2
[*] --> Active
Active --> Sniff: Periodic data needed
Active --> Hold: Scheduled bursts
Active --> Park: Low power standby
Sniff --> Active: Data to transmit
Hold --> Active: Timer expires
Park --> Active: Master unparks
note right of Active: Full communication<br/>Highest power
note right of Sniff: Listens periodically<br/>Medium power
note right of Hold: Preset intervals<br/>Low power
note right of Park: Maintains sync only<br/>Lowest power
| State | Description | Power | Wake-up Time |
|---|---|---|---|
| Active | Full communication | Highest | Immediate |
| Sniff | Listens at intervals | Medium | Fast |
| Hold | Scheduled burst mode | Low | Predetermined |
| Park | Synchronized standby | Lowest | Slow (~2s) |
906.7.2 BLE Connection States
BLE uses a simpler connection state model:
%%{init: {'theme': 'base', 'themeVariables': {'primaryColor':'#2C3E50','primaryTextColor':'#fff','primaryBorderColor':'#16A085','lineColor':'#16A085','secondaryColor':'#E67E22','tertiaryColor':'#7F8C8D'}}}%%
stateDiagram-v2
[*] --> Standby
Standby --> Advertising: Start advertising
Standby --> Scanning: Start scanning
Standby --> Initiating: Connect request
Advertising --> Connection: Connection received
Advertising --> Standby: Stop advertising
Scanning --> Initiating: Device found
Scanning --> Standby: Stop scanning
Initiating --> Connection: Connection established
Initiating --> Standby: Timeout
Connection --> Standby: Disconnect
note right of Advertising: Peripheral role<br/>Broadcasting availability
note right of Scanning: Central role<br/>Looking for devices
note right of Connection: Data exchange<br/>GATT operations
906.8 Connection Parameters
BLE connection parameters significantly impact power consumption and latency:
906.8.1 Key Parameters
| Parameter | Range | Description |
|---|---|---|
| Connection Interval | 7.5ms - 4s | Time between connection events |
| Slave Latency | 0 - 499 | Number of events slave can skip |
| Supervision Timeout | 100ms - 32s | Max time without communication |
906.8.2 Parameter Impact
%%{init: {'theme': 'base', 'themeVariables': {'primaryColor':'#2C3E50','primaryTextColor':'#fff','primaryBorderColor':'#16A085','lineColor':'#E67E22','secondaryColor':'#E67E22','tertiaryColor':'#7F8C8D'}}}%%
quadrantChart
title Connection Interval Tradeoffs
x-axis Low Latency --> High Latency
y-axis Low Power --> High Power
quadrant-1 Gaming, Real-time
quadrant-2 Not recommended
quadrant-3 Ideal for sensors
quadrant-4 Battery drain
"7.5ms interval": [0.1, 0.9]
"50ms interval": [0.3, 0.6]
"200ms interval": [0.5, 0.4]
"1000ms interval": [0.8, 0.2]
| Application | Recommended Interval | Slave Latency |
|---|---|---|
| Game controller | 7.5-15ms | 0 |
| Fitness tracker | 100-200ms | 4-10 |
| Environmental sensor | 1000-4000ms | 10-20 |
| Beacon | Advertising only | N/A |
906.9 Inline Knowledge Check
Question 1: What is the maximum number of active slaves per piconet?
7 active slaves per master in a piconet. Master uses 3-bit Active Member Address (AMA) for slaves: 3 bits = 2³ = 8 addresses (0-7), but 0 is reserved for broadcast. Additional slaves can be “parked” (inactive, low power state) with up to 255 parked slaves allowed.
Question 2: Can slaves communicate directly with each other in a piconet?
No, not directly. In a piconet, all communication must go through the master. Master controls channel access using Time Division Multiplexing (TDM), transmitting in even time slots while slaves respond in odd slots. A slave can ONLY transmit after being addressed by master.
Question 3: What is the typical range of BLE Class 2 devices?
~10 meters for Class 2 devices (2.5 mW transmit power). Class 1 (100 mW) reaches ~100m for industrial applications, Class 2 (2.5 mW) reaches ~10m for smartphones and most IoT devices, and Class 3 (1 mW) reaches ~1m for ultra-low power wearables. BLE 5.0+ with Coded PHY can extend range to 400m+.
906.10 Summary
This chapter covered Bluetooth network architecture:
- Piconet Topology: One master controls up to 7 active slaves using TDM
- AMA Addressing: 3-bit address limits active slaves; 8-bit PMA for parked slaves
- Master-Slave Rules: All communication flows through master; slaves cannot communicate directly
- Power Classes: Class 1 (~100m), Class 2 (~10m), Class 3 (~1m)
- Scatternets: Bridge devices connect multiple piconets for larger networks
- Power States: Active, Sniff, Hold, and Park modes for power management
- Connection Parameters: Interval and latency tuning balances power vs responsiveness
906.11 What’s Next
Continue to BLE Protocol Stack and GATT to learn about the BLE protocol architecture, Generic Attribute Profile (GATT), and how services and characteristics enable data exchange between BLE devices.