Create your own App! Control an ESP32 (Arduino) via Bluetooth - Part 1

Поділитися
Вставка
  • Опубліковано 3 сер 2024
  • IMPORTANT UPDATE 30.09.2022: MIT App inventor updated the BluetoothClient without backward compatibility. As a result, the .aia file gave an error when loaded into MIT app inventor:
    "A problem occurred while loading this project. No upgrade strategy exists for BluetoothClient from version 6 to 7".
    I updated to the new BluetoothClient, but then I got the following error
    "need android.permission.BLUETOOTH_CONNECT permission".
    It turned out that the code now needs to ask for permission to use Bluetooth. Both problems are now fixed on my Github page. Please download the source code from my Github page to see how this is done. The rest of the video with the communication to the ESP32 is still accurate:
    github.com/mo-thunderz/Esp32B...
    Summary:
    In this video I show you how to create your own Android App to control an ESP32 (Arduino platform) through Bluetooth (not suitable for IOS). Please make sure your ESP32 has Bluetooth to make this work. I used the ESP32-WROOM-32D. For creation of the app I use the MIT app inventor in combination with the MIT AI2 Companion. Note that this code will only work on Android. The reason is that BluetoothSerial does not work on an Iphone.
    For an Iphone only BLE works: • Create a BLE app for y...
    Source code on Github:
    github.com/mo-thunderz/Esp32B...
    MIT App Inventor:
    appinventor.mit.edu/
    Might you have problems programming the ESP32, pls refer to:
    • Programming ESP32: how...
    Check out part 2 and 3 as well:
    Part 2: Bi-directional communication (send info from ESP32 to phone
    • Create your own App! C...
    Part 3: How to make communication reliable
    • Create your own App! C...
    Have fun with the code and let me know in the comments below what application you are working on :-)
    Correction:
    09:33 NOTE that MIT App inventor updated the BluetoothClient without backward compatibility. As a result, the blocks will look slightly different in the current implementation. See the top of the comments of this video for more details.

