Welcome to the Pycom forum Forum
    • \[\[global:header.categories\]\]
    • \[\[global:header.recent\]\]
    • \[\[global:header.tags\]\]
    • \[\[global:header.popular\]\]
    • Login

    Explore Pybytes | Official Documentation | Report a Firmware Bug/Issue | GitHub

    Ultra Low Power (ULP) processor - Part 1

    Scheduled Pinned Locked Moved Guides
    4 Posts 4 Posters 541 Views 6 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • O Offline
      oligauc
      last edited by oligauc

      Introduction

      In deep sleep most of the peripherals are turned off, however, the ULP processor, the RTC slow and fast memories and the RTC controller can still be powered on. In deep sleep the ULP can perform measurements using the ADC, read sensor data using the I2C interface, pulse counting, etc. In this short tutorial we will show how to compile the ULP processor.

      Compiling the ULP library

      To compile the ULP you need to set up the xtensia gcc toolchain, export the bin path and clone the pycom-esp-idf repository. Please follow the instructions here

      Before compiling the ulp library you need select this feature from the menuconfig. Go to "examples" -> "wifi" -> "scan" and in Terminal / command prompt type:

      make menuconfig
      

      The following screen will pop up:

      Menuconfig.png

      Go to "Component config" -> ESP32-sepific and then choose the "Enable Ultra Low Power (ULP) Coprocessor as shown below:

      ULP menuconfig.png

      Now exit from menuconfig and in the terminal type:

      make -j4
      

      to compile the libraries. The ULP library can now be found in "examples" -> "wifi" -> "scan" -> "build" -> "ulp"

      I 1 Reply Last reply Reply Quote 5
      • kodarnK Offline
        kodarn
        last edited by

        Nice, will we be seeing a part 2? :-)

        1 Reply Last reply Reply Quote 0
        • K Offline
          KenM
          last edited by KenM

          I would like to see an example of an I2C sensor, read it value, check if below or above a threshold and then wake up the main CPU.

          To make it work: (missing assumptions)
          I had to $ export IDF_PATH=~/pycom-esp-idf
          and install much more dev packages like sudo apt-get install build-essential (Windows ubuntu 18.04)

          1 Reply Last reply Reply Quote 0
          • I Offline
            iot2020 @oligauc
            last edited by

            @oligauc What are the developments regarding the ULP processor? It already works on a regular ESP32 with MicroPython firmware... I can't get it to work with the Pycom firmware.

            1 Reply Last reply Reply Quote 0

            Hello! It looks like you're interested in this conversation, but you don't have an account yet.

            Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

            With your input, this post could be even better 💗

            Register Login
            • 1 / 1
            • First post
              Last post

            Pycom on Twitter

            Pycom