Masters, Slaves, and Piconets
We've seen how devices can avoid one another's transmissions by constantly changing channels, but how do they know which channel to be on at any particular time? The answer comes from the master: When Bluetooth devices first connect, the master's clock and the Bluetooth device address (BD_ADDR) are passed to the slaves in a special packet called a frequency-hop synchronization packet (FHS packet). The master's Bluetooth device address is used to calculate the sequence of frequency hops that all devices in a piconet will follow, and the master's clock decides which is the current hop in the sequence (the phase). All the devices in a piconet keep a track of the difference between their own native clock and the master's clock, so they know exactly which frequency to transmit or receive on at any moment.
Every piconet has a different master, with its own unique Bluetooth device address and clock, so every piconet has its own unique frequency-hopping sequence.