Network topology

The topology of a Bluetooth Classic piconet is very similar to the topology of a Bluetooth LE network where one device acts as a master and the other devices act as slaves to the master. In a Bluetooth Classic piconet, one master can have up to seven slaves for a total of eight devices in the piconet. The following diagram shows a Bluetooth classic piconet:

Piconets can interact with other piconets to form what is known as scatternets. A scatternet is one where the master of one piconet acts as a slave in another piconet. This does allow devices in one piconet to share data with devices in other piconets; however, this does require complex synchronization and bandwidth sharing, making these networks more complex and less efficient. It is good to know that we can create scatternets, but it is something that, in my experience, is rarely used.

There is a lot more to Bluetooth than what is described here; however, for the vast majority of use cases you will want to use Bluetooth LE as described in Chapter 20, Bluetooth LE. With the Arduino, we would use Bluetooth Classic when we want to connect two devices and stream data between them. Let's look at how we would do this with three projects. For the first project we will configure the Bluetooth modules, the second project we will learn how to send and receive data from the Bluetooth module, and in the third project, we will see how we can stream data from one radio to another. We will start off by looking at the components that we will need for these projects.