Packet Choice: Single-Slot or Multislot
One big factor that affects the data rate on Bluetooth is the packet type. Single-slot packets use just one 625-microsecond slot and can carry up to 27 bytes, offering a data rate of 108.8 kilobits per second in each direction. Five-slot packets can provide up to 339 bytes in 3125 microseconds, which improves the data rate to 433.9 kilobits per second. Data is moving nearly four times as fast because the device is spending more time transmitting packets and less time retuning the radio between packets.
To get even better data rates, it is possible to use an asymmetric channel. If more data is traveling in one direction than the other, then use large packets one way and small packets the other. Figure 1 shows the difference between two channels: first, a symmetric channel with single-slot packets both ways, and, second an asymmetric channel with three-slot packets going from the master to the slave and single-slot packets in the reverse direction.
Symmetric and asymmetric channels.
Bear in mind a couple of points when using asymmetric channels and multislot packets:
Asymmetric channels can give higher rates in the forward direction, but you get lower data rates in the reverse direction.
Multislot packets give higher data rates only on reasonably error free channels; they're not efficient when there are errors because there's more data to retransmit if a packet gets corrupted.
Figure 2 gives the maximum data rate on air. When considering data rates for applications, bear in mind that higher protocol layers such as L2CAP and RFCOMM will use some of the channel's capacity with headers and framing information.
Maximum data rates on air for symmetric and symmetric channels.