Skip to content
  • MySensors
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo
  1. Home
  2. Hardware
  3. Low Power: How much current? [Solved]

Low Power: How much current? [Solved]

Scheduled Pinned Locked Moved Hardware
109 Posts 10 Posters 68.6k Views 11 Watching
  • 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.
  • scalzS scalz

    yep. funny you proposed this link, and I checked on my ali orders and it is the same!
    what do you mean by "unspecified means". I am not sure....

    NeverDieN Offline
    NeverDieN Offline
    NeverDie
    Hero Member
    wrote on last edited by NeverDie
    #23

    @scalz said:

    yep. funny you proposed this link, and I checked on my ali orders and it is the same!
    what do you mean by "unspecified means". I am not sure....

    By "unspecified means", I just mean that you never said how you managed to do it. Rather, you said you'd rather let Charles say how he did it, whenever it is that he feels like he's ready to say.

    So, apparently, I was confused. For some reason I thought you had managed to achieve <1uA sleep current in an entirely custom way and that the Pro Mini's from Great Wall Electronics were unrelated to that. That's why when I stumbled across the 3-step article I posted earlier in this thread, I thought I'd just press ahead with that because it made the entire process (seemingly) so simple. Well, it is simple, except all the different "configurations" muddied the water and created doubt about what sleep current I might really get, maybe even depending on which "configuration" I got.

    At this point I'd be happy with 3.5uA. Based on the above, it sounds like Brolly759 found a way to reduce sleep currents down even further to 2.5-2.7uA, though I haven't yet wrapped my head around how Brolly759 did it, aside from reverting to IDE 1.0.6. I need to back up and re-read what he wrote now.

    1 Reply Last reply
    0
    • scalzS Offline
      scalzS Offline
      scalz
      Hardware Contributor
      wrote on last edited by scalz
      #24

      @Neverdie: ok. this is what I was thinking..ahah no problem. I think you have misunderstood me.

      First, I think Brolly knows how to get low power as he said he has studied Gammon sketch. have you?

      Then, at the beginning I give you links to achieve low power but you told me that you wanted an easy to do way (the link with coin cell) and told !scalz. So I thought you didn't want to know more.

      So, if you want to try these steps and check (this was my first steps):

      • arduino pro mini, remove led and voltage reg
      • upload sketch J from Gammon, so you will be sure the best you can achieve
      • check at your uCurrent you will be < uA
      • Mysensors part : make a function from this sketch J and use it for sleeping instead of gw.sleep which use lowpowerlab (very strange I had difference with it and didn't investigated more). but you will need to find something for your radio next...like mosfet but it is other things.

      But If you try it, you will see with your eyes now...

      Yes I have already some codes. but I told you I don't share as it is experimental, not clean, and a good lib will be released soon. So i don't want to spend more time for nothing.

      NeverDieN 1 Reply Last reply
      0
      • B brolly759

        OK I am going to join the party as this is exactly what I have been testing this past week. I have a uCurrent Gold and running on an 8Mhz 3.3v Nano Pro from this site:

        https://www.sparkfun.com/products/11114

        I have un-soldered the smt jumper to bypass all voltage regulating and running off of 2 AA Batteries.

        I am using the BinarySwitchSleepSensor sketch from the MySensors library. This uses pin 2/3 as an interrupt and sleeps until a pin hits GND. It wakes up, sends the new state, and goes back to sleep. The sketch also makes pin 2/3 high and uses the internal pull-up resistor.

        Originally I was getting 23-24uA in sleep mode when GND was not connected to pin 2/3. 117uA when GND was connected to pin 2/3. We will refer to this as open and closed pin state.

        Here is my methods:
        I downgraded my version of Arduino IDE to 1.0.6 from the latest build 1.6.5 and here are my new numbers:

        2.5-2.7uA sleep mode - Open pin state
        98-100uA sleep mode - Closed pin state

        Then I deleted from the sketch the digitalWrite on pin 2/3 and used an external resistor thanks to the advice from AWI. I plugged in an 10M Resistor to pin 2 to VCC and GND was the switch. Here are my new numbers:

        2.5-2.7uA sleep mode - Open pin state
        3.1-3.2uA sleep mode - Closed pin state

        So far today I have not gotten any false positives in my setup which is freaking amazing.

        Now I used a quick sketch "DallasTemperatureSensor" from the MySensors library to test what my current would be in sleep mode with a watchdog timer. I did NOT connect a temp sensor but my sleep current is: 7.6uA - 7.8uA.

        I hope this helps and if you need any testing let me know.

        I have a post on the Arduino forums here:
        http://forum.arduino.cc/index.php?topic=341958.msg2360300#msg2360300

        You can see me talking to the guy who actually wrote up the gammon website and you can ask him things directly if you ever wanted too. Very helpful guy!

        NeverDieN Offline
        NeverDieN Offline
        NeverDie
        Hero Member
        wrote on last edited by
        #25

        @brolly759 said:

        OK I am going to join the party as this is exactly what I have been testing this past week. I have a uCurrent Gold and running on an 8Mhz 3.3v Nano Pro from this site:

        https://www.sparkfun.com/products/11114

        I have un-soldered the smt jumper to bypass all voltage regulating and running off of 2 AA Batteries.

        I am using the BinarySwitchSleepSensor sketch from the MySensors library. This uses pin 2/3 as an interrupt and sleeps until a pin hits GND. It wakes up, sends the new state, and goes back to sleep. The sketch also makes pin 2/3 high and uses the internal pull-up resistor.

        Originally I was getting 23-24uA in sleep mode when GND was not connected to pin 2/3. 117uA when GND was connected to pin 2/3. We will refer to this as open and closed pin state.

        Here is my methods:
        I downgraded my version of Arduino IDE to 1.0.6 from the latest build 1.6.5 and here are my new numbers:

        2.5-2.7uA sleep mode - Open pin state
        98-100uA sleep mode - Closed pin state

        Then I deleted from the sketch the digitalWrite on pin 2/3 and used an external resistor thanks to the advice from AWI. I plugged in an 10M Resistor to pin 2 to VCC and GND was the switch. Here are my new numbers:

        2.5-2.7uA sleep mode - Open pin state
        3.1-3.2uA sleep mode - Closed pin state

        So far today I have not gotten any false positives in my setup which is freaking amazing.

        Now I used a quick sketch "DallasTemperatureSensor" from the MySensors library to test what my current would be in sleep mode with a watchdog timer. I did NOT connect a temp sensor but my sleep current is: 7.6uA - 7.8uA.

        I hope this helps and if you need any testing let me know.

        I have a post on the Arduino forums here:
        http://forum.arduino.cc/index.php?topic=341958.msg2360300#msg2360300

        You can see me talking to the guy who actually wrote up the gammon website and you can ask him things directly if you ever wanted too. Very helpful guy!

        If you removed your switch from the equation and just had the arduino pro mini sleep and never wake up (yeah, I know, it's a NOP), what sleep current would you get? That's the sleep current I've lately been trying to measure, because it's the simplest, base case, and you can add current drains to that, as needed.

        1 Reply Last reply
        0
        • B Offline
          B Offline
          brolly759
          wrote on last edited by
          #26

          This is testing using the Binary Switch Sleep sketch.

          The switch is not active when its in its "open state" so there is no drain. I removed the resistor though and all the jumpes, I am still getting around 2.7-2.8uA is sleep mode without switch.

          In sleep mode with the NRF ONLY VCC unplugged I am getting 1.3uA - 1.5uA.

          In sleep mode with ALL cables unplugged from NRF I am getting a strange reading and not really sure which one is accurate but here are my numbers:
          With uCurrent in uA mode I am getting .4uA -.5uA
          With uCurrent in nA mode I am getting 110-120nA

          I checked on Gammon site using the reference code, the nA of 110-120nA is accurate and the uA mode is wrong when I go down that low. So in short, I am getting 110-120nA when nRF is unplugged completely.

          1 Reply Last reply
          0
          • scalzS scalz

            @Neverdie: ok. this is what I was thinking..ahah no problem. I think you have misunderstood me.

            First, I think Brolly knows how to get low power as he said he has studied Gammon sketch. have you?

            Then, at the beginning I give you links to achieve low power but you told me that you wanted an easy to do way (the link with coin cell) and told !scalz. So I thought you didn't want to know more.

            So, if you want to try these steps and check (this was my first steps):

            • arduino pro mini, remove led and voltage reg
            • upload sketch J from Gammon, so you will be sure the best you can achieve
            • check at your uCurrent you will be < uA
            • Mysensors part : make a function from this sketch J and use it for sleeping instead of gw.sleep which use lowpowerlab (very strange I had difference with it and didn't investigated more). but you will need to find something for your radio next...like mosfet but it is other things.

            But If you try it, you will see with your eyes now...

            Yes I have already some codes. but I told you I don't share as it is experimental, not clean, and a good lib will be released soon. So i don't want to spend more time for nothing.

            NeverDieN Offline
            NeverDieN Offline
            NeverDie
            Hero Member
            wrote on last edited by NeverDie
            #27

            @scalz said:

            I think you have misunderstood me.

            Sounds that way. Probably my fault, due to lack of sleep.

            • check at your uCurrent you will be < uA

            Excellent!

            Next step for me: placing an order with Great Wall Electronics for 10x pro mini's, as that is now critical path. By the time it arrives (hopefully even sooner), l should have this figured out.

            1 Reply Last reply
            0
            • NeverDieN Offline
              NeverDieN Offline
              NeverDie
              Hero Member
              wrote on last edited by NeverDie
              #28

              BTW, while on Great Wall, I noticed these RTC functional knock-offs of the Chronodot are just $0.57/each.

              http://www.aliexpress.com/item/DS3231-AT24C32-IIC-Module-Precision-Clock-Module-DS3231SN-for-Arduino-Memory-module-Free-Shipping/32346088222.html

              It might make sense to use one of them to wake up an arduino just once, when it needs to be woken, instead of every 8 seconds, as when using the Watchdog Timer. The current consumed by a genuine ChronoDot is: 200uA (active), 840nA (timekeeping) I don't have amp figures for the Great Wall knock-offs. I have a couple of the genuine chronodots, and they keep pretty accurate time.

              1 Reply Last reply
              0
              • B Offline
                B Offline
                brolly759
                wrote on last edited by
                #29

                We really need a separate section just on power consumption, what each person gets per each configuration and instructions lol.

                I have never played with the Chronodot or any time stamp stuff. Is is easy to program?

                It does make sense to remove the watchdog timer: 7uA current with this but, who wants to do the math? What is the rise/fall time of the Chronodot? Depending on the duration of the rise time and frequency of waking up the arduino, we may not be saving much power. (Algebra was never my strong suite. Never went to college lol)

                On a side note, I am working with Gammon on figuring out why the nRF takes so much power: 2.4uA in sleep mode. Though I don't have any hardware at home so we must wait until tomorrow for that. In theory Arduino = 100+- nA + 800-900nA(NRF) = 1uA in sleep mode with an interrupt. That is what we all need to be aiming for, or at least I am.

                1 Reply Last reply
                0
                • NeverDieN Offline
                  NeverDieN Offline
                  NeverDie
                  Hero Member
                  wrote on last edited by
                  #30

                  I think I spoke too soon. For battery applications, probably by now there are better options.

                  1 Reply Last reply
                  0
                  • B Offline
                    B Offline
                    brolly759
                    wrote on last edited by
                    #31

                    @NeverDie Trust me, there is never the perfect option... every time you think you have the right part and use it, another one that is better comes out... cant work fast enough anymore lol

                    1 Reply Last reply
                    0
                    • B Offline
                      B Offline
                      brolly759
                      wrote on last edited by
                      #32

                      Look at this one:
                      http://ambiqmicro.com/am18xx-ultra-low-power-rtc

                      14nA !!!! haha

                      1 Reply Last reply
                      0
                      • NeverDieN Offline
                        NeverDieN Offline
                        NeverDie
                        Hero Member
                        wrote on last edited by NeverDie
                        #33

                        Wow! Good find. LOL. I was just about to post the following, as a "for instance," but you already found something that's 2-7x better.

                        "For instance, Digikey now sells a$14.40 eval board with a newer RTC clock on it that consumes just 100na: http://www.digikey.com/product-detail/en/OM13512/568-11550-ND/4947022
                        That one uses SPI bus, but there's an I2C variant."

                        I'd really prefer that it be built into the MCU anyway. These things are just the bridge to that. If the WDT could have timed beyond 8 seconds to hours or days, we might not even be talking about it. Apparently it was meant for rebooting the MCU if the MCU got wedged, not for sleeping the MCU for hours or days. It illustrates how long overdue the arduino is for a major updating.

                        1 Reply Last reply
                        0
                        • B Offline
                          B Offline
                          brolly759
                          wrote on last edited by
                          #34

                          You may want to check how the mySensors library actually works. I barely know hardware and coding, I scrape by... lol but in all the sensor examples you have this code:

                          unsigned long SLEEP_TIME = 30000; // Sleep time between reads (in milliseconds)
                          
                          gw.sleep(SLEEP_TIME);
                          

                          That is a 30 second duration for sleep. I haven't tried to increase that time yet but maybe they are looping through the 8 second limit? Dunno. Worth to check though how they do it.

                          My issue is that this sleep method uses 7.6-7.8uA. It would be nice to have it at like < 3uA.

                          1 Reply Last reply
                          0
                          • B Offline
                            B Offline
                            brolly759
                            wrote on last edited by
                            #35

                            I am digging around and looking at the code, I think it just cycles through 8 second batches.

                            We have an unsigned long, so thats 4,294,967,295 ms = 4294967.295 seconds = 71582.78825 minutes = 1193.046470833333 hours = 49.71026961805556 days.

                            So IF there is not a cap on the max duration of sleep in the Mysensors library, you can theoretically go to sleep for the max duration of the unsigned long which is about 49 ish days...

                            1 Reply Last reply
                            0
                            • hekH Offline
                              hekH Offline
                              hek
                              Admin
                              wrote on last edited by hek
                              #36

                              Actually the ATMega328 can only sleep in cycles of 8 seconds maximum:

                              This is where the virtual long sleep is generated:
                              https://github.com/mysensors/Arduino/blob/master/libraries/MySensors/MyHwATMega328.cpp#L124

                              1 Reply Last reply
                              0
                              • scalzS Offline
                                scalzS Offline
                                scalz
                                Hardware Contributor
                                wrote on last edited by scalz
                                #37

                                I have some chronodots too. I thought about same thing (wake up with rtc) but I have not tested yet. And, anyway, i will stay with ulpnode. I have bought chronodots for another pcb I am working on; sort of low power Flower Power for outdoor more robust as I will do my inox ec/humidity sensors myself (I have a mini lathe at home) and with datalogging inside (so need rtc). And I will try to wake up with rtc (programmable hours).

                                For Atmega328, I agree with @Hek, and you can't do what you want with watchdog. WDT is already well implemented in Lowpowerlab/MYsensors. You can't do more than 8sec cycles. It is in datasheet.
                                So if you want to wake up each x min/hours or days. Best way I think is RTC. If you need smaller cycle, WDT or ulpnode power management sequence.
                                I have already done your research few months ago to see if if i could do something different Charles. Unfortunately for me, I had to reproduce ulpnode sequence as he already had the good idea for this I think..it was a good exercise for me :smiley:

                                Yesterday I found this https://www.kickstarter.com/projects/flutterwireless/flutter-20-wireless-arduino-with-half-mile-1km-ran It is opensource. Well designed I think.
                                Funny thing too, atsam3s1a is not bad and have rtc too.

                                NeverDieN 1 Reply Last reply
                                0
                                • OitzuO Offline
                                  OitzuO Offline
                                  Oitzu
                                  wrote on last edited by
                                  #38

                                  @scalz said:

                                  Yesterday I found this https://www.kickstarter.com/projects/flutterwireless/flutter-20-wireless-arduino-with-half-mile-1km-ran It is opensource. Well designed I think.
                                  Funny thing too, atsam3s1a is not bad and have rtc too.

                                  I see they using the CC1200. I don't want to hijack this thread, but any information if they really can achive the 1000m they promise with that?

                                  NeverDieN 1 Reply Last reply
                                  0
                                  • OitzuO Oitzu

                                    @scalz said:

                                    Yesterday I found this https://www.kickstarter.com/projects/flutterwireless/flutter-20-wireless-arduino-with-half-mile-1km-ran It is opensource. Well designed I think.
                                    Funny thing too, atsam3s1a is not bad and have rtc too.

                                    I see they using the CC1200. I don't want to hijack this thread, but any information if they really can achive the 1000m they promise with that?

                                    NeverDieN Offline
                                    NeverDieN Offline
                                    NeverDie
                                    Hero Member
                                    wrote on last edited by
                                    #39

                                    @Oitzu said:

                                    @scalz said:

                                    Yesterday I found this https://www.kickstarter.com/projects/flutterwireless/flutter-20-wireless-arduino-with-half-mile-1km-ran It is opensource. Well designed I think.
                                    Funny thing too, atsam3s1a is not bad and have rtc too.

                                    I see they using the CC1200. I don't want to hijack this thread, but any information if they really can achive the 1000m they promise with that?

                                    TI did some youtube videos in Norway and South Africa showing huge outdoor range (tens of kilometers) if the conditions are ideal (line of sight, with one transmitter on a mountain, etc.). But you gotta ask yourself: why South Africa? I think probably because the noise floor is so low. It makes for a more seemingly impressive demo.

                                    They have very high sensitivity, which is great. I'm told much of it might be wastedl in a home environment, where the noise floor tends to be higher.

                                    OitzuO 1 Reply Last reply
                                    0
                                    • NeverDieN NeverDie

                                      @Oitzu said:

                                      @scalz said:

                                      Yesterday I found this https://www.kickstarter.com/projects/flutterwireless/flutter-20-wireless-arduino-with-half-mile-1km-ran It is opensource. Well designed I think.
                                      Funny thing too, atsam3s1a is not bad and have rtc too.

                                      I see they using the CC1200. I don't want to hijack this thread, but any information if they really can achive the 1000m they promise with that?

                                      TI did some youtube videos in Norway and South Africa showing huge outdoor range (tens of kilometers) if the conditions are ideal (line of sight, with one transmitter on a mountain, etc.). But you gotta ask yourself: why South Africa? I think probably because the noise floor is so low. It makes for a more seemingly impressive demo.

                                      They have very high sensitivity, which is great. I'm told much of it might be wastedl in a home environment, where the noise floor tends to be higher.

                                      OitzuO Offline
                                      OitzuO Offline
                                      Oitzu
                                      wrote on last edited by
                                      #40

                                      @NeverDie said:

                                      They have very high sensitivity, which is great. I'm told much of it might be wastedl in a home environment, where the noise floor tends to be higher.

                                      Hm.. okay. I'm asking because i'm currently trying to build an outdoor high range / low power network.
                                      I don't find any of these cc1200 available on the market, so i will stick to my way of testing some nrf24L01+ with high gain directional antennas. :)

                                      NeverDieN SparkmanS 2 Replies Last reply
                                      0
                                      • scalzS scalz

                                        I have some chronodots too. I thought about same thing (wake up with rtc) but I have not tested yet. And, anyway, i will stay with ulpnode. I have bought chronodots for another pcb I am working on; sort of low power Flower Power for outdoor more robust as I will do my inox ec/humidity sensors myself (I have a mini lathe at home) and with datalogging inside (so need rtc). And I will try to wake up with rtc (programmable hours).

                                        For Atmega328, I agree with @Hek, and you can't do what you want with watchdog. WDT is already well implemented in Lowpowerlab/MYsensors. You can't do more than 8sec cycles. It is in datasheet.
                                        So if you want to wake up each x min/hours or days. Best way I think is RTC. If you need smaller cycle, WDT or ulpnode power management sequence.
                                        I have already done your research few months ago to see if if i could do something different Charles. Unfortunately for me, I had to reproduce ulpnode sequence as he already had the good idea for this I think..it was a good exercise for me :smiley:

                                        Yesterday I found this https://www.kickstarter.com/projects/flutterwireless/flutter-20-wireless-arduino-with-half-mile-1km-ran It is opensource. Well designed I think.
                                        Funny thing too, atsam3s1a is not bad and have rtc too.

                                        NeverDieN Offline
                                        NeverDieN Offline
                                        NeverDie
                                        Hero Member
                                        wrote on last edited by NeverDie
                                        #41

                                        @scalz said:

                                        I have some chronodots too. I thought about same thing (wake up with rtc) but I have not tested yet. And, anyway, i will stay with ulpnode. I have bought chronodots for another pcb I am working on; sort of low power Flower Power for outdoor more robust as I will do my inox ec/humidity sensors myself (I have a mini lathe at home) and with datalogging inside (so need rtc). And I will try to wake up with rtc (programmable hours).

                                        For Atmega328, I agree with @Hek, and you can't do what you want with watchdog. WDT is already well implemented in Lowpowerlab/MYsensors. You can't do more than 8sec cycles. It is in datasheet.
                                        So if you want to wake up each x min/hours or days. Best way I think is RTC. If you need smaller cycle, WDT or ulpnode power management sequence.
                                        I have already done your research few months ago to see if if i could do something different Charles. Unfortunately for me, I had to reproduce ulpnode sequence as he already had the good idea for this I think..it was a good exercise for me :smiley:

                                        Yesterday I found this https://www.kickstarter.com/projects/flutterwireless/flutter-20-wireless-arduino-with-half-mile-1km-ran It is opensource. Well designed I think.
                                        Funny thing too, atsam3s1a is not bad and have rtc too.

                                        One of the JeeLabs articles said that with an external clock to do the wakeups, allowing WDT to be turned off, then the atmega328p sleep current (not counting the external clock) could be reduced to 100nA. At that point (and probably long before), the MCU's drain just isn't a signficant factor anymore. and other things become dominant. Things like current leaks through capacitors, then become, relatively speaking, a comparatively huge problem.

                                        [Edit: Found it: "With an ATmega328 powered by 3.3V, the lowest practical current consumption is about 4 µA – that’s with the watchdog enabled to get us back out of sleep mode. Without the internal watchdog, i.e. if we were to rely on the RFM12B’s wake-up timer, that power-down current consumption would drop considerably – to about 0.1 µA:" http://jeelabs.org/2012/06/23/low-power-uas-in-perspective/ ]

                                        1 Reply Last reply
                                        0
                                        • OitzuO Oitzu

                                          @NeverDie said:

                                          They have very high sensitivity, which is great. I'm told much of it might be wastedl in a home environment, where the noise floor tends to be higher.

                                          Hm.. okay. I'm asking because i'm currently trying to build an outdoor high range / low power network.
                                          I don't find any of these cc1200 available on the market, so i will stick to my way of testing some nrf24L01+ with high gain directional antennas. :)

                                          NeverDieN Offline
                                          NeverDieN Offline
                                          NeverDie
                                          Hero Member
                                          wrote on last edited by NeverDie
                                          #42

                                          @Oitzu said:

                                          @NeverDie said:

                                          They have very high sensitivity, which is great. I'm told much of it might be wastedl in a home environment, where the noise floor tends to be higher.

                                          Hm.. okay. I'm asking because i'm currently trying to build an outdoor high range / low power network.
                                          I don't find any of these cc1200 available on the market, so i will stick to my way of testing some nrf24L01+ with high gain directional antennas. :)

                                          In that case, also keep an eye on the Sematech SX1272 and SX1276 radio chips. IIRC, they have an even bigger link budget. They're finally becoming more affordable. Or the Silicon Labs Si4463.is also geared to play in the same ISM narrowband space.

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          11

                                          Online

                                          11.7k

                                          Users

                                          11.2k

                                          Topics

                                          113.1k

                                          Posts


                                          Copyright 2025 TBD   |   Forum Guidelines   |   Privacy Policy   |   Terms of Service
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • MySensors
                                          • OpenHardware.io
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular