MoThunderz
MoThunderz
  • Видео 26
  • Просмотров 784 835
ESP32: How to create a config file with SPIFFS or LittleFS
When you power cycle or switch of the ESP32 all variables are lost. So how do you save your settings? In this video I show how to create a config file so you can store any number of variables. There are two versions of the code on Github, namely one using the SPIFFS library and one using the LittleFS library. If you are using the ESP32 board library v2.0.4 or newer, please use LittleFS, otherwise use SPIFFS. The video explains the SPIFFS version, but the LittleFS code works just the same.
Github:
github.com/mo-thunderz/Esp32ConfigFile
Chapters:
0:00 Introduction
0:28 How to store multiple variables in a string with JSON
1:02 Download from Github - NOTE: link has been updated in Video Descriptio...
Просмотров: 13 740

Видео

IoT - real time temperature chart in Webbrowser with ESP32 and WiFi
Просмотров 11 тыс.Год назад
In my series on ESP32 and Wifi I covered how to show live data in a web browser. As per request I provide a specific example in this video and show real time temperature readings from a DHT22 sensor in a webbrowser using an ESP32. Github: github.com/mo-thunderz Direct link to code: github.com/mo-thunderz/ESP32WifiTempSensor The underlaying code for chart generation is described here: ruclips.ne...
Xamarin BLE App for latest Android releases (12 and higher)
Просмотров 11 тыс.Год назад
This video explains a simple BLE Explorer written in Xamarin (using plugin.BLE). In essence the app is a simple version of the nRF app: It allows the user to select a BLE device, then shows all available services. Upon selection of a service it will show the available Characteristics. One can then read/write strings or register to Characteristics with "notify" enabled. Code is available here: g...
BLE with ESP32 tutorial part 3: many characteristics and Server Callback for Client commands
Просмотров 10 тыс.Год назад
In part 3 of this tutorial we will cover two important features for the ESP32 server, namely: 1) How to use many characteristics 2) How to create a callback function so that the client can send commands to the server Starting points for coding along: github.com/mo-thunderz/Esp32BlePart1 github.com/mo-thunderz/Esp32BlePart2 Final code for callback function: github.com/mo-thunderz/Esp32BleServerC...
Create a BLE app for your mobile phone! Control an ESP32 with BLE
Просмотров 69 тыс.Год назад
Summary: In this video I show you how to create your own Bluetooth Low Energy (BLE) App to control an ESP32 (Arduino platform). For creation of the app I use the MIT app inventor in combination with the MIT AI2 Companion. I have tested this on an Android phone. I have heard in the meantime that unfortunately MIT App Inventor does not support BLE for the Iphone yet. Please make sure your ESP32 h...
BLE with ESP32 tutorial part 2: the client
Просмотров 35 тыс.Год назад
In part 2 of this tutorial we will cover the receiver for ESP32 to ESP32 communication and explore how Notify, Read and Write work with Bluetooth Low Energy (BLE). Link for the pre-defined Services, Characteristics and Descriptors: www.bluetooth.com/specifications/assigned-numbers/ Starting point for the server: github.com/mo-thunderz/Esp32BlePart1 Final code: github.com/mo-thunderz/Esp32BlePar...
BLE with ESP32 tutorial part 1: the Server
Просмотров 92 тыс.Год назад
This tutorial explains how to use Bluetooth Low Energy (BLE) with the ESP32. In Part 1 first some BLE basics are discussed and then focuses on the BLE Server. Link for the pre-defined Services, Characteristics and Descriptors: www.bluetooth.com/specifications/assigned-numbers/ Link for UUID generation: www.uuidgenerator.net/ Code: github.com/mo-thunderz/Esp32BlePart1 Correction: 05:13 the "ESP3...
How to use a Rotary Encoder with an Arduino - CODE EXPLAINED!
Просмотров 37 тыс.Год назад
In this video we will have a look at rotary encoders and in particular go through a robust and reliable code for the Arduino. The code in the video can be downloaded here: github.com/mo-thunderz/RotaryEncoder Make sure that the pins used to connect the rotary encoder to support interrupts. See: www.arduino.cc/reference/de/language/functions/external-interrupts/attachinterrupt/
ESP32: Plot graphs through a webserver/webportal (WiFi Part 4) - Arduino
Просмотров 37 тыс.2 года назад
This video shows how to plot graphs / charts in real-time with the ESP32 webserver/webportal. This will allow you for instance to plot sensor values over time when using the ESP32 as IoT gateway. This video expands on the webserver code explained in part 3: ruclips.net/video/ZJnXKD0LqDo/видео.html Starting point for coding along is: github.com/mo-thunderz/Esp32WifiPart3 Final code can be downlo...
ESP32 Access Point and Router connection explained
Просмотров 50 тыс.2 года назад
This video will explain how to setup an ESP32 as an Access Point or alternatively how to connect it to a router. The ESP32 used is the ESP32-WROOM-32D. Code for the simple connection available at: github.com/mo-thunderz/ESP32AccessPoint Code for JSON example available at: github.com/mo-thunderz/Esp32WifiPart2 Check out my other ESP32 videos as well: ruclips.net/p/PL94tI_1M51VVnRYDAaI8tfxW6HgtFb...
ESP32: Control LEDs through a webserver/webportal (WiFi Part 3) - Arduino
Просмотров 29 тыс.2 года назад
In part 3 of the ESP32&WiFi series I show how to control LEDs connected to an ESP32 through a webserver/webportal. Programming is done through the Arduino IDE. This video expands on the webserver code explained in part 2: ruclips.net/video/15X0WvGaVg8/видео.html Starting point for coding along is: github.com/mo-thunderz/Esp32WifiPart2 Final code can be downloaded from: github.com/mo-thunderz/Es...
ESP32: Webserver, Websockets and JSON (WiFi Part 2) - Arduino
Просмотров 83 тыс.3 года назад
Part 2 focuses on how to use the ESP32 to setup a webserver, configure websockets and use JSON for data exchange between the client and ESP32 server. Programming is done through the Arduino IDE. For the code refer to: github.com/mo-thunderz/Esp32WifiPart2 For part 1 of this series, refer to: ruclips.net/video/0AlATlN95Y0/видео.html Might you have problems programming the ESP32, pls refer to: ru...
ESP32: WIFI Basics and sync to NTP clock (WiFi Part 1) - Arduino
Просмотров 25 тыс.3 года назад
In this series I will discuss the WiFi capabilities of the ESP32. Part 1 covers the WiFi basics and shows how to sync to an NTP clock. I used the ESP32-WROOM-32D for the demonstration. Note: at 3:55 I just noticed that I forgot to explain the connectToNetwork() function. However, I cover that code basically in the second example at 7:33. For the code refer to: github.com/mo-thunderz/Esp32WifiPa...
Create your own App! Control an ESP32 (Arduino) via Bluetooth - Part 3
Просмотров 18 тыс.3 года назад
IMPORTANT UPDATE (30.09.2022): MIT App Inventor updated their Bluetooth library without backward compatibility. Might you have downloaded this code from my Github page before 30.09.2022, please download the updated version. Changes only affect the general Bluetooth connection stuff discussed in Part 1. Part 1 and 2 of this series focused on realization of a bi-directional Bluetooth communicatio...
Create your own App! Control an ESP32 (Arduino) via Bluetooth - Part 2
Просмотров 47 тыс.3 года назад
IMPORTANT UPDATE (30.09.2022): MIT App Inventor updated their Bluetooth library without backward compatibility. Might you have downloaded this code from my Github page before 30.09.2022, please download the updated version. Changes only affect the general Bluetooth connection stuff discussed in Part 1. Part 1 of this series focused on controlling an ESP32 via Bluetooth with your phone (using MI...
Control your DAW with your phone! (Cubase, Cakewalk, etc) - NO APP REQUIRED
Просмотров 1,7 тыс.3 года назад
Control your DAW with your phone! (Cubase, Cakewalk, etc) - NO APP REQUIRED
MackieControl Explained: How does an external controller communicate with the DAW?
Просмотров 6 тыс.3 года назад
MackieControl Explained: How does an external controller communicate with the DAW?
Create your own App! Control an ESP32 (Arduino) via Bluetooth - Part 1
Просмотров 140 тыс.3 года назад
Create your own App! Control an ESP32 (Arduino) via Bluetooth - Part 1
Programming ESP32: how its done and issues that might occur [solved]
Просмотров 38 тыс.3 года назад
Programming ESP32: how its done and issues that might occur [solved]
Max for Live (Ableton) with Arduino programming Tutorial - Part 1
Просмотров 5 тыс.3 года назад
Max for Live (Ableton) with Arduino programming Tutorial - Part 1
How to use a vacuum desoldering gun
Просмотров 5 тыс.3 года назад
How to use a vacuum desoldering gun
Arduino based LFO+ADSR, controlled through Ableton with Max for Live (Part 2: installation and code)
Просмотров 7583 года назад
Arduino based LFO ADSR, controlled through Ableton with Max for Live (Part 2: installation and code)
How to send data between Ableton and Arduino/Teensy/ESP32 via USB
Просмотров 10 тыс.3 года назад
How to send data between Ableton and Arduino/Teensy/ESP32 via USB
How to create a low frequency oscillator (LFO) with an Arduino/ESP32/Teensy/etc (DIY)
Просмотров 6 тыс.3 года назад
How to create a low frequency oscillator (LFO) with an Arduino/ESP32/Teensy/etc (DIY)
How to create an ADSR envelope with an Arduino/ESP32/Teensy/etc (DIY)
Просмотров 3,7 тыс.3 года назад
How to create an ADSR envelope with an Arduino/ESP32/Teensy/etc (DIY)
Arduino based LFO+ADSR, controlled through Ableton with Max for Live (Part 1)
Просмотров 1,4 тыс.3 года назад
Arduino based LFO ADSR, controlled through Ableton with Max for Live (Part 1)

Комментарии

  • @JohnKnapp-l9r
    @JohnKnapp-l9r День назад

    Many thanks for this. Took me two goes but I got it working. Used it to make a speedometer for a model train. I can't say it was easy, but it was much easier than I expected. Now planning to add a load cell to make a dynamometer car.

  • @MrBrownpotato
    @MrBrownpotato День назад

    I've used it in a PID control thermostat project, works great - thank you!

  • @AbhishekMishra-mp7fr
    @AbhishekMishra-mp7fr 5 дней назад

    hello dear sir i am facing the follwoing problem in aurdion ide 1.8.19 while running the code please help me. ,, i also want to work under you please help me. C:\Users\GOPAL\Desktop\aurdino\arduino-1.8.19\examples\ESP32WebserverLedControl\ESP32WebserverLedControl.ino:101:7: warning: 'template<unsigned int N> class ArduinoJson::V720PB22::StaticJsonDocument' is deprecated: use JsonDocument instead [-Wdeprecated-declarations] StaticJsonDocument<200> doc; // create JSON container ^~~~~~~~~~~~~~~~~~ In file included from C:\Users\GOPAL\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson.hpp:56, from C:\Users\GOPAL\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson.h:9, from C:\Users\GOPAL\Desktop\aurdino\arduino-1.8.19\examples\ESP32WebserverLedControl\ESP32WebserverLedControl.ino:17: C:\Users\GOPAL\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/compatibility.hpp:63:58: note: declared here class ARDUINOJSON_DEPRECATED("use JsonDocument instead") StaticJsonDocument ^~~~~~~~~~~~~~~~~~ C:\Users\GOPAL\Desktop\aurdino\arduino-1.8.19\examples\ESP32WebserverLedControl\ESP32WebserverLedControl.ino: In function 'void sendJson(String, String)': C:\Users\GOPAL\Desktop\aurdino\arduino-1.8.19\examples\ESP32WebserverLedControl\ESP32WebserverLedControl.ino:141:5: warning: 'template<unsigned int N> class ArduinoJson::V720PB22::StaticJsonDocument' is deprecated: use JsonDocument instead [-Wdeprecated-declarations] StaticJsonDocument<200> doc; // create JSON container ^~~~~~~~~~~~~~~~~~ In file included from C:\Users\GOPAL\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson.hpp:56, from C:\Users\GOPAL\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson.h:9, from C:\Users\GOPAL\Desktop\aurdino\arduino-1.8.19\examples\ESP32WebserverLedControl\ESP32WebserverLedControl.ino:17: C:\Users\GOPAL\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/compatibility.hpp:63:58: note: declared here class ARDUINOJSON_DEPRECATED("use JsonDocument instead") StaticJsonDocument ^~~~~~~~~~~~~~~~~~ fork/exec C:\Users\GOPAL\AppData\Local\Arduino15\packages\esp32\tools\esptool_py\3.3.0/esptool.exe: This version of %1 is not compatible with the version of Windows you're running. Check your computer's system information to see whether you need a x86 (32-bit) or x64 (64-bit) version of the program, and then contact the software publisher. Error compiling for board ESP32 Dev Module.

  • @hemersonallan
    @hemersonallan 6 дней назад

    Awesome Tutorial ! Greetings from Brazil !!!

  • @techideas6876
    @techideas6876 9 дней назад

    you have deleted the client.ino file.pls re upload this.

    • @mothunderz
      @mothunderz 6 дней назад

      My apologies for this. Where exactly did I delete the client.ino file? The repository that goes with this video is: github.com/mo-thunderz/Esp32BlePart2/tree/main/Arduino I was able to find all files here. Can you give me a more specific folder on github where the file is missing? Thanks

  • @Mathing
    @Mathing 9 дней назад

    Very helpful, thanks!

  • @wojtekdab7760
    @wojtekdab7760 10 дней назад

    Fantastic tutorials

  • @ernestorivero9909
    @ernestorivero9909 12 дней назад

    Muy bueno el video pero con las complicaciones que tiene programar con ble yo sigo usando bluetooth serie que es más super sencillo de programar aunque consuma un poquito más que el ble

  • @muluhsenet7582
    @muluhsenet7582 12 дней назад

    sir please can you do a video how to use .net maui than xamarine please

    • @mothunderz
      @mothunderz 6 дней назад

      Thank you for your interest in my channel. I am currently swamped with work and as such cannot make further videos unfortunately.

  • @SeekingSuccess22
    @SeekingSuccess22 14 дней назад

    how would you make this app a very user friendly beautiful app?

    • @mothunderz
      @mothunderz 6 дней назад

      Thank you for your interest in my channel. There are very many ways to make an app intuitive, however, I cannot make a video on this at the moment as I am swamped with work, hope you understand...

  • @ronaldmarkundag346
    @ronaldmarkundag346 18 дней назад

    Ringbuffer(size_t length, ringbuf_type_t type = RINGBUF_TYPE_NOSPLIT); please help me whats wrong with this

  • @koolway
    @koolway 20 дней назад

    For some time now, I wanted to implement a BLE sensor for an ergometer that already displays speed, power, cadence, etc... so it can be sent to my watch. You got me going, just ordered the ESP32 to start implementing it. Thank you for the quality content you provided!!!

    • @mothunderz
      @mothunderz 6 дней назад

      Thank you very much for your feedback, glad to hear the video helped you out!

  • @BiqBanq
    @BiqBanq 21 день назад

    Instead of seeing website in our IP address, can we make it on real website? Any difference in the code? Thanks in advance...

    • @mothunderz
      @mothunderz 6 дней назад

      You can look into mDNS for this. Alternatively you can use your router at home to configure a name instead of IP address

  • @valked6485
    @valked6485 22 дня назад

    Finally! Finally I found someone who clearly explain it! Thanks so much!

  • @nafizahmed4926
    @nafizahmed4926 29 дней назад

    is it ios compatible?

    • @mothunderz
      @mothunderz 6 дней назад

      Unfortunately the bluetooth extension is not yet available for ios: community.appinventor.mit.edu/t/bluetooth-on-ios/32797/9

  • @retsalb3517
    @retsalb3517 29 дней назад

    Hey man, it's me again. Thank you for your tutorials! I have another question; can you make your android phone the client that receives the data through an MIT invented app? Thank you!

  • @retsalb3517
    @retsalb3517 29 дней назад

    hey man, thank you for the tutorial. I have a question, can you still connect this code into the MIT app inventor to make a new app? thank you so much!

  • @yustikaslamet9432
    @yustikaslamet9432 29 дней назад

    How to do this but with ble?

    • @mothunderz
      @mothunderz 6 дней назад

      Like this: ruclips.net/video/RvbWl8rZOoQ/видео.html

  • @lolguppyo
    @lolguppyo Месяц назад

    I'm trying to do this the other way lmao, i want to make a physical button connected to a esp32 do something on a app

    • @mothunderz
      @mothunderz 6 дней назад

      you can poll the pin on the ESP32 that has the physical button and send a command to the app when the state of the button changed. Just dont forget to debounce the button

  • @varunraghuwanshi3177
    @varunraghuwanshi3177 Месяц назад

    simply great headsofff

    • @mothunderz
      @mothunderz 6 дней назад

      Thank you for your feedback :-)

  • @rafaelbarajas650
    @rafaelbarajas650 Месяц назад

    Thank you very much, your explanation is very good.

  • @bobbycount1503
    @bobbycount1503 Месяц назад

    Still a excellent way to transmit short information. Thank you for this example and excellent tutorial! Implemented it to my project and works like a charm! 😀 I'm only a bit confused why it only transmits 14 bits and not 16.

    • @mothunderz
      @mothunderz 6 дней назад

      Thank you! I "sacrificed" two of the bits to separate the ID from the value. That way, if the channel is out of sync you can always figure out if you receive an ID or a value.

    • @bobbycount1503
      @bobbycount1503 6 дней назад

      @@mothunderz Thanks! now i've got it 😄

  • @ambroribo6079
    @ambroribo6079 Месяц назад

    very interesting video, Thanks I would like to synchronize my Ds3231 RTC every day using the ntp: How could I do that please ? Thanks for all regards

    • @mothunderz
      @mothunderz 6 дней назад

      This is very well possible, though I dont have a Ds3231 RTC so have not looked into this yet.

  • @colinfinch8716
    @colinfinch8716 Месяц назад

    Hi i used part1 it connected to esp32 wroom but if i moved away from esp32 say 5m it does not connect

    • @mothunderz
      @mothunderz 6 дней назад

      sounds to me like a problem with the antenna / reception. does the ESP32 have a small connection for an antenna? Some ESPs dont have a built in antenna and need one connected to it

  • @sahanpanditharathne2765
    @sahanpanditharathne2765 Месяц назад

    can you do a video on how to save data on an external SPI chip like W25QXX

    • @mothunderz
      @mothunderz 6 дней назад

      My apologies, but I am swamped with work and cannot make any videos at the moment

  • @GamerDudeBYT
    @GamerDudeBYT 2 месяца назад

    for some reason this line: Output.Text += Encoding.UTF8.GetString(recievedBytes, 0, recievedBytes.Length) + Environment.NewLine; errors on the .Length

  • @benarcher372
    @benarcher372 2 месяца назад

    Super clear and, for me, with the perfect level of detail. Thanks!

    • @mothunderz
      @mothunderz 6 дней назад

      Thank you very much for your feedback!

  • @guestofmiketraveler4813
    @guestofmiketraveler4813 2 месяца назад

    Hi Mo, I have been looking for a solution like this very long. It covers everything i wanted to do from the Arduino to the buttons on the website. And the real time updating with the Json system. Wonderful. Thank you so much for your contribute. Very Good. 5 Stars from me.

    • @mothunderz
      @mothunderz 6 дней назад

      Thank you very much for the feedback Mike!

  • @rajaramanv
    @rajaramanv 2 месяца назад

    To install this library, type only 'websockets' in Arduino IDE library manager. There will be the usual 'ArduinoWebSockets' library by Gil Maimon, and a few others like 'Fast web sockets'. Skip them. Scroll till you get 'WebSockets' by Markus Sattler.

  • @aliqureshi2157
    @aliqureshi2157 2 месяца назад

    very informative, thank you so much

  • @osmanpasha_diy
    @osmanpasha_diy 2 месяца назад

    Apparently these BT permissions only work on Android 12+. For older devices you need android.permission.BLUETOOTH and FineLocation

  • @rajaramanv
    @rajaramanv 2 месяца назад

    All the information you need to get started with web sockets - neatly shrink wrapped into a 35 minute video. Excellent!

    • @mothunderz
      @mothunderz 6 дней назад

      Youre welcome, glad it worked for you :-)

  • @masdikaaliman6425
    @masdikaaliman6425 2 месяца назад

    can i send two data type in one characteristic or receive it with a list or something ?

    • @mothunderz
      @mothunderz 6 дней назад

      Yes, of course possible. The easiest way is to combine them with a character you dont use in the strings, like $ for instance. You then transmit string1$string2 and separate them on the other side.

  • @virendrapawar4562
    @virendrapawar4562 2 месяца назад

    Absolutely Great, Simple and Clear Explanation.

  • @azzattar8422
    @azzattar8422 2 месяца назад

  • @jumbo999614
    @jumbo999614 2 месяца назад

    I don't know why when I use slider I sometimes get float number instead of integer and my serial doesn't print if it's not integer. For example. From phone to ESP32: ID: 1, value: 170.5 Serial monitor: nothing. From phone to ESP32: ID: 1, value 170 Serial monitor: Id: 1 val: 170.

    • @mothunderz
      @mothunderz 6 дней назад

      interesting, have not seen this behavior. Easiest way would be to round the value from the slider before processing.

    • @jumbo999614
      @jumbo999614 6 дней назад

      @@mothunderz Thank you replying. Yes. I fixed the problem by rounding the value before sending it like you suggested. Anyway, I'm waiting for your new video. You made great tutorial.

  • @LucianoVeneziano
    @LucianoVeneziano 2 месяца назад

    Fantastico job!

  • @TheRoadTaken
    @TheRoadTaken 2 месяца назад

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

    • @mothunderz
      @mothunderz 6 дней назад

      Sure, you can store persistent data like this: ruclips.net/video/Q3vV3MdOxAU/видео.html

    • @TheRoadTaken
      @TheRoadTaken 6 дней назад

      @@mothunderz thank you.

  • @MassimilianoBellugoogle
    @MassimilianoBellugoogle 2 месяца назад

    it works great with char1 but the app doesn't start when char2 blocks are in 😐... Thanks for this very detailed description and step by step creation

    • @mothunderz
      @mothunderz 6 дней назад

      sorry to hear that does not work, will try to re-produce the error

    • @MassimilianoBellugoogle
      @MassimilianoBellugoogle 6 дней назад

      @@mothunderz the crash was due to my typing mistake probably. Then I've also recognized that UUID shall not contains capital letters 😅, that's a tricky bug because there is no specific notification. Everything is working great! ... but I've simplified a bit the Arduino code 🙂

  • @dicklambert1503
    @dicklambert1503 2 месяца назад

    Do you know any reference about how to interpret the values in the packets?

  • @MrLRankin2
    @MrLRankin2 2 месяца назад

    You are one heck of a teacher. I commend you Sir.

  • @brightmoonworld
    @brightmoonworld 2 месяца назад

    I have some questions and solutions pls tell ms how can i ask

  • @bektinurwanto
    @bektinurwanto 2 месяца назад

    still Waiting you makes can save pdf to reporting 😊

  • @slidersson
    @slidersson 2 месяца назад

    Brilliant stuff!!

  • @stephanc7192
    @stephanc7192 2 месяца назад

    Great explanation

  • @africantech5
    @africantech5 2 месяца назад

    Thank you so much Mi o ni WA e ti

  • @Paul60760
    @Paul60760 2 месяца назад

    on my ESP32-c6 it crashes at webSocket.begin() (line78) Initializing WebSocket... Guru Meditation Error: Core 0 panic'ed (Load access fault). Exception was unhandled. Is there another way to do it without WebSocket?

  • @MarioPToledo
    @MarioPToledo 2 месяца назад

    I dunno what to do! Im just using a rotary with the atmega328p chip, and then I make the pull up resistor circuit + filters but the values still bounce any time.

  • @MariaMoita-f5w
    @MariaMoita-f5w 3 месяца назад

    Hello! Have you tried to connect 2 clients to 2 characteristics of one server?

  • @MariaMoita-f5w
    @MariaMoita-f5w 3 месяца назад

    Hello! Do you know if it is possible to connect 2 esp32 to 2 different characteristics of one server?