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. My Project
  3. Efergy e2 power meter

Efergy e2 power meter

Scheduled Pinned Locked Moved My Project
33 Posts 9 Posters 12.7k 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.
  • G Offline
    G Offline
    gtortone
    wrote on last edited by
    #1

    Hi,
    I just published on github (https://github.com/gtortone/MySensors-Efergy-e2) my last work about integration of Efergy e2 power meter with MySensors. The Efergy e2 electricity monitor (http://efergy.com/it/products/electricity-monitors/e2-classic) provides a sensor that wirelessly sends information about the amount of electricity you are using to the display monitor. The monitor converts this into kilowatt-hours.

    This sketch use a JeeNode v5 (http://jeelabs.net/projects/hardware/wiki/JeeNode) equipped with 433/868 MHz RFM12B module (www.hoperf.com/upload/rf/RFM12B.pdf) configured in OOK mode to capture wireless data (on pin D3) and forward it through NRF24L01+ with MySensors library.

    Comments and suggestions are very welcome !

    Regards,
    Gennaro

    p.s. photos will be published soon !

    korttomaK G 2 Replies Last reply
    4
    • G gtortone

      Hi,
      I just published on github (https://github.com/gtortone/MySensors-Efergy-e2) my last work about integration of Efergy e2 power meter with MySensors. The Efergy e2 electricity monitor (http://efergy.com/it/products/electricity-monitors/e2-classic) provides a sensor that wirelessly sends information about the amount of electricity you are using to the display monitor. The monitor converts this into kilowatt-hours.

      This sketch use a JeeNode v5 (http://jeelabs.net/projects/hardware/wiki/JeeNode) equipped with 433/868 MHz RFM12B module (www.hoperf.com/upload/rf/RFM12B.pdf) configured in OOK mode to capture wireless data (on pin D3) and forward it through NRF24L01+ with MySensors library.

      Comments and suggestions are very welcome !

      Regards,
      Gennaro

      p.s. photos will be published soon !

      korttomaK Offline
      korttomaK Offline
      korttoma
      Hero Member
      wrote on last edited by
      #2

      @gtortone very nice! I think I have one of these efergy e2s collecting dust. I would love to get more info on how you connected the RFM12B and where you purchased it from so I can get the correct type.

      • Tomas
      G 1 Reply Last reply
      0
      • G gtortone

        Hi,
        I just published on github (https://github.com/gtortone/MySensors-Efergy-e2) my last work about integration of Efergy e2 power meter with MySensors. The Efergy e2 electricity monitor (http://efergy.com/it/products/electricity-monitors/e2-classic) provides a sensor that wirelessly sends information about the amount of electricity you are using to the display monitor. The monitor converts this into kilowatt-hours.

        This sketch use a JeeNode v5 (http://jeelabs.net/projects/hardware/wiki/JeeNode) equipped with 433/868 MHz RFM12B module (www.hoperf.com/upload/rf/RFM12B.pdf) configured in OOK mode to capture wireless data (on pin D3) and forward it through NRF24L01+ with MySensors library.

        Comments and suggestions are very welcome !

        Regards,
        Gennaro

        p.s. photos will be published soon !

        G Offline
        G Offline
        gtortone
        wrote on last edited by gtortone
        #3

        0_1479895314189_Efergy-ook.jpg
        Photo #1: Efergy E2 OOK signal decoded by Zeroplus logic analyzer

        0_1479893860303_IMG_20161123_102350_HHT.jpg
        Photo #2: JeeNode module with RFM12B radio module

        0_1479894251430_IMG_20161123_102416_HHT.jpg
        Photo #3: NRF24L01+ JeeNode shield pluggable on SPI header of JeeNode

        0_1479894306958_IMG_20161123_102435_HHT.jpg
        Photo #4: Final result !

        0_1479894343738_IMG_20161123_102459_HHT.jpg
        Photo #5: Detail of RFM12B Data pin routed to D3 in order to perform software OOK decoding

        0_1479894410202_IMG_20161121_195948.jpg
        Photo #6: Efergy power meter display shows same value of software !

        0_1479894491250_IMG_20161123_102826_HHT.jpg
        Photo #7: First data gathered by Home Assistant (https://home-assistant.io) on Raspberry PI 3

        Some notes:

        1. I'm using a RFM12B radio module tuned for 868Mhz equipped with 433 MHz antenna... but everything goes fine due to RFM12B has frequency tuning

        2. I plan to do another setup using a simple 433 Mhz receiver or other Hoperf 433 Mhz receiver module (RFM12B are obsoleted modules)

        1 Reply Last reply
        2
        • korttomaK korttoma

          @gtortone very nice! I think I have one of these efergy e2s collecting dust. I would love to get more info on how you connected the RFM12B and where you purchased it from so I can get the correct type.

          G Offline
          G Offline
          gtortone
          wrote on last edited by gtortone
          #4

          @korttoma said:

          @gtortone very nice! I think I have one of these efergy e2s collecting dust. I would love to get more info on how you connected the RFM12B and where you purchased it from so I can get the correct type.

          Hi, as you can see in photos I just posted, you need to connect DATA pin of RFM12B to a digital input of Atmega328P (it must be a pin suitable for interrupt).

          RFM12B modules are not longer available... I have some of these (old) modules (all of them tuned for 868 Mhz) but I will do some tests with a cheap 433 MHz receiver (like this one: http://bit.ly/2gl6yXJ) or with a recent Hoperf transceiver modules (RFM69)

          Thanks,
          Gennaro

          korttomaK 1 Reply Last reply
          0
          • G gtortone

            @korttoma said:

            @gtortone very nice! I think I have one of these efergy e2s collecting dust. I would love to get more info on how you connected the RFM12B and where you purchased it from so I can get the correct type.

            Hi, as you can see in photos I just posted, you need to connect DATA pin of RFM12B to a digital input of Atmega328P (it must be a pin suitable for interrupt).

            RFM12B modules are not longer available... I have some of these (old) modules (all of them tuned for 868 Mhz) but I will do some tests with a cheap 433 MHz receiver (like this one: http://bit.ly/2gl6yXJ) or with a recent Hoperf transceiver modules (RFM69)

            Thanks,
            Gennaro

            korttomaK Offline
            korttomaK Offline
            korttoma
            Hero Member
            wrote on last edited by
            #5

            @gtortone maybe we could even use one of these RXB6 433Mhz Superheterodyne Wireless Receiver Modules I used one for another project.

            • Tomas
            1 Reply Last reply
            1
            • korttomaK Offline
              korttomaK Offline
              korttoma
              Hero Member
              wrote on last edited by
              #6

              Hi again @gtortone

              I finally found my efergy device from the bottom of a drawer.
              It says Model No: TX (ENGAGE HUB) on the back of the transmitter.
              And HK-1.0-UK on the ethernet hub device .

              I tried some libraries with my cheep 433MHz receiver module but I do not get anything.
              I guess I will have to wait for the RFM12b to get here and try your code and hope it works.

              Unless you have some idea how to use one of these cheep receivers? Or know about some good Library to sniff the code?

              • Tomas
              G 1 Reply Last reply
              0
              • korttomaK korttoma

                Hi again @gtortone

                I finally found my efergy device from the bottom of a drawer.
                It says Model No: TX (ENGAGE HUB) on the back of the transmitter.
                And HK-1.0-UK on the ethernet hub device .

                I tried some libraries with my cheep 433MHz receiver module but I do not get anything.
                I guess I will have to wait for the RFM12b to get here and try your code and hope it works.

                Unless you have some idea how to use one of these cheep receivers? Or know about some good Library to sniff the code?

                G Offline
                G Offline
                gtortone
                wrote on last edited by
                #7

                Hi @korttoma,

                I did not tested cheap 433 MHz modules yet... I will receive a couple of them next week !
                anywai RFM12b is a great module that has interesting features like frequency tuning and adjustable gain...

                If I will have updates on cheap modules I will update this thread !

                1 Reply Last reply
                1
                • korttomaK Offline
                  korttomaK Offline
                  korttoma
                  Hero Member
                  wrote on last edited by
                  #8

                  I have now received the RFM12b module, unfortunately I will not have time to set it up for the next 2 weeks but until then.
                  Could you clarify how I need to wire it?
                  Is it really enough to have RFM12B Data pin routed to D3?
                  Do I need to somehow reprogram it using ISP to work in OOK mode?

                  Did you have a chance to try any cheep 433MHz receiver yet?

                  • Tomas
                  G 1 Reply Last reply
                  0
                  • korttomaK korttoma

                    I have now received the RFM12b module, unfortunately I will not have time to set it up for the next 2 weeks but until then.
                    Could you clarify how I need to wire it?
                    Is it really enough to have RFM12B Data pin routed to D3?
                    Do I need to somehow reprogram it using ISP to work in OOK mode?

                    Did you have a chance to try any cheep 433MHz receiver yet?

                    G Offline
                    G Offline
                    gtortone
                    wrote on last edited by
                    #9

                    @korttoma

                    Hi,
                    you need to connect RFM12b module to Arduino following this schematic (you can avoid to connect IRQ line...)

                    http://jeelabs.net/attachments/download/331/jlpcb-128.pdf

                    after this cabling you need to connect RFM12b DATA pin to Arduino D3 pin (you can select a different pin but modify
                    code accordingly...)

                    only after this you can use the Mysensors-Efergy-e2 sketch (https://github.com/gtortone/MySensors-Efergy-e2) to get
                    RF data;

                    I tested my code with cheap RF modules (I received them some days ago) but the performance of these modules are very
                    poor... I will try to do other work on cheap RF modules in the future...

                    Thanks !

                    korttomaK 1 Reply Last reply
                    0
                    • G gtortone

                      @korttoma

                      Hi,
                      you need to connect RFM12b module to Arduino following this schematic (you can avoid to connect IRQ line...)

                      http://jeelabs.net/attachments/download/331/jlpcb-128.pdf

                      after this cabling you need to connect RFM12b DATA pin to Arduino D3 pin (you can select a different pin but modify
                      code accordingly...)

                      only after this you can use the Mysensors-Efergy-e2 sketch (https://github.com/gtortone/MySensors-Efergy-e2) to get
                      RF data;

                      I tested my code with cheap RF modules (I received them some days ago) but the performance of these modules are very
                      poor... I will try to do other work on cheap RF modules in the future...

                      Thanks !

                      korttomaK Offline
                      korttomaK Offline
                      korttoma
                      Hero Member
                      wrote on last edited by
                      #10

                      @gtortone thanks for the clarification on the wiring of the RFM12b.

                      In what way was the performance of cheap RF radio poor? Is the range just bad or does it miss transmissions? The first cheap radios I got also had poor reception, this is why I upgraded to the RXB6 from my earlier post. Can you share the code you used with the cheap RF radios maybe my RXB6 module performs better?

                      • Tomas
                      G 1 Reply Last reply
                      0
                      • korttomaK korttoma

                        @gtortone thanks for the clarification on the wiring of the RFM12b.

                        In what way was the performance of cheap RF radio poor? Is the range just bad or does it miss transmissions? The first cheap radios I got also had poor reception, this is why I upgraded to the RXB6 from my earlier post. Can you share the code you used with the cheap RF radios maybe my RXB6 module performs better?

                        G Offline
                        G Offline
                        gtortone
                        wrote on last edited by gtortone
                        #11

                        @korttoma

                        Hi, I have these modules:
                        http://www.banggood.com/433Mhz-RF-Transmitter-With-Receiver-Kit-For-Arduino-ARM-MCU-Wireless-p-74102.html?rmmds=search

                        the range is only few centimeters... I will try to do some antenna tuning but I don't expect any significative improvement.

                        If you want to try with your RXB6 module the code is always the same, you have only to remove the configuration code lines related to RFM12b configuration;

                        korttomaK 1 Reply Last reply
                        1
                        • G gtortone

                          @korttoma

                          Hi, I have these modules:
                          http://www.banggood.com/433Mhz-RF-Transmitter-With-Receiver-Kit-For-Arduino-ARM-MCU-Wireless-p-74102.html?rmmds=search

                          the range is only few centimeters... I will try to do some antenna tuning but I don't expect any significative improvement.

                          If you want to try with your RXB6 module the code is always the same, you have only to remove the configuration code lines related to RFM12b configuration;

                          korttomaK Offline
                          korttomaK Offline
                          korttoma
                          Hero Member
                          wrote on last edited by korttoma
                          #12

                          @gtortone that is the same useless junk I got from e-bay at first, range is terrible.

                          This gives me some hope to get this working with the RXB6. I will test this as son as I can (might be a few weeks until I can).

                          • Tomas
                          M 1 Reply Last reply
                          0
                          • korttomaK Offline
                            korttomaK Offline
                            korttoma
                            Hero Member
                            wrote on last edited by korttoma
                            #13

                            Hi @gtortone ,
                            I finally found some time to hock up the RFM12B. Seems to be almost working. I just get the value "inf" for current. Do I have some datatype problem or maybe it should be calculated differently my Efergy engage hub?
                            I'm using a Arduino Pro Mini 3.3V

                            Attached the serial print.0_1484211281663_efergyLog.txt

                            I should see values around 100W most of the time and some smaller down to 30W.

                            Edit: It seems like it might be payload[6] that is equal to 255 at 100W and 254 at under 40W that is causing problems with the calculation.

                            Edit2: Took 3 samples at around 30W, 60W and 100W. 0_1484220204136_efergyLog2.txt I need to find something so that I could test higher values to so I could figure out the formula to use.

                            • Tomas
                            G 2 Replies Last reply
                            0
                            • korttomaK korttoma

                              Hi @gtortone ,
                              I finally found some time to hock up the RFM12B. Seems to be almost working. I just get the value "inf" for current. Do I have some datatype problem or maybe it should be calculated differently my Efergy engage hub?
                              I'm using a Arduino Pro Mini 3.3V

                              Attached the serial print.0_1484211281663_efergyLog.txt

                              I should see values around 100W most of the time and some smaller down to 30W.

                              Edit: It seems like it might be payload[6] that is equal to 255 at 100W and 254 at under 40W that is causing problems with the calculation.

                              Edit2: Took 3 samples at around 30W, 60W and 100W. 0_1484220204136_efergyLog2.txt I need to find something so that I could test higher values to so I could figure out the formula to use.

                              G Offline
                              G Offline
                              gtortone
                              wrote on last edited by gtortone
                              #14

                              Hi @korttoma,
                              happy to read that you are getting "reasonable" values from RFM12B !!

                              but I agree that in your case the decoding protocol needs some refinements...
                              just a question: your line voltage is 110 or 240 ?

                              take into account that from Efergy current sensor you get the value of "current" and
                              not "power" than for 30W expected value from data is (V/30) [Ampere]...

                              1 Reply Last reply
                              0
                              • korttomaK korttoma

                                Hi @gtortone ,
                                I finally found some time to hock up the RFM12B. Seems to be almost working. I just get the value "inf" for current. Do I have some datatype problem or maybe it should be calculated differently my Efergy engage hub?
                                I'm using a Arduino Pro Mini 3.3V

                                Attached the serial print.0_1484211281663_efergyLog.txt

                                I should see values around 100W most of the time and some smaller down to 30W.

                                Edit: It seems like it might be payload[6] that is equal to 255 at 100W and 254 at under 40W that is causing problems with the calculation.

                                Edit2: Took 3 samples at around 30W, 60W and 100W. 0_1484220204136_efergyLog2.txt I need to find something so that I could test higher values to so I could figure out the formula to use.

                                G Offline
                                G Offline
                                gtortone
                                wrote on last edited by
                                #15

                                Hi @korttoma,
                                take a look to this decoding based on your collected data for 30W, 60W and 100W;

                                everything seems to be ok !!

                                Regards,
                                Gennaro

                                p.s. I checked in your profile that you live in Finland and power voltage is 220/240 V :-)

                                • bytes #1: 0x09 fixed value
                                • bytes #2: 0X50 fixed value
                                • bytes #3: 0x2E fixed value
                                • bytes #4: 0x40 fixed value
                                • bytes #5: current MSB
                                • bytes #6: current LSB
                                • bytes #7: exponent
                                • bytes #8: CRC
                                • current detected = ((MSB << 8) + LSB / 65535) / pow(2, (255-exponent))

                                30 W = 0.13 A (@220V)

                                9 - 0x09
                                80 - 0x50
                                46 - 0x2E
                                64 - 0x40

                                71 - 0x47
                                172 - 0xAC
                                254 - 0xFE
                                184 - 0xB8

                                0x47AC = 18348

                                current = 18348 / 65535 / pow(2, 1) = 0.139 A

                                60 W = 0.26 A (@220V)

                                9 - 0x09
                                80 - 0x50
                                46 - 0x2E
                                64 - 0x40

                                69 - 0x45
                                29 - 0x1D
                                255 - 0xFF
                                40 - 0x28

                                0x451D = 17693

                                current = 17693 / 65535 / pow(2, 0) = 0.269 A

                                100 W = 0.45 A (@220V)

                                9 - 0x09
                                80 - 0x50
                                46 - 0x2E
                                64 - 0x40

                                112 - 0x70
                                163 - 0xA3
                                255 - 0xFF
                                217 - 0xD9

                                0x70A3 = 28835 (10)

                                current = 28835 / 65535 / pow(2, 0) = 0.439 A

                                1 Reply Last reply
                                0
                                • korttomaK Offline
                                  korttomaK Offline
                                  korttoma
                                  Hero Member
                                  wrote on last edited by korttoma
                                  #16

                                  Thanks @gtortone your formula seems to work. I just need to find a way to test higher values.

                                  I almost had the same formula but I did not have the "65535". Could you explain where you got this value from?

                                  -- S --
                                  9
                                  80
                                  46
                                  64
                                  76
                                  204
                                  254
                                  221
                                  -- E --
                                  abc_value = 19660current = 0.15A - power = 34.50 W
                                  23701 TSF:MSG:SEND,9-9-0-0,s=9,c=1,t=17,pt=2,l=2,sg=0,ft=0,st=OK:34
                                  OK = 4 - short pk = 0 - long pk = 0 - crc bad = 0
                                  -- S --
                                  9
                                  80
                                  46
                                  64
                                  71
                                  173
                                  255
                                  186
                                  -- E --
                                  abc_value = 18349current = 0.28A - power = 64.40 W
                                  29693 TSF:MSG:SEND,9-9-0-0,s=9,c=1,t=17,pt=2,l=2,sg=0,ft=0,st=OK:64
                                  OK = 5 - short pk = 0 - long pk = 0 - crc bad = 0
                                  -- S --
                                  9
                                  80
                                  46
                                  64
                                  115
                                  51
                                  255
                                  108
                                  -- E --
                                  abc_value = 29491current = 0.45A - power = 103.50 W
                                  35688 TSF:MSG:SEND,9-9-0-0,s=9,c=1,t=17,pt=2,l=2,sg=0,ft=0,st=OK:103
                                  OK = 6 - short pk = 0 - long pk = 0 - crc bad = 0
                                  
                                  • Tomas
                                  G 1 Reply Last reply
                                  0
                                  • korttomaK korttoma

                                    Thanks @gtortone your formula seems to work. I just need to find a way to test higher values.

                                    I almost had the same formula but I did not have the "65535". Could you explain where you got this value from?

                                    -- S --
                                    9
                                    80
                                    46
                                    64
                                    76
                                    204
                                    254
                                    221
                                    -- E --
                                    abc_value = 19660current = 0.15A - power = 34.50 W
                                    23701 TSF:MSG:SEND,9-9-0-0,s=9,c=1,t=17,pt=2,l=2,sg=0,ft=0,st=OK:34
                                    OK = 4 - short pk = 0 - long pk = 0 - crc bad = 0
                                    -- S --
                                    9
                                    80
                                    46
                                    64
                                    71
                                    173
                                    255
                                    186
                                    -- E --
                                    abc_value = 18349current = 0.28A - power = 64.40 W
                                    29693 TSF:MSG:SEND,9-9-0-0,s=9,c=1,t=17,pt=2,l=2,sg=0,ft=0,st=OK:64
                                    OK = 5 - short pk = 0 - long pk = 0 - crc bad = 0
                                    -- S --
                                    9
                                    80
                                    46
                                    64
                                    115
                                    51
                                    255
                                    108
                                    -- E --
                                    abc_value = 29491current = 0.45A - power = 103.50 W
                                    35688 TSF:MSG:SEND,9-9-0-0,s=9,c=1,t=17,pt=2,l=2,sg=0,ft=0,st=OK:103
                                    OK = 6 - short pk = 0 - long pk = 0 - crc bad = 0
                                    
                                    G Offline
                                    G Offline
                                    gtortone
                                    wrote on last edited by
                                    #17

                                    Hi @korttoma,

                                    the value 65535 or 32768 often is used as multiplier from sensor that send metric;
                                    usually when you have to send a "small" float value (temperature, current) you can send it as integer
                                    multiplied by a big constant instead of sending it with a float value converted in binary...

                                    I just refined my formula with this that is more close to formula I found for my Efergy using a small
                                    constant:

                                    current = 18348 / 32768 / pow(2, 255-254 + 1) = 0.139 A
                                    current = 17693 / 32768 / pow(2, 255-255 + 1) = 0.269 A
                                    current = 28835 / 32768 / pow(2, 255-255 + 1) = 0.439 A

                                    1 Reply Last reply
                                    0
                                    • korttomaK Offline
                                      korttomaK Offline
                                      korttoma
                                      Hero Member
                                      wrote on last edited by
                                      #18

                                      Hi @gtortone I'm working on finalizing this node and I'm having some trouble with stability. The node stays alive from a few minutes to 30min and then stops communicating.

                                      What kind of decoupling capacitors are you using in your setup?
                                      I now have 2 pc 0.1uF, 2 pc 47uF and one 0.33uF.

                                      I use a HLK-PM03, a Pro Mini 3.3, and the NRF24L01+

                                      Debugging output don't give me much to go in since it just stops responding.

                                      • Tomas
                                      G 1 Reply Last reply
                                      0
                                      • korttomaK korttoma

                                        Hi @gtortone I'm working on finalizing this node and I'm having some trouble with stability. The node stays alive from a few minutes to 30min and then stops communicating.

                                        What kind of decoupling capacitors are you using in your setup?
                                        I now have 2 pc 0.1uF, 2 pc 47uF and one 0.33uF.

                                        I use a HLK-PM03, a Pro Mini 3.3, and the NRF24L01+

                                        Debugging output don't give me much to go in since it just stops responding.

                                        G Offline
                                        G Offline
                                        gtortone
                                        wrote on last edited by
                                        #19

                                        @korttoma

                                        Hi,
                                        at the moment I'm defining some things in order to use RFM69 modules...
                                        in the past, on my NRF24L01+ I was using 10 uF capacitor but I had same problems of "stop responding"...

                                        korttomaK 2 Replies Last reply
                                        0
                                        • G gtortone

                                          @korttoma

                                          Hi,
                                          at the moment I'm defining some things in order to use RFM69 modules...
                                          in the past, on my NRF24L01+ I was using 10 uF capacitor but I had same problems of "stop responding"...

                                          korttomaK Offline
                                          korttomaK Offline
                                          korttoma
                                          Hero Member
                                          wrote on last edited by korttoma
                                          #20

                                          @gtortone My node has now been running for more then 40min since I added the 0.1uF and 0.33uF tantalum caps. I'm hoping this will be the solution for me since I have no tools to debug any disturbance like this.

                                          EDIT: It failed again :(

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


                                          12

                                          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