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. nRF5 action!

nRF5 action!

Scheduled Pinned Locked Moved My Project
1.9k Posts 49 Posters 630.9k Views 44 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.
  • T Toyman

    @d00616 thx. How do I use the macro? Just put in ISR?
    Regarding the bug: if read the docs correctly, all nrf51 have the bug :-(

    d00616D Offline
    d00616D Offline
    d00616
    Contest Winner
    wrote on last edited by
    #1121

    @Toyman said in nRF5 Bluetooth action!:

    @d00616 thx. How do I use the macro? Just put in ISR?

    Yes. Give the event register as parameter.

    Regarding the bug: if read the docs correctly, all nrf51 have the bug

    This bug is listed as PAN#39 and fixed at the end of 2014.

    T 1 Reply Last reply
    0
    • NeverDieN NeverDie

      OK, I found that adding:

        NRF_UART0->ENABLE=0;  //disable UART0
      

      brings the current consumption back down to 2.2ua during sleep. :)

      d00616D Offline
      d00616D Offline
      d00616
      Contest Winner
      wrote on last edited by d00616
      #1122

      @NeverDie said in nRF5 Bluetooth action!:

      OK, I found that adding:
      NRF_UART0->ENABLE=0; //disable UART0

      brings the current consumption back down to 2.2ua during sleep.

      Great work. Are you able to build an Pull Request fixing this? This Pull request should also be tested in the condition with a disabled serial port.

      If you need help, please ask. I do the reviews.

      NeverDieN 1 Reply Last reply
      0
      • d00616D d00616

        @Toyman said in nRF5 Bluetooth action!:

        @d00616 thx. How do I use the macro? Just put in ISR?

        Yes. Give the event register as parameter.

        Regarding the bug: if read the docs correctly, all nrf51 have the bug

        This bug is listed as PAN#39 and fixed at the end of 2014.

        T Offline
        T Offline
        Toyman
        wrote on last edited by
        #1123

        @d00616 said in nRF5 Bluetooth action!:

        Yes. Give the event register as parameter.

        so, if I have an intterupt atached to pin 1, what shall i put into ISR?
        NRF_RESET_EVENT....;
        Sorry for dumb questions, this is completely new to me.

        d00616D 1 Reply Last reply
        0
        • d00616D d00616

          @NeverDie said in nRF5 Bluetooth action!:

          OK, I found that adding:
          NRF_UART0->ENABLE=0; //disable UART0

          brings the current consumption back down to 2.2ua during sleep.

          Great work. Are you able to build an Pull Request fixing this? This Pull request should also be tested in the condition with a disabled serial port.

          If you need help, please ask. I do the reviews.

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

          @d00616 said in nRF5 Bluetooth action!:

          If you need help, please ask.

          What is it that I submit? A diff file or something? And I'm guessing I do it through github?

          NeverDieN d00616D 2 Replies Last reply
          0
          • NeverDieN NeverDie

            @d00616 said in nRF5 Bluetooth action!:

            If you need help, please ask.

            What is it that I submit? A diff file or something? And I'm guessing I do it through github?

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

            Just re-enabling the UART isn't enough. Nor are the existing UART related instructions after a wake-up, if UART0 was disabled. It seems to require a re-initialization. Another Serial.begin(BAUDRATE) after wake-up does work. However, I should point out that doing that isn't free, as it adds to wake-up time. So, you may wish to add another "level" of sleep, one which saves more energy while sleeping but at the cost of a longer wake-up. Moreover, the energy consumed during the longer wakeup isn't free either, so if the sleeps are very short, you could lose more energy for using it than not. One may, therefore, also want to calculate the breakeven point to provide guidance on when to use which level of sleep.

            In short, this is more than a simple fix, and the software architect probably needs to consider the bigger picture in order to craft the best solution.

            1 Reply Last reply
            0
            • T Offline
              T Offline
              Toyman
              wrote on last edited by Toyman
              #1126

              Guys,

              Have you seen this?

              Note, that our beloved ebyte is not there, but PTR9618PA is

              NeverDieN 1 Reply Last reply
              0
              • T Toyman

                Guys,

                Have you seen this?

                Note, that our beloved ebyte is not there, but PTR9618PA is

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

                @Toyman said in nRF5 Bluetooth action!:

                Guys,

                Have you seen this?

                Note, that our beloved ebyte is not there, but PTR9618PA is

                It's useful. But just knowing the module exists is one thing. Finding a source for it is another.

                T 2 Replies Last reply
                0
                • NeverDieN NeverDie

                  @Toyman said in nRF5 Bluetooth action!:

                  Guys,

                  Have you seen this?

                  Note, that our beloved ebyte is not there, but PTR9618PA is

                  It's useful. But just knowing the module exists is one thing. Finding a source for it is another.

                  T Offline
                  T Offline
                  Toyman
                  wrote on last edited by
                  #1128

                  @NeverDie I believe, buying non-Chinese modules in retail is virtually impossible, but Xuntong, Skylab and Raytaq are available at Ali.
                  For me, the list is more like "quality assurance"

                  1 Reply Last reply
                  0
                  • T Toyman

                    @d00616 said in nRF5 Bluetooth action!:

                    Yes. Give the event register as parameter.

                    so, if I have an intterupt atached to pin 1, what shall i put into ISR?
                    NRF_RESET_EVENT....;
                    Sorry for dumb questions, this is completely new to me.

                    d00616D Offline
                    d00616D Offline
                    d00616
                    Contest Winner
                    wrote on last edited by
                    #1129

                    @Toyman said in nRF5 Bluetooth action!:

                    @d00616 said in nRF5 Bluetooth action!:

                    Yes. Give the event register as parameter.

                    so, if I have an intterupt atached to pin 1, what shall i put into ISR?

                    With arduino-nrf5, you can't put nothing into the pin interrupt ISR because the ISR is already defined.

                    Sorry for dumb questions, this is completely new to me.

                    There are no dumb questions, there are bad answers.

                    1 Reply Last reply
                    0
                    • NeverDieN NeverDie

                      @d00616 said in nRF5 Bluetooth action!:

                      If you need help, please ask.

                      What is it that I submit? A diff file or something? And I'm guessing I do it through github?

                      d00616D Offline
                      d00616D Offline
                      d00616
                      Contest Winner
                      wrote on last edited by
                      #1130

                      @NeverDie said in nRF5 Bluetooth action!:

                      @d00616 said in nRF5 Bluetooth action!:

                      If you need help, please ask.

                      What is it that I submit? A diff file or something? And I'm guessing I do it through github?

                      There is and document describing the procedure: https://www.mysensors.org/download/contributing

                      I think this is a good document to start with. If you have trouble, please ask.

                      NeverDieN 1 Reply Last reply
                      0
                      • d00616D d00616

                        @NeverDie said in nRF5 Bluetooth action!:

                        @d00616 said in nRF5 Bluetooth action!:

                        If you need help, please ask.

                        What is it that I submit? A diff file or something? And I'm guessing I do it through github?

                        There is and document describing the procedure: https://www.mysensors.org/download/contributing

                        I think this is a good document to start with. If you have trouble, please ask.

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

                        @d00616
                        The solution I'm going with, which serves my present needs, is just to put all serial communications code within "DEBUG" compiler directives. So, if I'm not debugging, the issue just goes away, and there's no added overhead. :)

                        NeverDieN 1 Reply Last reply
                        0
                        • NeverDieN NeverDie

                          @d00616
                          The solution I'm going with, which serves my present needs, is just to put all serial communications code within "DEBUG" compiler directives. So, if I'm not debugging, the issue just goes away, and there's no added overhead. :)

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

                          @NeverDie said in nRF5 Bluetooth action!:

                          @d00616
                          The solution I'm going with, which serves my present needs, is just to put all serial communications code within "DEBUG" compiler directives. So, if I'm not debugging, the issue just goes away, and there's no added overhead. :)

                          Found a shortcut. Instead of doing all that, which is extra work and looks ugly too, I just disabled the UART0 on the first sleep, and then never re-enabled it. It works. Now my sleep current is just 2.1ua, except for the brief pulses every 100ms where the PPI listens for an incoming packet addressed to it. :)

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

                            I was just checking the nRF51 datasheet, and I don't see much, if any, PPI control available. So, I suppose that's yet another reason for preferring the nRF52....

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

                              Nonetheless, I just now measured the sleep current on the cheap nRF51822 that @NCA78 referenced:
                              https://www.aliexpress.com/item/NRF51822-04-BLE4-0-Wireless-Bluetooth-Module-TTL-Low-Power-Consumption-3-3V-New/32821044213.html?aff_platform=aaf&cpt=1507850033284&sk=e2Vzr3v&aff_trace_key=fa8ec197f200446fbd58fc8679ffb3bd-1507850033284-07709-e2Vzr3v&terminal_id=29bfb7ff18284b7f96acb3c3884390ce
                              It measures at 5ua, which is higher than the 2.1ua of the nRF52832, but still not bad in absolute terms. I was afraid after the discussion of how some nrf51's had a 1ma bug in the hardware that they would be counted among them. Fortunately, it seems not. :)

                              JokgiJ 1 Reply Last reply
                              1
                              • NeverDieN NeverDie

                                Nonetheless, I just now measured the sleep current on the cheap nRF51822 that @NCA78 referenced:
                                https://www.aliexpress.com/item/NRF51822-04-BLE4-0-Wireless-Bluetooth-Module-TTL-Low-Power-Consumption-3-3V-New/32821044213.html?aff_platform=aaf&cpt=1507850033284&sk=e2Vzr3v&aff_trace_key=fa8ec197f200446fbd58fc8679ffb3bd-1507850033284-07709-e2Vzr3v&terminal_id=29bfb7ff18284b7f96acb3c3884390ce
                                It measures at 5ua, which is higher than the 2.1ua of the nRF52832, but still not bad in absolute terms. I was afraid after the discussion of how some nrf51's had a 1ma bug in the hardware that they would be counted among them. Fortunately, it seems not. :)

                                JokgiJ Offline
                                JokgiJ Offline
                                Jokgi
                                wrote on last edited by
                                #1135

                                @NeverDie The nRF51 is done on a different process then then the nRF52. The nRF52 is on average 50% lower power then the nRF51. The picture of the module shows a nRF51822QFAA Hx part which is a 256k flash, 16k Ram part REV 3. You can see all the revision number here: http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.nrf51/dita/nrf51/compatibility_matrix/nRF51822_ic_revision_overview.html?cp=3_0_1

                                1 Reply Last reply
                                1
                                • NeverDieN NeverDie

                                  I was just checking the nRF51 datasheet, and I don't see much, if any, PPI control available. So, I suppose that's yet another reason for preferring the nRF52....

                                  JokgiJ Offline
                                  JokgiJ Offline
                                  Jokgi
                                  wrote on last edited by
                                  #1136

                                  @NeverDie You may wish to check out the nRF51 Reference guide in addition to the datasheet. http://infocenter.nordicsemi.com/pdf/nRF51_RM_v3.0.1.pdf The PPI is located in section 16.

                                  NeverDieN 1 Reply Last reply
                                  2
                                  • JokgiJ Jokgi

                                    @NeverDie You may wish to check out the nRF51 Reference guide in addition to the datasheet. http://infocenter.nordicsemi.com/pdf/nRF51_RM_v3.0.1.pdf The PPI is located in section 16.

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

                                    @Jokgi said in nRF5 Bluetooth action!:

                                    @NeverDie You may wish to check out the nRF51 Reference guide in addition to the datasheet. http://infocenter.nordicsemi.com/pdf/nRF51_RM_v3.0.1.pdf The PPI is located in section 16.

                                    Thanks! Doesn't look as though the nRF51822's PPI allows for FORK though, whereas the nRF52832 does.

                                    1 Reply Last reply
                                    0
                                    • NeverDieN NeverDie

                                      @Toyman said in nRF5 Bluetooth action!:

                                      Guys,

                                      Have you seen this?

                                      Note, that our beloved ebyte is not there, but PTR9618PA is

                                      It's useful. But just knowing the module exists is one thing. Finding a source for it is another.

                                      T Offline
                                      T Offline
                                      Toyman
                                      wrote on last edited by
                                      #1138

                                      @NeverDie actually, I am suprised that many of these modules are available and at the prices lower than Ali.
                                      For example:
                                      http://www.fanstel.com/buy/bt832xe
                                      They claim "BT832XE is the longest range Bluetooth 5 module, 1350 meters between 2 BT832XE with used with ANT060 antenna."
                                      $23, shipped within US
                                      Not bad, ah?

                                      1 Reply Last reply
                                      1
                                      • U Offline
                                        U Offline
                                        Uhrheber
                                        wrote on last edited by
                                        #1139

                                        One must be aware, that the gain of an antenna doesn't come from a magic amplification, but from direction.
                                        Meaning, the higher the gain of an antenna is, the more directional it is.
                                        For a sensor, let's say a window switch, that may end up in every mounting position you might imagine, this is NOT what you want.

                                        Neither do you want that for the gateway, that may be in the middle of the house, and should be able to receive transmissions from all directions.

                                        NeverDieN 1 Reply Last reply
                                        1
                                        • U Uhrheber

                                          One must be aware, that the gain of an antenna doesn't come from a magic amplification, but from direction.
                                          Meaning, the higher the gain of an antenna is, the more directional it is.
                                          For a sensor, let's say a window switch, that may end up in every mounting position you might imagine, this is NOT what you want.

                                          Neither do you want that for the gateway, that may be in the middle of the house, and should be able to receive transmissions from all directions.

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

                                          @Uhrheber
                                          It does look like they also have a PA on their module: http://www.fanstel.com/bt832x-bluetooth-5-module/

                                          It's a good find, as it looks as though they have a lot to choose from: http://www.fanstel.com/buy/

                                          Also, as compared to the chinese vendors, I think it's more likely that they really did pass FCC, since it's based in the US. The fines to US companies for selling non-compliant stuff are pretty severe (enough to bankrupt a small company), whereas (it seems) the chinese vendors can dodge it. Hence, the joke that "CE" stands for "Chinese Exemption".

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


                                          7

                                          Online

                                          11.7k

                                          Users

                                          11.2k

                                          Topics

                                          113.0k

                                          Posts


                                          Copyright 2019 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