#252

Sdílet
Vložit
  • čas přidán 18. 01. 2019
  • We can save energy by deep-sleeping the ESP32. During this time, the chips do not consume a lot of energy but also are not responsive. This is why Espressif included a mysterious Ultra Low Power core (ULP) which is active when the main processor sleeps. People say it has to be programmed in Assembler, and nearly nobody was able to program it in the Arduino environment.
    Until now.
    Links:
    Arduino IDE ULP repository: github.com/duff2013/ulptool
    Sketch: github.com/SensorsIot/ESP32-U...
    ESP32 module: s.click.aliexpress.com/e/bQwDCLQs
    ESP32 Board: s.click.aliexpress.com/e/XAhzEgY
    ULP commands: docs.espressif.com/projects/e...
    Technical Reference: www.espressif.com/sites/defau...
    Otii power Supply: www.qoitech.com
    Supporting Material and Blog Page: www.sensorsiot.org
    Github: www.github.com/sensorsiot
    My Patreon Page: / andreasspiess
    Alternative: flattr.com/@andreasspiess
    My Bitcoin address: 19FSmqbBzb5zsYB1d8Bq4KbxVmezToDNTV
    If you want to support the channel, please use the links below to start your shopping. No additional charges for you, but I get a commission (of your purchases the next 24 hours) to buy new stuff for the channel
    For Banggood bit.ly/2jAQEf4
    For AliExpress: bit.ly/2B0yTLL
    For ebay.com: ebay.to/2DuYXBp
    profile.php?...
    / spiessa
    www.instructables.com/member/...
    Please do not try to Email me or invite me on LinkedIn. These communication channels are reserved for my primary job
  • Věda a technologie

