MakerGram Logo

    MakerGram

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Popular
    • Tags
    • Users
    • Groups

    BT and WiFi Dual Core simultaneous operation using ESP32?

    ESP32
    2
    4
    1686
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • kowshik1729
      kowshik1729 last edited by salmanfaris

      Hey guys,

      I recently learned that ESP32 has Tensilica dual-core processor. So I'm just wondering whether I can run Bluetooth on one core and WiFi on other core. Is this possible?

      1 Reply Last reply Reply Quote 1
      • salmanfaris
        salmanfaris last edited by salmanfaris

        Hi @kowshik1729, That was an interesting question. it can be done, but since the wifi and Bluetooth shares one radio and only one antenna, switching back and forth between wifi and Bluetooth same time while receiving packets will be difficult and cause some packet loss, but it can be done.

        But instead of doing that, you can schedule two task's and switch between the task will only occupy wifi or Bluetooth. (Just a suggestion)

        There is a special option called “Software controls WiFi/ Bluetooth coexistence” it can control the ESP32's Bluetooth and Wi-Fi coexistence using software, more details: https://www.espressif.com/sites/default/files/documentation/ESP32_FAQs__EN.pdf

        d6523210-a40e-44e0-a2f7-48fcbcdfed1f-image.png

        Source: https://www.espressif.com/sites/default/files/documentation/ESP32_FAQs__EN.pdf

        1 Reply Last reply Reply Quote 1
        • kowshik1729
          kowshik1729 last edited by

          @salmanfaris Thanks for the detailed explanation. I would like to add that, while the ESP32 switches from BLE to Wi-Fi so fast, the power consumed will also be very high, and also there is a high risk of having losing data. Hence one has to use an RF High-speed switch like this https://www.digikey.in/short/zf3dzc and have two antennas to switch between the Bluetooth and Wi-Fi. This is the best solution I've got, let me know if you find any.

          salmanfaris 1 Reply Last reply Reply Quote 1
          • salmanfaris
            salmanfaris @kowshik1729 last edited by

            @kowshik1729 If you are using an external high-speed switch, there is only one one clock generator for both wifi and BLE and the high-speed switch you mentioned is Ultra-Wideband (UWB) 3–8 GHz from its datasheet

            b2da6871-9110-40f1-8ff0-d8313547a17a-image.png

            you also check this solution that I shared in the previous post.

            @salmanfaris said in BT and WiFi Dual Core simultaneous operation using ESP32?:

            There is a special option called “Software controls WiFi/ Bluetooth coexistence” it can control the ESP32's Bluetooth and Wi-Fi coexistence using software, more details: https://www.espressif.com/sites/default/files/documentation/ESP32_FAQs__EN.pdf

            1 Reply Last reply Reply Quote 0
            • First post
              Last post

            Recent Posts

            • J

              I been trying to interface Xiao esp32c3 with LoRa via SPI. After uploading the code doesn't get executed by the board but give the message log: "waiting for download". After few attempts by even resigning to other pins as spi instead of default spi pins, found this is occurring specifically when the CS pin is connected to the board. Any help to resolve this?

              • read more
            • @jacob_jipson Glad to hear that. 🙌

              • read more
            • J

              @salmanfaris The problem was resolved. Thankyou so much.

              • read more
            • @jacob_jipson said in Need Help: Error compiling for board AI Thinker ESP32-CAM.:

              ESP-NN

              Did you replace the NN folder in the lib as we do for XIAO esp32? and for the AI Thinker ESP32-CAM, you don't need to do that.

              now, try to delete the library and re-add a new one and compile.

              • read more
            • J

              @salmanfaris
              Error log

              C:\Users\jacob\Documents\Arduino\libraries\jacobjipson-project-1_inferencing\src\edge-impulse-sdk\porting\espressif\ESP-NN\src\activation_functions\esp_nn_relu_s8_esp32s3.S: Assembler messages: C:\Users\jacob\Documents\Arduino\libraries\jacobjipson-project-1_inferencing\src\edge-impulse-sdk\porting\espressif\ESP-NN\src\activation_functions\esp_nn_relu_s8_esp32s3.S:35: Error: unknown opcode or format name 'ee.vldbc.8' C:\Users\jacob\Documents\Arduino\libraries\jacobjipson-project-1_inferencing\src\edge-impulse-sdk\porting\espressif\ESP-NN\src\activation_functions\esp_nn_relu_s8_esp32s3.S:39: Error: unknown opcode or format name 'ee.zero.q' C:\Users\jacob\Documents\Arduino\libraries\jacobjipson-project-1_inferencing\src\edge-impulse-sdk\porting\espressif\ESP-NN\src\activation_functions\esp_nn_relu_s8_esp32s3.S:42: Error: unknown opcode or format name 'ee.vld.128.ip' C:\Users\jacob\Documents\Arduino\libraries\jacobjipson-project-1_inferencing\src\edge-impulse-sdk\porting\espressif\ESP-NN\src\activation_functions\esp_nn_relu_s8_esp32s3.S:43: Error: unknown opcode or format name 'ee.vmax.s8' C:\Users\jacob\Documents\Arduino\libraries\jacobjipson-project-1_inferencing\src\edge-impulse-sdk\porting\espressif\ESP-NN\src\activation_functions\esp_nn_relu_s8_esp32s3.S:44: Error: unknown opcode or format name 'ee.vmin.s8' C:\Users\jacob\Documents\Arduino\libraries\jacobjipson-project-1_inferencing\src\edge-impulse-sdk\porting\espressif\ESP-NN\src\activation_functions\esp_nn_relu_s8_esp32s3.S:45: Error: unknown opcode or format name 'ee.vst.128.ip' C:\Users\jacob\Documents\Arduino\libraries\jacobjipson-project-1_inferencing\src\edge-impulse-sdk\porting\espressif\ESP-NN\src\activation_functions\esp_nn_relu_s8_esp32s3.S:58: Error: unknown opcode or format name 'ee.vld.l.64.ip' C:\Users\jacob\Documents\Arduino\libraries\jacobjipson-project-1_inferencing\src\edge-impulse-sdk\porting\espressif\ESP-NN\src\activation_functions\esp_nn_relu_s8_esp32s3.S:59: Error: unknown opcode or format name 'ee.vmax.s8' C:\Users\jacob\Documents\Arduino\libraries\jacobjipson-project-1_inferencing\src\edge-impulse-sdk\porting\espressif\ESP-NN\src\activation_functions\esp_nn_relu_s8_esp32s3.S:60: Error: unknown opcode or format name 'ee.vmin.s8' C:\Users\jacob\Documents\Arduino\libraries\jacobjipson-project-1_inferencing\src\edge-impulse-sdk\porting\espressif\ESP-NN\src\activation_functions\esp_nn_relu_s8_esp32s3.S:61: Error: unknown opcode or format name 'ee.vst.l.64.ip' C:\Users\jacob\Documents\Arduino\libraries\jacobjipson-project-1_inferencing\src\edge-impulse-sdk\porting\espressif\ESP-NN\src\activation_functions\esp_nn_relu_s8_esp32s3.S:98: Error: unknown opcode or format name 'ee.zero.q' C:\Users\jacob\Documents\Arduino\libraries\jacobjipson-project-1_inferencing\src\edge-impulse-sdk\porting\espressif\ESP-NN\src\activation_functions\esp_nn_relu_s8_esp32s3.S:40: Error: invalid empty loop C:\Users\jacob\Documents\Arduino\libraries\jacobjipson-project-1_inferencing\src\edge-impulse-sdk\porting\espressif\ESP-NN\src\activation_functions\esp_nn_relu_s8_esp32s3.S:56: Error: invalid empty loop C:\Users\jacob\Documents\Arduino\libraries\jacobjipson-project-1_inferencing\src\edge-impulse-sdk\porting\espressif\ESP-NN\src\activation_functions\esp_nn_relu_s8_esp32s3.S:40: Internal error in istack_push_space at /builds/idf/crosstool-NG/.build/HOST-i686-w64-mingw32/xtensa-esp32-elf/src/binutils/gas/config/tc-xtensa.c:12515. Please report this bug. exit status 1 Error compiling for board AI Thinker ESP32-CAM.

              Tool section
              Screenshot 2023-09-11 122407.png

              • read more
            By MakerGram | A XiStart Initiative | Built with ♥ NodeBB
            Copyright © 2023 MakerGram, All rights reserved.
            Privacy Policy | Terms & Conditions | Disclaimer | Code of Conduct