КОМЕНТАРІ • 183

  • @DavidSunshine
    @DavidSunshine 2 роки тому +9

    Amazing!! Thank you for all the hard work you put into making these videos, I appreciate Part 1, 2 and 3. Very clear, concise, and very useful to all of us! Everyone should be using these videos to learn the basics and create awesome projects using the ESP32!

  • @oladunk9986
    @oladunk9986 3 роки тому +5

    Thank you very much for sharing this tutorial. I have struggled with some old examples with Bluetooth and Android Studio without success. Your example is much more easier than Java.

    • @mothunderz
      @mothunderz  3 роки тому

      Glad it helped! Check out part 2 and part 3 as well on how to realize bi-directional communication and how to make communication more reliable.

  • @altitude1039
    @altitude1039 Рік тому +1

    Wow! Thank you for posting this here. Worked so well after your great instructions and files. I used the onboard RGB led that was on my ESP32.

    • @mothunderz
      @mothunderz  Рік тому +1

      Glad it helped! Thank you for your feedback

  • @aofddofa6661
    @aofddofa6661 2 роки тому +3

    u've no idea how much u helped me .. at least cutting few months in my studying to 1 h of your videos ! .. be blessed

    • @mothunderz
      @mothunderz  2 роки тому

      Great to hear! Thank you for the feedback :-)

  • @drabodows
    @drabodows 2 роки тому +1

    Excellent video. Keep it up. I'd love to see more App Development with MIT App Inventor and ESP32. Thanks a lot.

    • @mothunderz
      @mothunderz  2 роки тому

      Thank you! I am currently working on some videos on WiFi and the ESP32 (webserver, websockets, etc), but can do some more on MIT App Inventor as well. Might you have specific problems you would like me to have a look at, let me know.

  • @jeandeux5012
    @jeandeux5012 3 роки тому +2

    Thank you so much for this tutorial! I look forward to viewing more of your content :D

    • @mothunderz
      @mothunderz  3 роки тому +1

      Thank you very much for the feedback :-)

  • @wimalmanage
    @wimalmanage 2 роки тому +4

    Thanks a lot. You have described every things very clearly. Highly appreciated.

    • @mothunderz
      @mothunderz  2 роки тому

      You are most welcome, thank you for your feedback.

  • @herbertpalines4695
    @herbertpalines4695 Рік тому +2

    Thank you for the clear and helpful content! Keep it up!

  • @user-ve2pj7yl7k
    @user-ve2pj7yl7k 3 роки тому +2

    Very professionel working through, Please keep posting. Thank you

    • @mothunderz
      @mothunderz  3 роки тому

      Thank you, I will, more to come :-)

  • @free4salt
    @free4salt 2 роки тому +2

    Wow thank you very much , you are a super educator. I want an app to control the speed and direction of my outdoor battery operated Locos, now i have to learn app inventor , should be a piece of cake. I will try your other videos first. Thank you again Mo

    • @mothunderz
      @mothunderz  2 роки тому

      Thank you very much for your feedback. Yes, if you watch all 3 parts of this video series you should be able to make this app. Good luck with your project!

  • @timberhoff
    @timberhoff 7 місяців тому +1

    Duuuude!!! This is the content that we want!!

  • @qzorn4440
    @qzorn4440 2 роки тому

    this sounds so exciting... just found out about RemoteXY then came across this... let the show go begin... 😊 thanks. esp32 with onboard oled and bluetooth android-phone

    • @mothunderz
      @mothunderz  2 роки тому +1

      Thank you very much for the feedback! Sounds like a fun project :-)

  • @boultifnidhal2600
    @boultifnidhal2600 2 роки тому +1

    That was really helpful thank you so much♥

    • @mothunderz
      @mothunderz  2 роки тому +1

      You're welcome, thank you for your feedback!

  • @robertsteel3563
    @robertsteel3563 Рік тому +3

    Thank You for helping GreatScott! with his latest video!

    • @tede9921
      @tede9921 Рік тому +2

      Came here after the video😊

    • @robertsteel3563
      @robertsteel3563 Рік тому

      @@tede9921 That's Fair 😅

    • @mothunderz
      @mothunderz  Рік тому +3

      Thank you for your comment Robert! @GreatScott! thanks for referring to my video
      FYI: Another cool method to interface with the ESP32 from your phone is through WiFi using a web browser:
      ua-cam.com/video/15X0WvGaVg8/v-deo.html

    • @robertsteel3563
      @robertsteel3563 Рік тому

      @@mothunderz Thanx!

    • @ritesha8050
      @ritesha8050 Рік тому

      ​@@mothunderz thanks, Wi-Fi exactly what I was looking for

  • @aliqureshi2157
    @aliqureshi2157 2 дні тому

    very informative, thank you so much

  • @Netsroht72
    @Netsroht72 Рік тому +1

    Thank you very much, now i can open my Garage again via Bluetooth. My old Remote was faulty.
    At 12:10. Hm, i think, enter the the 6 Digit Code ist much esier.

    • @mothunderz
      @mothunderz  Рік тому

      Thank you for your feedback
      Yes, by all means you can manually input the code as well. I mostly use the camera to connect myself.

  • @filtermindmusic4208
    @filtermindmusic4208 2 роки тому

    ..very good tuto..Thanks!!!👏

  • @rodneysmith1750
    @rodneysmith1750 2 роки тому +2

    Good video, new subscriber here. I might suggest for the 1/2 of the world that uses the iPhone, an "Not for IOS warning" could be helpful. Good video though, informative and direct while still being simple in nature.

    • @mothunderz
      @mothunderz  2 роки тому +1

      Hi Rodney, thank you for your comment. I dont have an iPhone myself and only recently discovered that it serial Bluetooth does not work on IOS. Unfortunately UA-cam wont let me edit the video once it is uploaded, so I cannot add a comment to the video itself, but I did now add a specific statement that it does not work on IOS. For IOS one will have to use BLE. Will upload a video on that when I find the time to record it :-) Cheers, Sander

    • @CasaMaryParadise
      @CasaMaryParadise Рік тому

      Looking forward to that 🎉

  • @thebloody_blue
    @thebloody_blue Місяць тому

    fantastic project.

  • @attariazeddine6603
    @attariazeddine6603 3 роки тому

    Excellente présentation...Merci beaucoup

    • @mothunderz
      @mothunderz  3 роки тому

      Glad to hear this was helpful for you, thank you for the feedback!

  • @egy000
    @egy000 2 роки тому

    very good. thank you so much

    • @mothunderz
      @mothunderz  2 роки тому

      Most welcome, thank you for your post!

  • @roumenvesselinov
    @roumenvesselinov Рік тому

    You are one of the best!

    • @mothunderz
      @mothunderz  Рік тому

      Thank you very much for your feedback!

  • @inigovillar7640
    @inigovillar7640 2 роки тому +2

    Hello mo_thunderz, thank you very much for the tutorial but I have followed all your steps and I cannot connect with the esp32, it is synchronized because the esp32_Control of the android mobile disappears from the screen but it does not mark the status and nothing is seen through the serial port of arduino ide, if you could help me thank you very much for your time.

  • @Gallardo6669
    @Gallardo6669 Рік тому

    Super video, thank you! Great explained!
    Could you please make a video to do wifi straight phone to esp? I need a longer control range. Thx

    • @mothunderz
      @mothunderz  Рік тому +1

      I actually already made those videos. Please see:
      ua-cam.com/video/15X0WvGaVg8/v-deo.html
      ua-cam.com/video/ZJnXKD0LqDo/v-deo.html
      ua-cam.com/video/VaNVrE7-AO8/v-deo.html
      Good luck with your project!

    • @Gallardo6669
      @Gallardo6669 Рік тому

      @@mothunderz thank you kindly. Will check into it!

  • @Nordwelt
    @Nordwelt Рік тому

    Great Tutorial! I just want to figure out, wther to use the BT-Client or the Server for my similar project. Now I got a good insight into this theme. I also like the Room: It looks like my studio, Ive got exactly the same Strat Sunburst hanging on the Wall \O/ TNX.

    • @mothunderz
      @mothunderz  Рік тому

      Thank you very much for your feedback! As for the guitar: mine is unfortunately not a real Strat, but it looks good on the wall :-) Good luck with your project!

  • @mustafaosman6566
    @mustafaosman6566 3 місяці тому

    Hello, thank you for the content, only question I had is if the whole process can be applied for the ESP32 that uses WiFi instead of bluetooth?

  • @surenderkumar-yi1ig
    @surenderkumar-yi1ig 10 місяців тому

    very useful video thank you

    • @mothunderz
      @mothunderz  9 місяців тому

      You are very welcome!

  • @fleaniswerkhardt4647
    @fleaniswerkhardt4647 2 роки тому +2

    Very good tutorial which has cleared up several things that weren't clear to me. One question though - is it possible to get the Esp32 to communicate with another ess8266 or esp32 via Bluetooth or Espnow_ while the esp32 is connected to the phone by bluetooth? I would like to be able to send several bytes to a secondary esp device based on sensor input that was evaluated on the primary esp32. That data is to be sent only - nothing is received back from the secondary esp.

    • @mothunderz
      @mothunderz  2 роки тому

      Hi Fleanis, for communication from ESP32 to ESP32 I do not recommend to use Bluetooth. AFAIK the ESP32 can only connect to one Bluetooth device at a time. You can probably use ESPNOW, though I have not really looked into that yet. What I have used in some projects is Websockets over WiFi. That works very well, is fast and reliable. So if you don't need to save battery power this is probably the easiest for you. ESPNOW is the way to go for battery operated systems. I just started with a video series on WiFi. Part one is online (ua-cam.com/video/0AlATlN95Y0/v-deo.html), but that covers only some basics. In part two I will cover how to setup the ESP32 as a webserver and part three will cover ESP32 to ESP32 communication through JSON and web sockets. Will take me another one or two weeks to get these online...

    • @fleaniswerkhardt4647
      @fleaniswerkhardt4647 2 роки тому

      @@mothunderz The application I would need to use the android phone and bluetooth and esp now is in a remote area where there is no wifi network available.
      I think what you're saying is that If the Esp32 is talking to the phone via Bluetooth - then it might be possible to use espnow for it to talk to another esp processor at the same time. But it is most likely not possible for it to be opening another Bluetooth channel in the same session. These videos you've done are really good by the way. You've got a teaching style that makes it interesting.

    • @mothunderz
      @mothunderz  2 роки тому

      Thank you very much for the feedback. As for WiFi: it is really easy to turn an ESP32 into a WiFi Access Point. That way you dont need a router and you can connect multiple ESP32 to a single ESP32 that is in Access Point mode. Alternatively, you can indeed look into esp now. Good luck with your project!

  • @davidkempton2894
    @davidkempton2894 2 роки тому

    Hi. Great video. Thanks for sharing it. Do you know if it is possible to share the .apk file with another user without them having to use the MIT Inventor program?

    • @mothunderz
      @mothunderz  2 роки тому

      Hi David, yes, once you have compiled your program to an apk you can share this with other users without the need for MIT Inventor

  • @user-pu4lm8nf8s
    @user-pu4lm8nf8s Рік тому +1

    Thanks a lot for your detailed and understandable videos! All parts were very helpful for me to step into the BLE topic, which I never used before. The example works perfect on my mobile and on ESP32 and I only spent some hours on it. I want to control my garage door with it. Please give me a hint, how I can modify the example, that the app connects automatically with ESP32. I also would likt to have a push button function, that same message is sent to ESP32, when the button is pressed. Only when pressing, the outlook shoud change and afterwards the button shall return to default state and default outlook. thnaks for your feedback.

    • @mothunderz
      @mothunderz  Рік тому +1

      Thank you very much for your feedback. Actually, the code in this video uses serial Bluetooth, not BLE. To learn more about the difference between the two, please refer to this video:
      ua-cam.com/video/0Yvd_k0hbVs/v-deo.html
      If you want to build an App with BLE, see this video:
      ua-cam.com/video/RvbWl8rZOoQ/v-deo.html
      In MIT App Inventor I have not yet written code that connects automatically with the ESP32, but it should be straightforward. You should be able to run a timer that periodically checks if the ESP32 is available. Basically you setup a timer and
      1) Check if Bluetooth is connected
      2) If not connected check if Bluetooth is enabled and if you can connect to the ESP32 you want to connect to. To do so you can run the BluetoothClient.Connect function and provide the physical address you want to connect to.
      Good luck with your code!

  • @bennguyen1313
    @bennguyen1313 28 днів тому

    Any thoughts what would be involved in writing an ESP32 application, that takes data from the uart, and passes it wirelessly either via bluetooth** (SPP) or via Wifi? One way communication is fine for now (RS232->ESP32->BT/Wifi - - - - > Mobile/PC)
    For Wifi, I imagine the ESP32 could act as a web server (TCP) and display the RS232 data, but maybe there's also a UDP way of sending the data to a PC on the same network? If the receiving application (mobile or PC) is written with the flutter framework, it could display the RS232 data with style!
    **I purchase some USB-bluetooth dongles (Feasycom BP102, HC-05/HC-06/CP2102 master modules, etc).. but none can connect to any android phone! For example, when a Samsung S5 tries to connect to one of the bluetooth dongles, it will stop blinking, but after a couple seconds, Android says 'Can't communicate with the FSC_BP102' or HC-05, or HC06, etc.

  • @TheRoadTaken
    @TheRoadTaken 5 днів тому

    Do you have a video where the Bluetooth app will save the data to the esp32 that is persist after reboot of the esp32?

  • @YigalBZ
    @YigalBZ 2 роки тому

    Thanks for the clear video. One comment: The graphic interface of MIT inv. is not the best practice: hard to maintain, comment & debug. It may be easy to start with, but there is a long term penalty.

    • @mothunderz
      @mothunderz  2 роки тому +1

      Thanks for the feedback. Yes, MIT app inventor is great for small programs like these, but when things get more complex other solutions are better. What is your favorite app development tool/language? I am now looking into React Native and plan to make some videos on that.

    • @YigalBZ
      @YigalBZ 2 роки тому

      @@mothunderz I didn't find yet the simple solution for BT communication between tablet & ESP32. I am trying to learn kotlin, but I am not sure it is the right solution. So far I used Visual Studio C# to communicate over serial port. Probably I it would be easier to communicate over BT with laptop, yet this wont work with Tablet.

  • @user-gz4bi4kn2i
    @user-gz4bi4kn2i Рік тому

    very good video Thanks

  • @l.k.610
    @l.k.610 2 роки тому +1

    Hey Mo! Thanks for the great tutorial. It works perfectly on my Google Pixel but the problem is that the device does not show up on my iPhone, even with Bluetooth LE apps. Do you have any idea how to fix this?

    • @l.k.610
      @l.k.610 2 роки тому

      On further investigation it seems that BluetoothSerial doesn’t work for iPhone, only BLE does. I have 0 experience in coding for this, so you have a code of this using BLE by any chance?

    • @mothunderz
      @mothunderz  2 роки тому +1

      Thank you for your comments L.K. I do not have an Iphone myself, so did not realize that BluetoothSerial does not work on that platform. I have BLE on my todo list, but have not hat the time yet to look into this. I am now first working on expanding my instructions on how to host a webserver on the ESP32 to control LEDs through WiFi. Almost done with the video and will look into BLE next.

    • @l.k.610
      @l.k.610 2 роки тому

      @@mothunderz thanks a bunch!

  • @OutOfNameIdeas2
    @OutOfNameIdeas2 Місяць тому

    Can you make a tutorial on this for Android studio?

  • @GuesstheSongChallenge
    @GuesstheSongChallenge 7 місяців тому

    This is very helpful. Thanks.
    Do you have anything that covers proximity detection to the ESP32?
    For example, if the phone were closer or further away from the ESP32 then the phone would display some kind of output to inform me.

    • @mothunderz
      @mothunderz  6 місяців тому

      It is possible to read out the strength of the Bluetooth signal. That should do the trick for you. However, I have not looked into exactly how that works...

  • @MKhanfar-MWK
    @MKhanfar-MWK 2 роки тому

    thanks for a video , is there tutorial with .ino file for wifi method ?

    • @mothunderz
      @mothunderz  2 роки тому

      Yes sure! Please see first here for some ESP32 WiFi basics:
      ua-cam.com/video/0AlATlN95Y0/v-deo.html
      Then in this video you can control the ESP32 through WiFi using a standard browser (chrome for instance):
      ua-cam.com/video/15X0WvGaVg8/v-deo.html
      Then the video below expands on the one above and shows how to control LEDs, similar to the Bluetooth video here:
      ua-cam.com/video/ZJnXKD0LqDo/v-deo.html
      All source codes (ino files) are available on my Github. Good luck with your project.

  • @Alvaelectronics
    @Alvaelectronics Місяць тому

    Hi , i am creating a device that has esp32 and the other device is Pi5 which runs android os an app can be installed in this os . Now , i need to connect my esp32 with the pi5 only . Can you guide how i could do this ? In my mind .. it is giving characterstic id call from esp32 and the app would have the same the characterstic app . If the app detects the characterstic app , then connect directly to esp32 . Please let me know if this is right or show avideo on how to do this as a refernce

  • @drjml351
    @drjml351 Рік тому

    Very professional presentation, thank you.
    I too got stuck with Bluetooth and the iPhone. I have a button input and want to pass a signal to my iPhone to creat a tone. I can create the tone on the Esp32 and play it on a speaker but I can’t figure out how to pass it to the iPhone. I can use the WiFi in the Esp32 but don’t know how to pass the digital code and then play it on the iPhone. Can you please give me some direction or help?
    Thanks
    Dr. J

    • @mothunderz
      @mothunderz  Рік тому +1

      Hi Dr J, yes, unfortunately the iPhone does not support serial Bluetooth. However, for your application I would recommend to setup a webserver on your ESP and control the tone through a web interface. Please check out this video (and part 3 as well):
      ua-cam.com/video/15X0WvGaVg8/v-deo.html
      Hope this helps. Let me know if it worked out for you.
      Cheers,
      Sander

  • @emilmelin4270
    @emilmelin4270 2 роки тому

    Hello1
    Thanks for a really great tutorial. im currently working on a project that needs more than 10 buttons for on and off swiches, how is that done in the code?
    Best regards Emil

    • @mothunderz
      @mothunderz  2 роки тому

      Hi Emil, if you have more than 10 buttons you will need a little more intelligence in the communication between the phone and the Arduino. Please refer to part 3 of this series where I address exactly this problem. With the code in part 3 you can scale up to 128 buttons. I hope that is sufficient for you :-)
      ua-cam.com/video/eP35zgZnQY4/v-deo.html
      ps: you might want to look at part 2 first to understand the concept behind bi-directional communication:
      ua-cam.com/video/OvWd_xZ12E4/v-deo.html

  • @serafinramospaz7288
    @serafinramospaz7288 3 роки тому

    great!

  • @dantrrrrrr8502
    @dantrrrrrr8502 2 роки тому

    nice job

  • @boultifnidhal2600
    @boultifnidhal2600 2 роки тому

    can you please tell me which pin you used for the first button?
    Looking forward for your response. Thank you so much.

    • @mothunderz
      @mothunderz  2 роки тому +1

      Hi Boultif, do you mean which output pin of the ESP32 I used to connect an LED to? The answer to this is in the Arduino code. For the first button I defined: "int led_pin_1 = 4;" -> this defines the first pin to output 4. The other outputs used are 0 and 2. you can change these pin assignments on line 22 through 24 of the Arduino code. Best Regards, Sander

    • @boultifnidhal2600
      @boultifnidhal2600 2 роки тому

      @@mothunderz okay thank you so much. It worked perfectly♥

  • @nfcradio4622
    @nfcradio4622 5 місяців тому

    Pin( 1234/abcd ect) Authentication while pairing is possible ?

  • @DanielHofer
    @DanielHofer 2 роки тому

    Thanks a lot for this tutorial! I searched for a solution to connect my lora-wan lilygo t-beam with my android phone with btle to send gps data right to the phone. I will write an app to open the coordinates with an offline map to show the location of the gps-enabled lora-wan sending device off-grid.

    • @mothunderz
      @mothunderz  2 роки тому +1

      Hi Daniel, please note that I am using serial bluetooth in the example. I have tried to setup BTLE with MIT App Inventor, but found it not very stable. Serial bluetooth will work just fine, but it does consume more power than BTLE. So if your lilygo is connected to power or if you dont access the lilygo with your phone all the time then there is no need to go to BTLE. However, if your phone is connected to the lilygo all the time and the lilygo is battery operated, then I would advise looking into BTLE. Good luck with your project!

    • @DanielHofer
      @DanielHofer 2 роки тому

      @@mothunderz Thank you for the hint, I'll pay attention to this issue with BTLE.

  • @franesabic3903
    @franesabic3903 Місяць тому

    Can u plz explain why 516>=error number, why it is 516, what is happening when is lower or higer than 516.
    Thank you.

  • @superliegebeest544
    @superliegebeest544 2 роки тому

    With this, I could connect a webshop on the internet to a anduiro that controls my.vending machine at home? So people can buy online and pickup?

    • @mothunderz
      @mothunderz  2 роки тому

      Bluetooth is not the right tool for setting up a webshop. However, you can do this by setting up a small webserver on the ESP32/Arduino:
      ua-cam.com/video/15X0WvGaVg8/v-deo.html
      However, I would not recommend exposing the Arduino directly to the internet. It would be better to operate the Arduino on a local network and to have a server with a professional website as "Gateway" in between. Good luck with your project!

  • @grahamhik9177
    @grahamhik9177 Рік тому

    wow thank you so much i have only just found you on the net, you really know your stuff. I on the other hand am not as clever as you with this sort of thing. I am trying to understand a project i would like to make, to be honest i am not getting too far, i brought an esp32 Arduino board and a PN532 NFC board.
    What i was thinking but i don't know if it will work is for me to scan an nfc chip on the pn532 and the esp will collect the address and notify me on my android phone. after reading so much i think it is possible. are you able to give me any advice or direct me to a video that will give me all the info i need to be able to do this please.

    • @mothunderz
      @mothunderz  Рік тому

      Yes, that is definitely possible. I have not worked with the PN532 NFC board yet, but what I would recommend you is:
      1) make the PN532 work stand-alone so that if you scan an NFC chip that you see the read-out on the Serial interface
      2) the next step is to make communication work with your phone. There are three ways to do that: Bluetooth (as in the video here), BLE (ua-cam.com/video/RvbWl8rZOoQ/v-deo.html) and WEB-based (ua-cam.com/video/15X0WvGaVg8/v-deo.html). Evaluate these three methods and choose one that you like best. Then you make sure that works stand-alone where the Arduino creates a random String and you show that on the phone
      3) Finally you combine the two independent codes and you are done
      Good luck with your project!

  • @africantech5
    @africantech5 15 днів тому

    Thank you so much Mi o ni WA e ti

  • @denniskoroluk4964
    @denniskoroluk4964 3 місяці тому

    Great video. I am having compile errors. I am using ESP32-S3. Will this work with this version ESP32?

    • @denniskoroluk4964
      @denniskoroluk4964 2 місяці тому +1

      I answered this myself. After some research the ESP32-S3 is a BLE device and not Bluetooth classic which supports SPP. ESP32-S3 lacks hardware to support SPP and therefore will not work. I loaded this code on a standard ESP32 and it works perfectly.

  • @lokergames7058
    @lokergames7058 25 днів тому

    nc work

  • @electronicslover1120
    @electronicslover1120 2 роки тому

    Hi, amazing tutorial, can u make app to connect using Bluetooth low energy, please please please

    • @mothunderz
      @mothunderz  2 роки тому +1

      I tried BLE with MIT App Inventor, but that was not very stable unfortunately. I since then started programming Xamarin and with that BLE is more stable, but Xamarin has a very steep learning curve so you must be quite devoted to make an app with that. At the moment I dont really have time to make vids, but will give it some thought when work becomes more manageable again.

    • @electronicslover1120
      @electronicslover1120 2 роки тому

      @@mothunderz Thankyou very much

    • @mothunderz
      @mothunderz  Рік тому

      Here the vid with MIT App Inventor:
      ua-cam.com/video/RvbWl8rZOoQ/v-deo.html
      in addition I have added a video on Xamarin:
      ua-cam.com/video/SfGuLsKeOeE/v-deo.html

  • @rob60
    @rob60 3 роки тому +1

    Great video. I'm trying to make an app with MIT inventor for a dc motor controller that has forward, reverse buttons with a speed slider control bar. I am using an esp32 and L298N but not being very successful. If you can do this then I would be grateful if you can post an ESP32 sketch with MIT design app and blocks. ? Rob

    • @mothunderz
      @mothunderz  3 роки тому +1

      I have not dealt with sliders yet in MIT. At the moment I am first finishing another project, but after that can look into it.

    • @rob60
      @rob60 3 роки тому

      @@mothunderz Thanks for your reply and great if you can help. . I found a good video with an arduino board if this helps but none with an ESP32
      ua-cam.com/video/81pZZGun1oo/v-deo.html

    • @mothunderz
      @mothunderz  3 роки тому

      Hi Rob, pls see the link below for a quick example of how to use a slider with the ESP32. I added a description of this quick implementation in the readme. Let me know if this works for you.
      github.com/mo-thunderz/Esp32BluetoothSliderApp

    • @rob60
      @rob60 3 роки тому

      @@mothunderz Thanks I've downloaded your files and it will give me something to work with. I'm running a 12v DC motor so I'll have to link the ESP32 to an L298N motor driver. The L298N will receive 12v and output 12v to the motor. It will also power the ESP32 with 5V. I'll have to alter your sketch outputs to define ENA, IN1, IN2 for the L298N. and set the PWM properties. A bit more work to be done but hopefully I'll get there.

    • @mothunderz
      @mothunderz  3 роки тому

      Good luck, I dont have an L298N here, so cant help you more than this for now. The code for the ESP32 will be super simple: I already made the slider from 0 to 255, so in the "if (set_slider) {" section you can just write the value "incoming" to an analog port. Please note though that the ESP32 operates at 3.3V, not at 5V. However, from what I can see here it should still work:
      forum.arduino.cc/t/arduino-l298n-motor-driver-and-arduino-due/464885/9

  • @williamhyrkas698
    @williamhyrkas698 Рік тому +1

    Sorry, I changed the board to ESP32-WROOM-DA module and it now compiles.

    • @mothunderz
      @mothunderz  Рік тому

      Great to hear you managed to solve the problem 🙂

  • @shaknit
    @shaknit Рік тому

    Does this work the same way with an iphone or are the more steps that need to be taken

    • @mothunderz
      @mothunderz  Рік тому

      Unfortunately an Iphone does not support serial Bluetooth. Instead you must use BLE. I havent gotten around to making a BLE video, but plan to do that next. However, if you want to control your ESP32 on an Iphone then WiFi may be an alternative. In this video I show how to control LEDs through WiFi:
      ua-cam.com/video/ZJnXKD0LqDo/v-deo.html

  • @BartoszPawlak
    @BartoszPawlak Рік тому

    HI. I'm having problems with the BluetoothSerial. Code is compiled properly and send to esp, but I cannot find bluetooth device on my phone :( I tried many different coded for that (examples incl.) and no luck. I'm using newest IDE 2.0.1 but i got the same problem on older 1.8.x. I tried two different ESP. SimpleBLE advertises device properly.

    • @mothunderz
      @mothunderz  Рік тому +1

      Hi Bartosz, too bad the code is not working for you. Here some pointers:
      1) make sure it is an Android phone -> Iphones wont work for BluetoothSerial
      2) On your phone, go to settings -> connections -> Bluetooth and search for your ESP32 there (make sure your ESP is running). You should see "ESP32_Control" in the list. Connect to this device. Now you can run the code and the ESP should show up
      3) MIT App inventor updated the BluetoothClient without backward compatibility. As a result, the MIT App Inventor code for logging on changed slightly from what is shown in the video. Please download ESP32BluetoothApp.aia from my github page and upload this in MIT app inventor.
      Hope this helps. Best Regards, Sander

    • @BartoszPawlak
      @BartoszPawlak Рік тому

      @@mothunderz i did try to find it in the bluetooth and also with the app nRF Connect (which is scanning all the BT devices even BLE) and i cannot see the device, just like it is not advertising properly :(. i tried to search it also from pc and no luck :(
      Also i did not install application on the phone yet. I;m stuck at finding the bluetooth device. Shoud i just try with the app ?? (I saw you comment on the new version and i get the new one)
      I should have started with it - thanks for the tutorials, they are great!

    • @BartoszPawlak
      @BartoszPawlak Рік тому

      Ok case solved .... i checked on the other phone and it was able to find that... After restart of my phone it works ... lost a whole day for that ;)

  • @ryanh5370
    @ryanh5370 7 місяців тому

    i have it uploaded to my esp32 and it showed like yours with the last line Hard resetting via RTS pin...
    but i do not see in in my bluetooth devices

    • @mothunderz
      @mothunderz  6 місяців тому

      Sorry to hear that this is not working. It is a bit tricky to debug without more information. What version ESP32 are you using exactly? Have you tried if the esp32 is detected in the nRF app? Where are you checking for the bluetooth device? In the MIT app, or in Android itself by long-clicking on the Bluetooth icon and scanning there for devices?

  • @williamhyrkas698
    @williamhyrkas698 Рік тому

    BluetoothSerial ESP_BT; on line 9 of the arduino sketch gives this error when compiling:
    "'BluetoothSerial ESP_BT' does not name a type
    "

    • @mothunderz
      @mothunderz  Рік тому

      Sorry to hear that it is not working for you. What IDE are you using? Arduino IDE? Which version? Did you make sure that the ESP32 is selected under Tools -> Board? I myself have not encountered this error so far, so hope you can resolve it.

  • @inigovillar7640
    @inigovillar7640 2 роки тому

    Hi mo_thunderz, thank you very much for the tutorial but I have followed all your steps and I can not connect with the esp32, it is synchronized because the esp32_Control the android mobile disappears from the screen but it does not mark the status and nothing is seen through the serial port of arduino ide.
    If I eliminate the block of errors in the inventor app, it appears in the mobile error 515 not connected to bluetooth device.

    • @mothunderz
      @mothunderz  2 роки тому

      Dear Inigo, I am sorry to hear the app is not working for you. You mention that you have a "block of errors" in the inventor app. Do you mean that when you go to the "blocks" section of MIT App Inventor that you see on the left bottom errors/warnings? This should not be. I just downloaded the exact code again from Github as I posted it and it should have no errors or warnings. If you do have an error here, can you tell me what this error is?

    • @inigovillar7640
      @inigovillar7640 2 роки тому

      @@mothunderz Dear mo: downloading the exact code from github as you published it, the mobile's .apk file does nothing, does not put or connect, If in inventor app I remove the error block, I copy it and another .apk file comes out when running it in The mobile synchronizes me but the connected status does not appear and the errors of 515: no connected to bluetooth device and 516: unable to write: broken pipe appear, but after a lot of tinkering it has been solved by changing the mobile (the old era of android 3.4) and the one that works is from android 5.4.
      Thank you very much for your time and keep on doing an extraordinary job

    • @mothunderz
      @mothunderz  2 роки тому

      Dear Inigo, thank you very much for your comment. I did not realize that MIT App Inventor only works properly on a modern Android version. According to the MIT App Inventor website it should run on "Android Operating System 2.3 ("Gingerbread") or higher", but probably this is a requirement of the Bluetooth functions used. Great to hear you got it working 😃👍

  • @medmeed3741
    @medmeed3741 2 роки тому

    ive got this ereur help please
    no matching function for call to 'BluetoothSerial::BluetoothSerial()'

    • @mothunderz
      @mothunderz  2 роки тому

      Dear Med, sorry to hear the code did not compile for you. It is tricky to debug without additional information, but here some pointers
      1) Please make sure you have the ESP32 board configured under "Tools"->"Board"->"ESP32Arduino"
      2) It could be that you have defined (or downloaded) a class yourself called BluetoothSerial in the "Arduino\libraries\" folder. Please make sure that this is not the case.
      3) If everything fails, can you try on a different PC? Install the Arduino IDE, download the ESP32 boards and try to compile with an ESP32 selected.
      Good luck!

  • @davyS4v
    @davyS4v Рік тому

    is it possible to control esp32 via USB-TTL converter sending data to it from an app created with MIT app inventor?

    • @mothunderz
      @mothunderz  11 місяців тому

      I have not looked into USB-TTL so unfortunately cannot comment to it.

  • @KinCony
    @KinCony 3 роки тому

    good

    • @mothunderz
      @mothunderz  3 роки тому

      Thanks for the feedback KinCony :-)

  • @iyussukendar
    @iyussukendar Рік тому

    Hi, thanks for the great video. It is working perfectly on AI companion but when I try to build the .apk and install the .apk on my android phone, it is not working on the part Connect To Bluetooth. The list of BluetoothClient are not showing up. Do you have any idea what is causing this matter since it is working perfectly fine on AI companion?

    • @mothunderz
      @mothunderz  Рік тому

      Thank you VERY much for your comment. Some way or the other MIT App Inventor changed something (again) with the Bluetooth interface. I now had to add one more permission (BLUETOOH_SCAN) and in addition I upgraded the Bluetooth.Client to the 2023 version. Please download the latest version from my github and try again:
      github.com/mo-thunderz/Esp32BluetoothApp
      Let me know if it works now!

    • @iyussukendar
      @iyussukendar Рік тому

      @@mothunderz It is working. Thanks a lot for a very quick reply..

    • @mothunderz
      @mothunderz  Рік тому

      You're welcome, very glad to hear that it is working!

  • @Alex-eu6kn
    @Alex-eu6kn 8 місяців тому

    Does this mobile App works also without Internet connection after testing and developing ?

    • @mothunderz
      @mothunderz  6 місяців тому

      Yes it does. You should compile the app to .apk if you want to run without internet connection.

  • @saketsingh3539
    @saketsingh3539 2 роки тому

    what happen if we want to use this following code for more than 15 button?

    • @mothunderz
      @mothunderz  2 роки тому

      There are many ways to control more than 15 buttons. If you watch part 2 and part 3 I show how to control up to 128 different buttons, sliders, etc.

  • @saran223081
    @saran223081 3 роки тому +1

    🌹

  • @slein55
    @slein55 8 місяців тому

    I cant get it to work when i remove connection to the Computer and run only external powersupply, WHY??

    • @mothunderz
      @mothunderz  6 місяців тому

      This could have various reasons, but what I suspect is that you are working from a laptop and that the power supply of your USB is not very powerful. Maybe you also have low resistors used with the LEDs as well which also increases the power draw. Hope this helps

  • @mubasirkhafid9582
    @mubasirkhafid9582 9 місяців тому

    hey mr is it possible to connect the mit app with bluetooth in real time?

    • @mothunderz
      @mothunderz  9 місяців тому

      I am not sure what the question is: bluetooth is always a real-time connection. Do you mean that it automatically connects without one having to manually select where to connect to -> yes that can be done -> just skip the "selection process" and search for a certain name to connect to.

  • @nukecoba4755
    @nukecoba4755 8 місяців тому

    Hii
    I have problem with "BluetoothSerial.h" it give me error Verifying ...
    Can someone help me to understand what i do wrong?
    Thanks for the awsome video

    • @mothunderz
      @mothunderz  6 місяців тому

      Thank you for the feedback. Sorry to hear you are experiencing problems with the code. Did you try the final code for the project? Did you make sure you compile it for ESP32 (ONLY then it can compile without errors). Here the final code:
      github.com/mo-thunderz/Esp32BluetoothApp

  • @ArbazKhan-pb1hr
    @ArbazKhan-pb1hr Рік тому

    Sir if clicked push button on arduino I want a text message in mit app, how can do it? Sir plz help

    • @mothunderz
      @mothunderz  Рік тому

      Please refer to Part 2 and Part 3 of this video series. If you have the code from Part 3 -> you can send data from the Arduino to MIT App Inventor with:
      send_BT(id, value);
      Say you define id=8 for your button, then if the button is pressed you do send_BT(8, 1)
      use the code from part 3 in MIT App Inventor and there in the section "When Clock1.Timer" this command will be received. You can check if global id == 8 right under the dark green field that writes the received id and value to the label and implement your code there.

  • @SouldiacShaoder
    @SouldiacShaoder 5 місяців тому

    i can't find bluetooth with iphone SE3 , i necressy to used Android ?

    • @mothunderz
      @mothunderz  3 місяці тому

      Unfortunately this code is for Android only...

  • @vancefd7399
    @vancefd7399 3 роки тому +1

    Can u make clock built in to esp32 & make timer by clock like blynk to turn on/off automatic by set time in mit app ?
    Im try but never succes. Hope u can help with video 🙏
    Thx.. from ur's new subscriber

    • @mothunderz
      @mothunderz  3 роки тому +1

      Hi Vance, I am not fully sure what you want to implement, but I think the main missing piece for you is communication from the ESP32 to the phone (in this video I only show communication from the phone to the ESP32). Pls confirm, not a problem to show you how to do that.

    • @vancefd7399
      @vancefd7399 3 роки тому +1

      @@mothunderz in the blynk app, there is a widget tool called "Timer", can you make something like that from the MIT App for esp32?
      Sorry for bad english 🙏😂

    • @mothunderz
      @mothunderz  3 роки тому +1

      Hi Vance, please check out my follow-up video on how to control an ESP32 with MIT app inventor. I tried to specifically address your request in the second part of the video. Good luck with your project!
      ua-cam.com/video/OvWd_xZ12E4/v-deo.html

    • @vancefd7399
      @vancefd7399 3 роки тому

      @@mothunderz thx so much, hope u still make next step for this project. I cant wait to learn more from u 🙏😂🔥

    • @mothunderz
      @mothunderz  3 роки тому +1

      Hi Vance, some way or the other UA-cam does not let me answer the comment you wrote in the Part 2 video, so let me answer here. I have checked the video you sent me on the functionality you would like to have. In principle you should be able to make this with the code of part 2, the one thing you need in addition is to make the ESP32 aware of the time of day. This can be done in many ways. You could tell the ESP32 the time-of-day through Bluetooth, or you could do this by giving the ESP32 access to internet: github.com/jrickard/ESP32-TOD
      Hope this helps!

  • @yaochalo9692
    @yaochalo9692 2 роки тому

    How i can receive value from android studio app Instead of mit app ?

    • @mothunderz
      @mothunderz  2 роки тому

      I am not familiar with android studio, but did play around with Angular. The concept is going to be the same, just the coding different. Unfortunately I dont have code to get you started as I am not familiar with Android Studio...

    • @yaochalo9692
      @yaochalo9692 2 роки тому

      @@mothunderz thank you..

  • @MrMurat1997
    @MrMurat1997 2 роки тому

    what does the 516 errornumber do?

    • @mothunderz
      @mothunderz  2 роки тому

      Could it be that you are working on an old Android version? That can be the cause of this problem. See as well:
      community.appinventor.mit.edu/t/how-to-fix-error-516-unable-to-write-broken-pipe/20693

  • @RaPtor452
    @RaPtor452 2 роки тому

    Can anyone help me? I created an app via this tutorial but would like to create code for the ESP32 to control NeoPixel matrix LEDs. Is anyone familiar with that?

    • @mothunderz
      @mothunderz  2 роки тому

      @RaPtor452, unfortunately I do not have this device myself, but Adafruit has included various examples in the library, so I would recommend to check these out. However, if you want to control the NeoPixel matrix with the ESP32, the main challenge will be that the ESP32 operates at 3.3V while the NeoPixel needs 5V (at least the one I have found on the internet). In order for it to work you properly, you will most likely need to convert the 3.3V data signal from the ESP32 to 5V. You will need some additional hardware for that (like for instance the 74AHCT125 level shifter). Good luck with your project!

    • @RaPtor452
      @RaPtor452 2 роки тому

      @@mothunderz Thanks for your reply. I will take a look at the Adafruit examples. I was btw able to light up the Neopixel with the ESP32, but was using USB input, so the voltage was 5V.

    • @mothunderz
      @mothunderz  2 роки тому +1

      @RaPtor452, yes, with 5V you will be able to light up the Neopixel. I was talking about the data signal from the ESP32 to the Neopixel. The Neopixel expects a datasignal between 0V and 5V while the ESP32 gives a signal between 0V and 3.3V. It can be that it works for you, but online I have seen that sometimes some LEDs dont work if you use a 3.3V drive signal from the controller.

  • @mustafa97radhwan
    @mustafa97radhwan Рік тому

    how can l send more than 1byte??

    • @mothunderz
      @mothunderz  Рік тому

      See my comment in video Part 3

  • @AdiSaputra-ys4bv
    @AdiSaputra-ys4bv 2 роки тому

    can esp32 use bluetooth password in this case?

    • @mothunderz
      @mothunderz  2 роки тому

      Hi Adi, my apologies, but I have not tried to setup a password with Bluetooth yet

    • @AdiSaputra-ys4bv
      @AdiSaputra-ys4bv 2 роки тому

      @@mothunderz can u try? 😬

  • @nikdonikde1717
    @nikdonikde1717 Рік тому

    Mít app iinventor

  • @bezelyesevenordek
    @bezelyesevenordek 2 роки тому

    bruh