12

I'm working on a project that involves WiFi and BLE, and for this I would like to use an esp32 due to its lower price, but there will be timing issues since the wifi and Bluetooth antenna are shared.

I know that the Raspberry Pi 3B is capable of WiFi and Bluetooth simultaneously, but does it have two separate antennas or is it some sort of multitasking software?

CalvT
  • 107
  • 1
  • 1
  • 5
Gabriel Gardin
  • 131
  • 1
  • 6

1 Answers1

17

RPi 3B only has one antenna on board, so yes, it will be shared. Sharing is managed by the adapter firmware which is closed-source. Even if done right, it will not be as good as separate antennas.

You can get a USB dongle for either WiFi or BT (and use that instead of the built-in adapter) to get two separate antennas.

Dmitry Grigoryev
  • 27,928
  • 6
  • 53
  • 144
  • 7
    With two antennas using the same frequencies in close proximity, I doubt that it would be much better than a single shared antenna. And with a single chip handling both Wi-Fi and BLE you have at least a chance there is coordination between the two (they don't transmit at the same time), which you won't get with separate chips and antennas. – jcaron Jan 28 '20 at 13:03
  • Interesting, so in theory I should be able to achieve what I want with the esp32. This is information is going to help me down the road, thanks a lot. – Gabriel Gardin Jan 28 '20 at 16:30
  • @jcaron It's not so much about interference, it's largely about software bugs. With a single antenna, you need to effectively stop one interface while the other is active. Most drivers are written with certain assumptions in mind, one of them being that the hardware doesn't just change state on its own. With a shared antenna, this assumption doesn't hold. – Dmitry Grigoryev Feb 02 '20 at 16:23
  • @GabrielGardin I’m not saying the ESP32 correctly handles WiFi/BT coexistence. I’m just saying that in theory it’s easier with both in the same chip. Whether Espressif implemented it (correctly) I admit I have no idea. – jcaron Feb 02 '20 at 21:02
  • @jcaron Some WiFi/BT adapters are implemented correctly in the sense that they work fine in Windows. Finding one with Linux support from the manufacturer is rare. And I didn't say anything about ESP32, I have no experience with that. – Dmitry Grigoryev Feb 04 '20 at 07:41
  • @jcaron I read that it used to be problems when both the bluetooth and wifi was working together in the ESP32. But I think it's fixed because I managed to do so, just had to put a delay between the initialization of the wifi and bluetooth. – Gabriel Gardin Feb 04 '20 at 18:37