[#1] ESP32 on Zephyr OS: "Hello, world!" (Blinking LED) [Part 1]

Поділитися
Вставка
  • Опубліковано 31 сер 2022
  • The ESP32 family of microcontrollers are capable devices with many built-in peripherals, including Bluetooth and Wi-Fi. The official SDK and toolchain is the ESP IoT Development Framework (ESP-IDF) and uses FreeRTOS as its real-time operating system.
    However, in this tutorial series, we'll use the Zephyr real-time operating system and SDK to program the firmware for the ESP32.
    Links:
    Zephyr Getting Started Guide: docs.zephyrproject.org/latest...
    ESP32 specific instructions: docs.zephyrproject.org/latest...
    ESP32 Technical Reference Manual: www.espressif.com/sites/defau...
    Zephyr Devicetree Mysteries, Solved: • Zephyr Devicetree Myst...
    Github repository: github.com/bokfink/esp32_zeph...
  • Наука та технологія

КОМЕНТАРІ • 76

  • @milosjovanovic7678
    @milosjovanovic7678 4 дні тому

    Very good approach! It was easy to follow! Great series! Great job, just keep going!🔥
    Thank you!

  • @ryun_d3v
    @ryun_d3v 6 місяців тому +1

    Wow, what a video! Sufficently in-depth and practical. Great explanations without skipping anything that might be considered trivial to more experienced develpers. Congrats!

  • @user-ff2bz6sh7h
    @user-ff2bz6sh7h 6 місяців тому

    Perfect !! Best explaination of Zephyr. Please dont stop the video series

  • @GabeShaikh
    @GabeShaikh Рік тому +8

    Absolutely phenomenal series of videos! This is the best introduction to Zephyr I have found anywhere and I have looked far and long. Thank you so much! I am excited to see your channel take off and to keep learning with you.

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

      Very happy that the videos have been helpful! I'm sure that more Zephyr material will become available over time as adoption grows, but I suspect that the initial learning curve is quite steep for many people, especially those with limited previous exposure to Devicetree.

  • @BillXT11
    @BillXT11 Рік тому +5

    First clear and detailed video to learn Zephyr from scratch! This is great for us migrating from Arduino.

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

      Arduino is great, and that was how I was first introduced to microcontrollers as well. The community is also very large and there are loads of fantastic documentation and tutorials out there for Arduino. Hopefully, we will have more tutorials and learning materials for Zephyr over time, just like Arduino already has. Thanks for taking the time to leave your comment, it made my day :-)

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

    Thank you for these videos. Its the only resource that i have found so far explaining Zephyr clear and concise.

    • @thepullupresistor
      @thepullupresistor  10 місяців тому

      Thank you very much for your kind words. I'm glad that you found the video useful!

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

    Absolutely fantastic tutorial. First rate! Thankyou very much!

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

    Good work! Compact intro without unnecessary boilerplate content.

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

    Thanks for this video, it's a great step-by-step guide.
    One thing that tripped me up was that I needed an empty prj.conf file in the helloworld directory to make the "west build -b esp32" command work.
    Hope this helps anyone with troubles near May 2023.

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

      Thank you very much for letting others know about this!

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

      Thank you for this. I am gettign the same issue

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

    please keep going with this video series, Love it !

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

      Very happy to hear it :-) Working on the next video in the series now, I hope you'll find that useful, too.

  • @vacagonzalo
    @vacagonzalo Рік тому +5

    Top tier content. You should feel proud. Thank you for uploading.

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

      Oh wow, thank you so much for your kind words! I'll try my best to continue making content that is useful and informative :-)

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

      @@thepullupresistor please ...try with w5100 evb pico zephyr rtos

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

    Great Tutorial! Thanks a lot!

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

    Nice way to explain to newbies. Keep it up. 100/100

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

      Thanks for the feedback and encouragement. I will do my best.

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

    Super! wating for the full tutorials.... Love from France

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

    great tutorial

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

    Absolutely brilliant! Thank you very much!

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

      Thank you very much, and I hope you'll have lots of fun with Zephyr!

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

    Excellent! Keep up the good work!

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

    I absolutely love this. Thanks for uploading.
    Just one thing though, I would really appreciate a video on why to use Zephyr (some high level comparison with other RTOSes).

    • @thepullupresistor
      @thepullupresistor  10 місяців тому

      Very happy to hear that you enjoyed the video, thank you! And thank you for the suggestion on why to use Zephyr. I haven't planned to do a video like that (so far at least), as I suspect someone with more experience using Zephyr in real products would be better suited to provide their viewpoint. I am only using Zephyr for hobby use :-)

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

    Thank you so much, this was very helpful to me.

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

      I'm very glad to hear it! Thank you for taking the time to comment and letting me know.

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

    super helpful!

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

    Thank you for your highly educational video, very interesting. I just hope Espressif Systems could put a bit more resources like Nordic Semiconductor does to support Zephyr :) Looking forward to seeing the part 7 coming

    • @thepullupresistor
      @thepullupresistor  7 місяців тому +2

      I'm happy that you found the videos educational. I've been tied up with some other projects lately, but I still have the next two parts in progress...

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

    Perfect video. Well done!

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

      Thank you so much! I've still got so much to learn, but your feedback encourages me to keep trying to improve!

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

    Your six videos are the best tutorials in general I have seen so far on the web. Alongside JPJ's tutorials on Python and Tkinter. Very well structured, well explained and well presented. On top of that your calm voice makes the videos enjoyable even more. Thank you very much for all your effort! Do you by any chance plan to continue your video series?

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

      Thank you so much for your very kind feedback. It is really motivating to hear that you find the videos helpful. As to your question, yes, I do plan to continue. Unfortunately my time and attention has been focused on some other projects recently. I can't promise any time frames, though!

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

      I am very happy to hear that and looking forward for your next videos. Much luck with the other projects you are currently working on :)

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

    Good content .. Waiting for the upcoming videos...

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

      Thank you for your feedback and I hope to not keep you waiting too long :-)

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

    I am your 1000th subscriber.

    • @thepullupresistor
      @thepullupresistor  5 місяців тому +1

      Oh wow. Thank you for letting me know :-) I had no idea so many people would be interested in this topic!

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

    Good Content.

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

    Like that a lot!!😄 Just using xiao ble instead, but without any problem.

  • @user-cu1gg4gl4r
    @user-cu1gg4gl4r 7 місяців тому

    Amazing video. I am trying to understand zephyr RTOS and program the RGB LED in the esp32c3 devkim-M1 to blink. It would be helpful if you could elaborate on the approach you took to gather the information about the RTOS such as the various macros in zephyr or the functions that are available in zephyr.

    • @thepullupresistor
      @thepullupresistor  6 місяців тому +1

      Thank you very much for your kind feedback! As for my approach to gather information about the RTOS, such as macros, etc. I want to be careful to offer much advice, because my way of learning may be very different from yours. But, for what it's worth, when I first started out with Zephyr, I watched all the videos online first, especially from the Zephyr conferences. That gave me a high level overview, but I didn't understand many of the details in the presentations until I started working on small projects for myself. Beginning with setting up the build tool-chain, getting a blinking LED, etc. However, the devicetree model of Zephyr was the biggest challenge for me. I suspect it has also been a big stumbling block for many others who does not have experience doing Linux kernel development. Making these videos helped me to dive deeper into the underlying macro "magic". However, it took me quite a long time to get my head around it. Sorry for not being more helpful, and good luck in your learning journey!

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

    Great video, I have one question please, what did you use to make those animations of the source code ? I want to use the same for my training videos. Thanks

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

      Thank you very much! I used the community edition of Manim (www.manim.community/).

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

    Regards, How much memory free in dram0 has you ? Only with wifi connect is filled 79% , almos not margin for to the application....

  • @juliane.jamioy6870
    @juliane.jamioy6870 Рік тому

    Gracias (y)

  • @BS-channels
    @BS-channels Рік тому

    hello there, I was working on zephyr os with the esp32c3 dev board. the build with the west tool is successful but it does not flash using west flash. can you help?

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

      Hi! Very cool, I haven't been able to get hold of an ESP32C3 yet, so unfortunately I've not played around with it so far. I'm not sure if there's anything different about the C3 when it comes to flashing, but in my experience with ESP32 WROOM and WROVER modules there are a lot of things that can cause the flashing not to work. The most frustrating experience I've had is with unreliable FTDI FT232RL boards, so now I exclusively use the ESP-PROG since it has JTAG as well, is very fast and works every time.
      I'm happy to try and help troubleshooting, but may I ask that you share your exact problem, system setup, and what you have tried already in the Zephyr Discord #espressif channel? That way, if i can't help you, maybe someone else will be able to. Also, if you solve your problem, others with a similar problem can also learn from it. You can find an invite to the Discord channel on the www.zephyrproject.org/community/ website.

  • @danielcarpio4302
    @danielcarpio4302 10 місяців тому

    I'm very new to this, what is the name of the terminal you use?

    • @thepullupresistor
      @thepullupresistor  10 місяців тому

      I'm using the built-in term in Emacs. But you can use whatever tools you prefer :-) Since you're saying you're new to this, welcome! It's a great time to explore embedded systems.

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

    How many files it created?

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

      Sorry, but I don't understand the question. Would you mind elaborating a bit more to help me out, please?

  • @mlann2333
    @mlann2333 2 місяці тому

    I've run through the tutorial here but when I try to build I get this error message:
    west: unknown command "build"; do you need to run this inside a workspace?
    Any ideas ? I'm running this command from the helloworld folder and not src.

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

      Sorry to hear that you're facing this trouble. Could you please try to run the shell script to setup the Zephyr environment? On Linux/MacOS you can run ". ~/zephyrproject/zephyr/zephyr_env.sh", assuming that your Zephyr installation is in the ~/zephyrproject directory. If you are on Windows, the equivalent script is zephyr_env.cmd in the same directory. I just tried it on my system (Debian 12) and it works. Please let me know if you're able to fix the issue. Thank you.

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

      ​@@thepullupresistor It works, thank you !

  • @voytek_two_thousand
    @voytek_two_thousand 4 місяці тому

    how do I connect the esp320 to the pc to download the code

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

      Sorry if I misunderstand your question, but you can use any of the supported methods to program your ESP32 board. Personally, I use the ESP-Prog board because it has JTAG and serial (docs.espressif.com/projects/espressif-esp-iot-solution/en/latest/hw-reference/ESP-Prog_guide.html)

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

    what's your Linux version ?

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

      I'm using Ubuntu 22.04.1 LTS.

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

      Thanks for your reply, after trying 18.04, 20.04 and 22.04, I decide to take 2204

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

    west espressif monitor returns error in windows

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

      I see. Have you been able to troubleshoot this issue? I don't use Windows, but hopefully you can use another serial console program to connect to the ESP32 if west espressif monitor doesn't work for you.

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

    can we run a vpn server on it?

    • @thepullupresistor
      @thepullupresistor  10 місяців тому

      I'm not sure, I'm afraid. Maybe someone else watching this knows better than me and can reply?