Komentáře • 580

  • @cpfs50
    @cpfs50 Před 5 lety +78

    Hi Andreas, this is by far your best and most exciting video yet! I also wrote assembler in the late 70's and 80's so I hope I can meet your challenge. This feature of the esp32 was what interested me most when it came out. Thank you so much for opening the door for me.

    • @AndreasSpiess
      @AndreasSpiess  Před 5 lety +6

      I also waited a long time to get this "missing link" from duff2013.

  • @crckdns
    @crckdns Před 5 lety +44

    "Most playtime per dollar" 😹 ich musste sehr lachen, Danke!
    Danke, endlich mal "aktuelle" Videos über low-level Sprachen und Microcontroller 😻👍
    Endlich kann man wieder auf Effizienz programmieren, wie im Studium gelernt :)
    Wusste gar nicht dass ESP diese Schnittstelle hat 💗 danke!

    • @AndreasSpiess
      @AndreasSpiess  Před 5 lety +2

      Dann freue ich mich schon über deine Teilnahme am Challenge ;-)

    • @iiilllii140
      @iiilllii140 Před 2 lety

      Andreas you are very funny. 😁 I love your videos!

  • @jamess1787
    @jamess1787 Před 5 lety +48

    I love the plastic hand. Makes me laugh everytime.

  • @JohnoScott
    @JohnoScott Před 5 lety +2

    Omg I am so excited to know how to program the ULP. The esp 32 keeps on getting more exciting. Thank you Andreas

  • @jasonmhite
    @jasonmhite Před 5 lety +1

    Aweseome! I've played around with the ULP using ESP-IDF, but it's a hassle to get it set up and integrated into the build system. Glad to have this video, the ULP is a really cool part of the hardware that hasn't been talked about as much.

    • @AndreasSpiess
      @AndreasSpiess  Před 5 lety

      Part of it was because it was no easy way to use it with Arduino. At least that is what I think.

  • @tonysfun
    @tonysfun Před 5 lety +1

    Great video! My friends and I were looking into this "issue" last year and your video is far the best! Thanks again Andreas!

    • @AndreasSpiess
      @AndreasSpiess  Před 5 lety

      I am only the messenger. The hard work was done by duff2013.

  • @springwoodcottage4248
    @springwoodcottage4248 Před 5 lety +1

    Thank you for introducing me to these super useful & very practical capabilities of the Esp32 especially for battery application. The ability to do things with out troubling the main processor has extraordinary potential for extending battery life which is always something that is useful for end users. Thanks for sharing!

    • @AndreasSpiess
      @AndreasSpiess  Před 5 lety

      You are welcome. Please consider participating in the challenge. It would be a good jump-start ;-)

  • @KJBtheMosFett
    @KJBtheMosFett Před 5 lety +1

    Moved all my senior design code from atmega to the esp. Got the display working,moved peripherals. Using your guide for the rtos. I can't believe this thing is under 10$. You are awesome. Thank you for this, sincerely from Texas.

  • @mt-qc2qh
    @mt-qc2qh Před 5 lety +2

    Great info! I spent many years in assembly language on DG Nova's and early micros (6502 and 8080). Glad to get to use it again. The ESP32 has a lot of hidden power. Looks like fun.

    • @AndreasSpiess
      @AndreasSpiess  Před 5 lety

      So it will be easy for you. It is already good if you still remember how to calculate with short hex numbers and overflow ;-)

  • @LostDeadSoul
    @LostDeadSoul Před 5 lety +1

    Nice. This is exactly what i need to make a ULP power management system for a wind turbine project. Thank you for this tip!

  • @xyloidify
    @xyloidify Před 5 lety +1

    Love your sense of humor! Great video as always! Brought back memories of 6800, 6502, and 6505. Love voodoo lol!

  • @davidbradley3074
    @davidbradley3074 Před 4 lety

    Andreas, Thank you for all of your hard work and iniating this challange to promote support software. You guys are great!

  • @bardenegri21
    @bardenegri21 Před 5 lety +1

    Wow! Been waiting for this for a long time. Amazing stuff. Now I can finally make my mqtt door sensors. I have boards for a trigboard-based design just for this task, but now I will try it with just an ESP32. Great stuff!

    • @AndreasSpiess
      @AndreasSpiess  Před 5 lety

      It needs a little more than a trigboard. But is probably ok for most battery applications

    • @hashemsharrab5430
      @hashemsharrab5430 Před 5 lety

      NS Gaming would like to build and IOT device if we can talk

    • @kevinnicholls1017
      @kevinnicholls1017 Před 5 lety +2

      This was exactly my thought. Wake on state change to report door open and door close events via MQTT without the need for complex supporting circuitry. Exciting.

  • @prlombaard
    @prlombaard Před 5 lety +1

    Hi Mr Spiess, another well documented video just to get the juices flowing. The ESP32 is becoming more and more an IoT contender because of the ultra low power capability. and now with the ULP processor even more so! Thank you for the video.

  • @sethrd999
    @sethrd999 Před 5 lety

    Great video Andreas,
    I had read about this but had not gone down the rabbit hole per se, as I had no vision for a use case currently. Il be going over this video again in detail as a solar project could perhaps do with this update.

    • @AndreasSpiess
      @AndreasSpiess  Před 5 lety +1

      I am sure some examples will pop up over time. Many projects where we use an ATtiny can be done this way.

  • @Nichetronix
    @Nichetronix Před 5 lety +1

    Great video, Andreas! I accept your challenge to create a cool project with the ULP!

    • @AndreasSpiess
      @AndreasSpiess  Před 5 lety

      Just send me a message on facebook or on twitter when you are ready...

  • @StefanoBettega
    @StefanoBettega Před 5 lety

    Awesome introduction, this opens a lot of possible use as battery powered security sensor for the ESP32. I have a garage that can't be connected to the alarm plant, but I can reach it via WiFi: I can now use a battery powered ESP32 to probe the environment and receive alerts if needed. Thanks!

  • @stuartcoyle1626
    @stuartcoyle1626 Před 5 lety

    It is good to see these features being implemented for Arduino and thus made available to many more people. I've been using ESP-IDF rather than Arduino, but then again I've been a professional programmer for a while. I willhave a go at your competition if I come across something interesting to do.

    • @AndreasSpiess
      @AndreasSpiess  Před 5 lety

      I would be glad to see your contributions to the competition!

  • @paulrichmond6903
    @paulrichmond6903 Před 5 lety

    Andreas once again you blow us away with new ideas. Very well done.

  • @youliantroyanov2941
    @youliantroyanov2941 Před 5 lety +15

    Another old geezer assembler fan here. Andreas ftw :)

    • @AndreasSpiess
      @AndreasSpiess  Před 5 lety +2

      So where is your proposal for the competition ;-)

  • @petermeiner3574
    @petermeiner3574 Před 5 lety +16

    Yes,the good old times. Programming a Z80 with an Manual(a real paper book!), and then calculate the bits by hand( yes, also on paper.....) to hex values. Then type all Values by hand into the dev.board , which only have some switches, 7segment led and a small keypad! And if it loose the power, all is gone. Young people couldn't understand, how amazing the first blinky on those projects make me so Lucky, to get it running.....

    • @AndreasSpiess
      @AndreasSpiess  Před 5 lety +1

      Not to forget the cassette tape recorder to save the programs. I still prefer the modern tools if I have to get somewhere...

    • @kevinnicholls1017
      @kevinnicholls1017 Před 5 lety

      I had a lovely hand written ready reckoner for the Z80 with the instructions laid out in a 16 by 16 grid. Fond memories, but the good times started for me with emulators, break points, swiftly followed by C. Debugging assembler without JTAG sounds hard work.

    • @Cairos1014
      @Cairos1014 Před 5 lety +2

      I dont miss those days, but I still think it was a fun and educational process to toggle in the bootloader on an Imsai 8080 via the front panel! Thankfully, I'm not so old I had to enter the whole program that way.

    • @LutzSchafer
      @LutzSchafer Před 5 lety +2

      Yeah these were the days. In the late 70's without an assembler I developed a four pole linear circuit simulator on a ZX spectrum. Everything was developed on paper and very little debugging was necessary because you had to think rigorous with attention to detail. Still have a binder full of hand written assembly and it's hand-translated machine code. Unthinkable for today's standards. For back in these days this was the fastest code. But you had to do everything even design your floating point arithmetic. This program could deal with up to 200 nodes and had FFT for time domain output. Amazing how little memory we were forced to use.

    • @mikebrown7366
      @mikebrown7366 Před 5 lety +1

      I learned on 1802 by hand assembling. A truly painful experience, but taught me to really think out the project before writing one line of code.

  • @piconano
    @piconano Před 3 lety

    Holly bananas batman!
    I thought it would be a simple task to use the ULP!
    The links alone saved me hours of googling.
    Much appreciated.

    • @AndreasSpiess
      @AndreasSpiess  Před 3 lety

      It is not easy. This is probably why you do not find a lot of projects using it.

  • @MikeKranidis
    @MikeKranidis Před 5 lety

    Dear Mr. Spiess, congratulations for the topic and the fantastic video... I am also one of z80 assembly trained... I hope to have more advanced video for the ESP32 I think it deserves. Thanks again.

    • @AndreasSpiess
      @AndreasSpiess  Před 5 lety +1

      I do not think I will do an advanced video here. I hope some viewers will "bite the bullet". Maybe somebody writes a tutorial?

  • @Magic-Smoke
    @Magic-Smoke Před 5 lety +3

    Good to see this finally get some airtime :) I tried it last summer but ended up running into problems with the ADC at the time. Nevertheless, thanks for expanding the audience and hopefully the number of available working projects

    • @aspuzling
      @aspuzling Před 5 lety +1

      What problems did you have with the ADC? Does the example Andreas gave here help you?

    • @Magic-Smoke
      @Magic-Smoke Před 5 lety

      @@aspuzling I had problems expanding to use the other pins at the time. I was using the same examples from Duff2t013. They are good examples but I was short of the brain cells and it was hard work to get it all working. As I recall, I got there in the end but it wasn't straightforward... In the end I kept on using the ADS1115.

    • @AndreasSpiess
      @AndreasSpiess  Před 5 lety

      I only used this example but did not do thorough testing. It worked for my thresholds.

  • @walterpark8824
    @walterpark8824 Před 5 lety +10

    Better than consistently good.
    Excelsior!

  • @jvgorkum
    @jvgorkum Před 5 lety +2

    Andreas thank you for explaining this (cool) feature and willing to spend 100 usd for the open-source competition (thumbs up)

    • @AndreasSpiess
      @AndreasSpiess  Před 5 lety

      I hope we will get some interesting contributions ;-)

  • @CTCTraining1
    @CTCTraining1 Před 5 lety

    Fascinating challenge... I would recommend mentioning the prize challenge in the video title (or making another video to link to this one) as I’m sure folks who relish such problems might miss it with the sleepwalking title.

  • @HelmutTschemernjak
    @HelmutTschemernjak Před 5 lety +7

    Great video as always, thank you. I use another method which works in C without programming the ULP. There is a wake up hook function when the ESP32 wakes up. It gets called before booting the ESP32, before the flash is activated.
    C functions can be placed into the RTC memory for little processing. This function can continue to boot the ESP32 (which takes 0.3 secs) or put it into deeplseep again. This hook requires only 3 ms to check some processing. The advantage is can it can be programmed in C, the disadvantage is that only low-level IO can be done because program functions (FLASH) are not available. However all registers and ESP32 ROM functions can be used, or own functions marked with IRAM_ATTR will also work.
    This is pretty much low level like the ULP, however programmed in C with proper print debugging, etc.
    Regards Helmut (Arduino Hannover & RadioShuttle.de)

    • @AndreasSpiess
      @AndreasSpiess  Před 5 lety +1

      Interesting idea. I did not know that it exists. Maybe there is a small difference: The ULP clocks quite slow but still is quite fast because of its simplicity (microseconds) and only needs "full throttle" 2mA. So you can run it every few ms and still hardly consume any energy. Might be interesting for faster moving signals where you have to check quite frequently.

    • @HelmutTschemernjak
      @HelmutTschemernjak Před 5 lety

      The main reason I use the wakeup hook is that the deepsleep timer does not last long, therefore it wakes up the ESP32 too often which consumes energy, now I can just re-enter into deepsleep (3 ms versus 300 ms).@@AndreasSpiess

    • @AndreasSpiess
      @AndreasSpiess  Před 5 lety

      That what I understood. It is a goo way to save energy by reducing the on-time.

  • @jerryhilburn9090
    @jerryhilburn9090 Před 5 lety +1

    Wonderful deep dive and very much appreciated by me! Thanks!

  • @jamisusijarvi646
    @jamisusijarvi646 Před 5 lety +20

    After 20 years, do I really need to go back to assembler. Oh boy :)

    • @AndreasSpiess
      @AndreasSpiess  Před 5 lety +3

      I am sure you will remember a few things. And maybe you still find your old hex calculator ;-)

  • @Palifra
    @Palifra Před 5 lety +6

    After Lora series, maybe the best video to date.

    • @AndreasSpiess
      @AndreasSpiess  Před 5 lety

      Thank you. I have to admit, I liked also very much producing it. I waited for a long time until a got this chance...

  • @TomasSab3D
    @TomasSab3D Před 4 lety

    You are a god. This is presented so incredibly well. No words for it...

  • @norm1124
    @norm1124 Před 5 lety

    So cool, bin sehr gespannt auf die Resultate.

    • @AndreasSpiess
      @AndreasSpiess  Před 5 lety

      Habe nicht so viel Hoffnung. Mal sehen. Vielleicht täusche ich mich ja. Deshalb habe ich auch den Termin relativ kurz angesetzt. So wird es mindestens keine "Never Ending Story". Das Tema selbst ist sehr spannend finde ich.

  • @santorcuato
    @santorcuato Před 5 lety

    Useful AND interesting as always. Thanks Andreas!

  • @cedricwalter2442
    @cedricwalter2442 Před 5 lety +12

    11:32
    There is a register that directly controls the rtcio pins output.
    WRITE_RTC_REG(RTC_GPIO_OUT_REG, 26, 1, 1)
    This line directly controls gpio 2.

    • @AndreasSpiess
      @AndreasSpiess  Před 5 lety +3

      Thank you. I will try. I wonder why the examples do not use this simple way :-(

  • @jamespcorbett
    @jamespcorbett Před 5 lety

    Amazing find, ULP is super useful. Using it to make a battery powered switch board for my home that'll hopefully last a year.

    • @AndreasSpiess
      @AndreasSpiess  Před 5 lety

      Should be possible.

    • @jamespcorbett
      @jamespcorbett Před 5 lety

      @@AndreasSpiess yeah, simply recording the previous state of the pins then waking up the main to update mqtt. I'll put it on github :)

  • @NimaSajedi
    @NimaSajedi Před 5 lety

    Your videos are really interesting. I appreciate your effort on sharing valuable information.

  • @joachimbaumann731
    @joachimbaumann731 Před 5 lety +11

    Hi Andreas, the Voodoo you are talking about allows the compiler to calculate the size for all the ULP programs (which is why you have two arrays that contain pointers to the begin and end of the ULP program, respectively). But as always a fantastic video.
    One idea for the challenge: Read 1-Wire sensors...

    • @cannesahs
      @cannesahs Před 5 lety

      1-Wire would be awesome

    • @AndreasSpiess
      @AndreasSpiess  Před 5 lety

      @Joachim: I thought it will also load the code to RTC memory? And thank you for your nice words!

    • @InfiniteQuest86
      @InfiniteQuest86 Před 5 lety

      @Mai Mariarti I tried the I2C example yesterday, and it does not work with Arduino out of the box (it won't even build). Although the adc code from their github doesn't work either, but Andreas's code works great. So there's some more voodoo to figure out. The list of operations has I2C_RD and I2C_WR, so I believe at least one of the pins has hardware support builtin. I'm going to try to tackle this today.

  • @TMS5100
    @TMS5100 Před 5 lety +28

    you would think espressif would want to strongly encourage support of this feature.
    someone should make a C compiler for the ulp. the 8kb of the ulp is quite adequate for some reasonable code.

    • @AndreasSpiess
      @AndreasSpiess  Před 5 lety +1

      Maybe they do. I do not know.

    • @AndreaBorgia
      @AndreaBorgia Před 5 lety +6

      I would say that the target audience for this feature is comfortable with using assembler, so they see no need for a compiler. The code is minimal anyway.

    • @AndreaBorgia
      @AndreaBorgia Před 5 lety +1

      @Mai Mariarti I see your point and I agree, I was only trying to see things from ESP's point of view.

    • @Spritetm
      @Spritetm Před 5 lety +33

      Espressif guy here: The issue is that the ULP barely is a microcontroller. It originated from a few digital people trying to build a somewhat programmable state machine to do some sensor sampling in deep sleep mode, then added in enough logic to make it turing-complete. Porting C to it would be a pretty tall order. We have something in mind that will make that possible for the ULP in our next chips, if that's a comfort.

    • @mikebrown7366
      @mikebrown7366 Před 5 lety +2

      @@Spritetm I agree. Some processors just weren't made to support a C compiler. For example, 8 bit PIC chips. This "CPU" smells more like an FPGA state machine. Being a long time assembly language lover, I will be looking into this architecture.

  • @deangreenhough3479
    @deangreenhough3479 Před 5 lety

    Happy Sunday Morning Andreas 😁🏴󠁧󠁢󠁥󠁮󠁧󠁿 what a start to 2019😀😁😁😁😁😁😁😁😁😁😁

  • @chriscauwelier
    @chriscauwelier Před 5 lety +3

    Thanks! I Just bought one, let's test it! 👍🏻

  • @jorgedelcastillo2811
    @jorgedelcastillo2811 Před 5 lety +2

    Great video, Andreas ... "until recently" the PICs were programmed in assembler too.

    • @ralfoide
      @ralfoide Před 5 lety

      For some version of "until recently"... The MPLAB X IDE has been available for the last 5 years, for free with a C compiler :)
      That said I had fun with the 12-bit words and reduced instruction set in the older PICs in the 90s. That was a different level of fun.

    • @AndreasSpiess
      @AndreasSpiess  Před 5 lety +1

      Maybe this is why PICs were no more as popular as Arduinos ?

    • @listerdave1240
      @listerdave1240 Před 5 lety

      PIC has been programmable in both C and assembly years before Arduino even existed at all and still can. Also, while C is obviously more convenient there are still times when it is useful to use assembly. That is mostly the case when you need fast acting realtime operation such as precise timing signals, dealing with stepper motors running at high step rates and so on.

  • @RDarrylR
    @RDarrylR Před 5 lety +1

    Very interesting. Lots of possibilities using these techniques. Assembler coding isn’t really that hard but I’m sure some people will come up with some more friendly libraries.

    • @AndreasSpiess
      @AndreasSpiess  Před 5 lety

      I would hope so. But browsing through the comments I am not sure :-(

  • @sourekpetr
    @sourekpetr Před 5 lety

    Aaaah assembler, back to the roos :-D
    Thanks for video.

  • @stefanf.5439
    @stefanf.5439 Před 3 lety

    Nice video, thanks for the internals. Assembler was never my world but i like the idea to speak computer language:)

  • @ewap-by-daniel
    @ewap-by-daniel Před 5 lety +1

    Danke für das super Video. Überlege mir gerade mit Was für einem Projekt ich mitmachen kann.

  • @UnrealVideoDuke
    @UnrealVideoDuke Před 5 lety

    Great time frame! Some people will not be able to receive their parts in time to complete their projects by your deadline. I would give it at least 60 days.

    • @AndreasSpiess
      @AndreasSpiess  Před 5 lety

      You are right. It is short. I thought that people not owning an ESP32 will anyway not be interested. And I wanted to keep the momentum.

  • @Iceteavanill
    @Iceteavanill Před 5 lety +2

    Interresting Idea and very generous. I really want to see the outcome....

    • @AndreasSpiess
      @AndreasSpiess  Před 5 lety +1

      Or you go into it yourself? After a little assembler programming, you will be the hero in hex arithmetics ;-)

    • @Iceteavanill
      @Iceteavanill Před 5 lety +1

      @@AndreasSpiess Yeah thats true.. although im more of the hardware guy it would surely not hurt to try it out and gain some experience....

  • @BaronVonBiffo
    @BaronVonBiffo Před 5 lety

    After hearing your cat purr, Mogg E has carried out a frantic search of Schloss Biffo to see where her rival is hiding. :)

  • @petercalum9767
    @petercalum9767 Před 5 lety

    Super interesting and usefull video, thanks Andreas

  • @avejst
    @avejst Před 5 lety

    NIce review, thanks for sharing as always :-)

  • @mahesh732
    @mahesh732 Před 4 lety

    "the chance you'll get it right the first time is pretty small." :-D. right on!

  • @FLTOMM
    @FLTOMM Před 3 lety

    Very good work!!!

  • @Aegilops
    @Aegilops Před 5 lety

    Was watching your new video with great interest, Andreas, following your informative, relaxed and interesting walkthrough when at 6:14 you made me laugh out loud ... so I stopped and had to give you a Like. Excellent video as always!

  • @rubialugattimoreira1978

    This is the man. 🌹 Absoluty amazing

  • @note380
    @note380 Před 4 lety

    Hi, I hope you are well during this tough time in the world. I have come across this video after searching online a way to keep counts of a pulse interrupt from a dds353 kwh meter and periodically send the counts over mqtt. I had not realized that esp was different from arduino in the way ISRs are handled during low power operations. Now I am convinced I need this approach shown in this video. Kindly point to how I can listen to interrupts and maintain a count for it then wakeup the main processor say after 10 minutes and pass the data over for Serialprinting( Mqtt transmission in my use case which I can do after I have figured out the ulp interrupt and periodic waking up of the main processor). This is very useful stuff thank you

    • @AndreasSpiess
      @AndreasSpiess  Před 4 lety

      Nice project! I hope you will get it working.

  • @mikebrown7366
    @mikebrown7366 Před 5 lety +2

    No call or return instructions, but it seems likely that implementing them as macros would be fairly easy. This is based upon the 30 minutes I spent looking at their amazingly clear documentation on the "instruction set".

    • @AndreasSpiess
      @AndreasSpiess  Před 5 lety +1

      I am curious about the contributions for the contest. I hope we will see some creativity there...

    • @SimonRichardMasters
      @SimonRichardMasters Před 5 lety

      Espressive is a sharp company, they are sending development kits

  • @electronic7979
    @electronic7979 Před 5 lety

    Useful video 👍

  •  Před 5 lety +3

    Watching this video eating ice-cream! Good time! Excellent subject as always, mr. Spiess!
    Just recently I got an ESP32-CAM and start learning ESP-IDF. Its so much better than Arduino environment IMO. Sure is a bit more complicated but RTOS is neat!
    And now I'm looking for a epaper display to mess around but they seem to be hiding in the market. What is going on?

    • @AndreasSpiess
      @AndreasSpiess  Před 5 lety +1

      I do not know of issues concerning e-papers. I recently got two from waveshare

  • @hdeamon
    @hdeamon Před 5 lety +1

    This video rocks!

  • @michelebernasconi375
    @michelebernasconi375 Před 5 lety

    Hi Andreas, great video and initiative! I am also interested about applications related to the MPU6050!

  • @zyghom
    @zyghom Před 2 lety

    Man, ESP, Arduino, LoRa - these are completely IRRELEVANT - what IS relevant is your speech like the one at 4:18 - I died almost! ;-) So lovely ;-)

    • @AndreasSpiess
      @AndreasSpiess  Před 2 lety

      Exactly. Glad you know what I am talking about ;-)

    • @zyghom
      @zyghom Před 2 lety

      @@AndreasSpiess I played this part to my wife and her reaction: "what's funny?" ;-)

  • @ericwilson5203
    @ericwilson5203 Před 5 lety

    As others have said, this is SO exciting! Thank you for spurring the community for more sample code examples for layman like myself. Correct me if I'm wrong, but it looks like the posted example for reading the built in hall effect sensor does not have an upper and lower bound to wake it from sleep? Instead it just wakes up every 3 seconds to print its averaged measurements?
    Also is it possible for the RTC code to run continuously in the background. I have a project where the main loop scans bluetooth, then deep sleep. It'd be nice if the RTC could continue to poll a sensor even when the chip is awake.

    • @AndreasSpiess
      @AndreasSpiess  Před 5 lety

      You are right: The ULP should decide on when to wake the main cores.

  • @MPElectronique
    @MPElectronique Před 5 lety

    Thank you so much!!!

  • @ajaybnl
    @ajaybnl Před 5 lety +1

    Beautiful. I like your Funny words :)

  • @GregCormier
    @GregCormier Před 5 lety +1

    For those curious, I just measured my ESP32 DevKit C at 2.8uA in regular deep sleep - and that includes the tiny built-in LED!

  • @georgelewisray
    @georgelewisray Před 5 lety

    Great Stuff !!

  • @DrRChandra
    @DrRChandra Před 5 lety

    (just sayin'...we may pronounce "one hundred dollars", but when written, currency symbols go before the number, such as "$100")
    This sort of thing is so great to know. Hardly anyone wants to spend more on energy than they should. If you have only one of these things, not so bad, but when you have a (smart) house full of them, it really adds up!

    • @AndreasSpiess
      @AndreasSpiess  Před 5 lety

      Maybe you are right with the 100$ But asking google there are many ignorants like me ;-)

    • @SimonRichardMasters
      @SimonRichardMasters Před 5 lety

      Smiles at students these days

  • @guatagel2454
    @guatagel2454 Před 5 lety

    Thank you!

  • @Fifury161
    @Fifury161 Před 5 lety +1

    5:39 - is that you doing a voice over? Great info - thanks for sharing!

    • @AndreasSpiess
      @AndreasSpiess  Před 5 lety

      The whole video is a voice over. But you are correct. There I had to correct something ;-)

  • @TheBodgybrothers
    @TheBodgybrothers Před 5 lety

    Thanks man!

  • @MitchellWongHo
    @MitchellWongHo Před 5 lety

    This is great news!!!

  • @Brynmawrhill
    @Brynmawrhill Před 5 lety

    Grüetzi Andreas, A great video as usual. A little while ago you reviewed ESP32 boards and noted that all of them draw pretty high quiescent currents. What is the breakout board you are using in this video? Thanks a lot for your good work, David

  • @RodrigoCarbajales
    @RodrigoCarbajales Před 5 lety +5

    Hi Andreas, again a great video! I would like to know if it is possible to have interrupts in ULP, I would like to have my 3D printed weather station working with ULP to save energy. So I would need to count rain drops and wind speed in ultra low power while main processor is in deep sleep and after a minute wake it up and send all the information using LoRa TTN.

    • @AndreasSpiess
      @AndreasSpiess  Před 5 lety +2

      The ULP does not use interrupts. As described it starts every few ms. So it should be possible to measure both, wind speed and rain. At least my sensors create a relatively slow squarewave which can be read with the ULP.

  • @SnowyOwlPrepper
    @SnowyOwlPrepper Před 5 lety +6

    Nice cat.

  • @Cairos1014
    @Cairos1014 Před 5 lety +2

    Thank you again Andreas! I still don't understand the Python kerfluffel. The craftsman chooses the tool most fitted for each job. I have a number of ESP smart sensors around the house that could just as easily be running Python. C++ just happens to be my go-to hammer. It was a lazy choice.

    • @AndreasSpiess
      @AndreasSpiess  Před 5 lety +2

      I have a similar opinion. And if you came from the RPI your go-to hammer most probably would be Python. That was the point of my question. Anyway: I learned a new word: kerfluffel ;-)

    • @SimonRichardMasters
      @SimonRichardMasters Před 5 lety +1

      I like Python, describing C as a hammer does my head in

  • @wardog2118
    @wardog2118 Před 5 lety +5

    Maybe it's called touch_pad_7 because it's the 7th pin having the touch functionality? bad naming anyways xD
    thanks for this video! i was looking into that but never really had the motivation :)

    • @AndreasSpiess
      @AndreasSpiess  Před 5 lety

      I think so. But I just want to know where I have to solder my poor wire on ;-) And there I only find 27

  • @SyaCZek
    @SyaCZek Před 5 lety +1

    Hello Andreas, When will you make a video about ULP challenge results? Thank you for your answer. I Love your work!

    • @AndreasSpiess
      @AndreasSpiess  Před 5 lety

      Unfortunately, I did not get enough participants.

  • @christianneuhaus1354
    @christianneuhaus1354 Před 4 lety +1

    Hi Andreas,
    Thanks for this very interesting video. I was wondering whether to use an Arduino or an ESP32 for an ULP project. With the Arduino, I found that I'd have to build a very basic one myself for ULP applications while the ESP32 seems to be ready to use as is, which is great. Maybe a comparison of Arduino vs. ESP32 in ULP applications would be an idea for a future video? ;-)
    Cheers,
    Christian

    • @AndreasSpiess
      @AndreasSpiess  Před 4 lety

      I would not compare the ULP with an Arduino. The concepts are too different. Maybe I will cover the ULP with a ecample in the future...

  • @bonnome2
    @bonnome2 Před 5 lety

    A while back in your micropython video you talked about mongoose OS but that it didn't work out.
    I think it would still be great to have a video about it!

    • @AndreasSpiess
      @AndreasSpiess  Před 5 lety

      The chance is small on this channel and for the moment. I go enough "shit" with MicroPython ;-)

  • @science4allworld587
    @science4allworld587 Před 5 lety

    Great video...or rather best video about esp32. Thanks.
    A request, since u have ucurrent and otii and currentranger... can you make a video on comparision of these three. I was about to order currentranger but now curious about otii. Thanks in advance:).

    • @AndreasSpiess
      @AndreasSpiess  Před 5 lety

      Maybe I will do another video which also uses the Otii. But not soon.

  • @CircsC
    @CircsC Před 5 lety +2

    I think being able to monitor a cheap solar panel and battery on its own and change esp wake times based on available sunlight and battery levels

  • @Trivimania
    @Trivimania Před 5 lety +5

    Hi Andreas. At minute 2:00 you tell that the esp32 can wake out of deep sleep if a pin is touched. I thought it was only possible what a timer was reached. Does that mean that for example for a simple door sensor (with magnetic reed contact) I don't have to use this ULP core and I can somehow put the esp32 in deep sleep and only let him wake up when the reed contact gives a signal ? Can I do this on SIGNAL CHANGE? Or is it only on UP or DOWN but not on CHANGE ? Kind regards from Belgium

    • @aspuzling
      @aspuzling Před 5 lety

      I'm not sure about signal change, but you can set up a trigger for the ESP32 to wake from deep sleep when an IO pin goes high. Here is more info: pcbreflux.blogspot.com/2017/02/esp32-deep-sleep-example.html

  • @Ed19601
    @Ed19601 Před 4 lety +2

    How can I have missed this video? Ah, I see, I was abroad.
    Must have been 30 years when I was still doing stuff in Assembler (6502 and 8051 series)
    I disagree with you comparing it to a somnambulist: After your explanation of the pin numbers and hold commands, I prefer to see it as 'undead' or 'living dead'

    • @AndreasSpiess
      @AndreasSpiess  Před 4 lety +2

      I will not start a fight for the right wording;-)

  • @davegasman
    @davegasman Před 5 lety

    You had me at 'pimp the Arduino IDE...'

  • @axelmagnusmansson3265
    @axelmagnusmansson3265 Před 5 lety

    Top notch video, in the tough competition of yourself! Will help in my endeavours to have solar powered sensors. together with LoRa, one can probably have very small batteries that last forever with small solar panel. even indoors? Update on competition, or did noone dare?

    • @AndreasSpiess
      @AndreasSpiess  Před 5 lety

      Unfortunately, I only got 1.5 entries. Was quite disappointed :-(

  • @Megavoltamper
    @Megavoltamper Před 5 lety +1

    Excellent video!
    Maybe a low power solar powered version of the Geiger-counter? Now it draws a lot of power because the ESP has to be always on to count the pings. I started to think about to do it with an ATTINY85 and an ESP yesterday. Where the ATTINY does the counting, and wakes up the ESP every few minutes, passes the ping number to the ESP and the ESP uploads the values to Thingspeak or similar. But maybe the ULP of the ESP32 could do the counting?

    • @AndreasSpiess
      @AndreasSpiess  Před 5 lety

      Counting the Geiger pulses would be a good example. Only trigger the ESP if an alarm occurs and your ESP runs for a long time ;-)

  • @CMusicPro11
    @CMusicPro11 Před 5 lety

    Kleiner Tipp zu deiner Kritik am Labeling der Pins: Durch die Mehrfachbelegung hat Espressif einige Ports eingespart, was wiederum Platz auf dem Chip spart. Das Label "Touch_Pad" scheint nach der Dokumentation von Espressif zu bedeuten, dass dieser Pin ebenfalls einer der kapazitiven touch pins ist. D.h. der Pin kann über den bloßen Kontakt erkennen, ob etwas "touchaktivierendes"(Bsp.: dein Finger) den Kontakt berührt hat. So kann bspw. ein Kabel vom Pin an eine leitfähige Münze angeschlossen werden und durch berühren der Münze kann etwas ausgelöst werden, wenn der pin im Programm verwendet wurde.
    Sonst, top!

    • @AndreasSpiess
      @AndreasSpiess  Před 5 lety +1

      Das weiss ich schon und ich habe ja ein Excel Sheet dafür erstellt.

  • @fleaniswerkhardt4647
    @fleaniswerkhardt4647 Před 5 lety

    Thank you. Excellent video. Could not be clearer.
    p.s. let me be pedantic about the pronunciation of 'alias'L it's pronounced like 'ale - i - ass' (a 'flat 'a' in 'ass')

  • @rinelbhownath6914
    @rinelbhownath6914 Před 5 lety

    amazing THANKS!!!!!! :D

  • @chriscauwelier
    @chriscauwelier Před 5 lety

    You rock!

  • @steverearwin6840
    @steverearwin6840 Před 4 lety

    Hi Andreas, I love your videos and am very impressed by your knowledge. Your ESP-WOOM-32 breakout board looks like just what I have been seeking for over a month. Would you please tell me the model number and manufacturer/seller? Thanks in advance.

    • @AndreasSpiess
      @AndreasSpiess  Před 4 lety

      You always find the needed links in the comments of my videos.

  • @ATS3788
    @ATS3788 Před 5 lety +4

    I learned Z80 Assembler when I did my Bachelor , I was damn good in this lime now I can't hardly remember.

    • @AndreasSpiess
      @AndreasSpiess  Před 5 lety

      Not very different to the ULP assembler...

    • @Trivimania
      @Trivimania Před 5 lety +1

      I learned Z80 assembly too just to write a little gameboy game which was based on Z80

    • @picwiz2
      @picwiz2 Před 5 lety

      @ATS3788 I do not know your skills in electronics or programming languages but, from your icon, I'm sure you're a great music expert ! WOW !!!

  • @luizvision478
    @luizvision478 Před 5 lety +1

    HI MR ANDREAS
    BEAUTIFULL...BEAUTIFULL WORK.
    I AM ELECTRICAL ENGINNERING, AND I HAVE 62 YEARS
    IN RIO DE JANEIRO - BRASIL
    I WILL BE LOOKING AT THIS PROJECT
    AND THANK YOU FOR SHARING THIS KNOWLEDGE
    LUCK AND BE HAPPY

    • @TheMvieira
      @TheMvieira Před 5 lety

      Olá Luiz, Indaiatuba - SP :-) (another brazilian here, from Sao Paulo state)

    • @AndreasSpiess
      @AndreasSpiess  Před 5 lety +1

      You are welcome. Beautiful city! I have mostly good memories...

    • @Conservator.
      @Conservator. Před 5 lety

      LUIZ VISION
      Your Caps-lock is stuck ;)

    • @salec7592
      @salec7592 Před 5 lety

      @@Conservator. that's how an QSO is supposed to look. There is no provision for the character case in telegraphy. Now get out of the lawn! ;-)

    • @Conservator.
      @Conservator. Před 5 lety

      salec OK SORRY DIDNT KNOW THAT ;)))

  • @NivagSwerdna
    @NivagSwerdna Před 5 lety

    I have only just seen this video and it is very cool... What happened to the challenge? Was there a follow-up video?

    • @AndreasSpiess
      @AndreasSpiess  Před 5 lety

      There were not many entries and I did no follow-up because I was disappointed.

    • @NivagSwerdna
      @NivagSwerdna Před 5 lety

      @@AndreasSpiess Raise to to $10k and give me a couple of months and then I'm in! I would like use with an external 32kHz Crystal for good timekeeping in sleep might be interesting... I also need to drive a 5V ultrasonic sensor so I need a bit of hardware design too.

  • @HOUS-ij9vb
    @HOUS-ij9vb Před 5 lety

    IDEA FOR THE COMPETITION:
    Wake the ESP32 (and transmit new value) when the change in a load cell is over 10 grams.
    Go to deep sleep when the signal is stable for 2 secs (SD below 0,5 grams).
    Components: load cell, HX711 and ESP32 Dev.Board.

    • @AndreasSpiess
      @AndreasSpiess  Před 5 lety

      Interesting idea. I think this already could be done based on my example. Because it already can read ADC values.

  • @avivkeinan3564
    @avivkeinan3564 Před 5 lety

    Hi Andreas and all other, i was wondering if there is any way to use 2 wake ups source that won't interfere each other -
    i have situation that i deep sleep the esp32 for 24 hours and would like to count pulse from sensor using ext0 External Wakeup Source during that 24 hours - after 24 hours i would like to report the number of pulse to the cloud - my problem is that the ext0 wakeup resets the 23 timer sleep - i would love to get some suggestions - thank you andreas for your amazing work over the years - you are the best!

  • @Lolatronn
    @Lolatronn Před 4 lety

    hey can you use the ulp core when the main processors are on? i would to have a third core for things that don't take much processing power. But is something i need to run independently of the main two processors.

  • @alexpr0gressive
    @alexpr0gressive Před 5 lety +6

    I was looking for arduino ulp support in platformio but didn't find anything yet, has anyone else been more successful ?

  • @piconano
    @piconano Před 3 lety

    Back to heathkit's 6809 trainer of 1981!
    Much Sadness...