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. Everything nRF52840

Everything nRF52840

Scheduled Pinned Locked Moved Hardware
323 Posts 28 Posters 50.5k Views 33 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.
  • NeverDieN Offline
    NeverDieN Offline
    NeverDie
    Hero Member
    wrote on last edited by
    #306

    A datasheet for the new nRF5340 is now available: https://infocenter.nordicsemi.com/pdf/nRF5340_OPS_v0.5.1.pdf

    It has some improvements, but some of its competition seems to be much lower power.

    1 Reply Last reply
    1
    • I Offline
      I Offline
      idanronen
      wrote on last edited by
      #307

      Reading all of this, I think I made a mistake buying the e73-2G4M08S1C and a Deb board. I doubt I have the capabilities to solder this board properly. Since I have no experience designing boards, is there any simple breakout board design available I can order from pcbway so I can at least solder the outer pins?
      The only board I found was this one:
      https://www.openhardware.io/view/745/Light-and-shock-sensor-or-nRF52840-or-MySensors-or-ZigBee

      NeverDieN 1 Reply Last reply
      0
      • I idanronen

        Reading all of this, I think I made a mistake buying the e73-2G4M08S1C and a Deb board. I doubt I have the capabilities to solder this board properly. Since I have no experience designing boards, is there any simple breakout board design available I can order from pcbway so I can at least solder the outer pins?
        The only board I found was this one:
        https://www.openhardware.io/view/745/Light-and-shock-sensor-or-nRF52840-or-MySensors-or-ZigBee

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

        @idanronen https://github.com/joric/nrfmicro

        I 1 Reply Last reply
        1
        • NeverDieN NeverDie

          @idanronen https://github.com/joric/nrfmicro

          I Offline
          I Offline
          idanronen
          wrote on last edited by
          #309

          @NeverDie doh! I glossed over that one and just assumed it wasn't possible for me due to the pads. Now on 2nd viewing I see that the inner pads are actually through holes, so I can solder them from the other side :-)
          Thanks! Has anyone tried that one and has any tips?

          1 Reply Last reply
          0
          • nagelcN Offline
            nagelcN Offline
            nagelc
            wrote on last edited by
            #310

            I would also be interested in hearing tips for this type of soldering (thru-hole to pads)
            I tried the thru-hole method with the LGA pads on the back of an BT832. It wasn't very successful, I was only able to get one of the 5 holes in my pattern to connect. These look larger and more widely spaced, so it probably works better.

            NeverDieN 1 Reply Last reply
            0
            • nagelcN nagelc

              I would also be interested in hearing tips for this type of soldering (thru-hole to pads)
              I tried the thru-hole method with the LGA pads on the back of an BT832. It wasn't very successful, I was only able to get one of the 5 holes in my pattern to connect. These look larger and more widely spaced, so it probably works better.

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

              @nagelc Not sure, but here's a guess: maybe generously tinning some braided wire so as to wick up the solder, dipping it in lots of flux, and then feeding it through the hole? Then when you apply heat from a soldering iron hopefully enough of the wicked solder would melt onto the pad to make a connection.

              However, I presume the better way would be to apply solder paste on the pads before sticking on the module and then reflow it in an oven.

              nagelcN 1 Reply Last reply
              2
              • NeverDieN NeverDie

                @nagelc Not sure, but here's a guess: maybe generously tinning some braided wire so as to wick up the solder, dipping it in lots of flux, and then feeding it through the hole? Then when you apply heat from a soldering iron hopefully enough of the wicked solder would melt onto the pad to make a connection.

                However, I presume the better way would be to apply solder paste on the pads before sticking on the module and then reflow it in an oven.

                nagelcN Offline
                nagelcN Offline
                nagelc
                wrote on last edited by
                #312

                @NeverDie Of course the oven is the way it is meant to be done.
                I have the oven waiting to convert, but that's still ahead on my project list : )

                1 Reply Last reply
                0
                • T Offline
                  T Offline
                  TruiteCendrée
                  wrote on last edited by
                  #313

                  Hi everyone,
                  I'm a bit a newbie in hardware and need your help. I'm a PHD student and I actually work on ZigBee networks. For a POC, I need to have an hardware device able to capture and send ZigBee messages from a "true" physical device. (An old philips Hue or maybe an Ikea smartbulb for example - normally, 2.4GHz).
                  The idea is to make a false ZigBee Gateway to work on the secrurity of the enrolment in ZigBee 3.0 within software.
                  My issue is that I'm unfortunately a bit newbie in on-board programming and thus can't be sure if it's feasible and if it's really complicated or not. I'm posting my message here because the nrf52840 seems to fit my needs with a ZigBee compatibilty.
                  Thanks by advance for your answers !

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

                    hello @TruiteCendrée :grin:

                    yes this is possible with nrf52840, but unfortunately zigbee is not compatible with mysensors. Mysensors is a software stack like zigbee is.

                    I think you'll get more infos if you take a look on nordic semi forums. They have a zigbee stack for nrf52840.

                    1 Reply Last reply
                    1
                    • orhanyorO Offline
                      orhanyorO Offline
                      orhanyor
                      wrote on last edited by orhanyor
                      #315

                      hey guys, i finally assembled my nrf52840 pa board. it was sitting there for quite some time but i couldn't find some spare time to get on with it but here are some experiences i had.
                      i was worried about this aQFN footprint but it all went well, looks like everything is soldered correctly and i ordered my boards with cheapest HASL instead of ENIG.
                      IMG_3870.JPG

                      then i uploaded the adafruit feather bootloader to test the bluetooth and it all works ok. i used my iphone 6s as a central device and im not sure if my phone has LNA or PA module inside for bluetooth so it may or may not be better if i use another module like the one i did. this connection is from my module to my phone WITHOUT PA activated at tx power max(8):
                      without pa.PNG

                      and this is after i activate PA chip on board :

                      with PA.PNG

                      and this is with 3 solid walls in between at around 10 meters distance
                      3 solid walls.PNG

                      as you can see signal strength is massively different pa bumps up the signal from -87dbm to -30dbm which is probably day and night difference.
                      but with this setup you manually have to enable and disable rx and tx pins in order to keep the communication. well im not really good at coding but im going to try make the whole thing automatically because nordic already has this PA assist feature buried inside its BLE core, just gotta find a way to make it work.

                      final board, forgot to add i opted to use pcb antenna but i could switch to external antenna as well i just have to reposition the 0 ohm resistor to use that SMA on the side and then results could get even better:
                      IMG_3878.JPG

                      NeverDieN 1 Reply Last reply
                      6
                      • orhanyorO orhanyor

                        hey guys, i finally assembled my nrf52840 pa board. it was sitting there for quite some time but i couldn't find some spare time to get on with it but here are some experiences i had.
                        i was worried about this aQFN footprint but it all went well, looks like everything is soldered correctly and i ordered my boards with cheapest HASL instead of ENIG.
                        IMG_3870.JPG

                        then i uploaded the adafruit feather bootloader to test the bluetooth and it all works ok. i used my iphone 6s as a central device and im not sure if my phone has LNA or PA module inside for bluetooth so it may or may not be better if i use another module like the one i did. this connection is from my module to my phone WITHOUT PA activated at tx power max(8):
                        without pa.PNG

                        and this is after i activate PA chip on board :

                        with PA.PNG

                        and this is with 3 solid walls in between at around 10 meters distance
                        3 solid walls.PNG

                        as you can see signal strength is massively different pa bumps up the signal from -87dbm to -30dbm which is probably day and night difference.
                        but with this setup you manually have to enable and disable rx and tx pins in order to keep the communication. well im not really good at coding but im going to try make the whole thing automatically because nordic already has this PA assist feature buried inside its BLE core, just gotta find a way to make it work.

                        final board, forgot to add i opted to use pcb antenna but i could switch to external antenna as well i just have to reposition the 0 ohm resistor to use that SMA on the side and then results could get even better:
                        IMG_3878.JPG

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

                        @orhanyor Nice! How did you manage to do the solder paste so precisely?

                        orhanyorO 1 Reply Last reply
                        0
                        • NeverDieN NeverDie

                          @orhanyor Nice! How did you manage to do the solder paste so precisely?

                          orhanyorO Offline
                          orhanyorO Offline
                          orhanyor
                          wrote on last edited by
                          #317

                          @NeverDie i had to use stencil because i cant inspect aQFN soc from outside. as you can see every pin is at the bottom of it and they are very tiny. to make sure theres correct amount theres no other way than using stencil. to be honest i was expecting problems but it was ok :)

                          1 Reply Last reply
                          2
                          • orhanyorO Offline
                            orhanyorO Offline
                            orhanyor
                            wrote on last edited by
                            #318

                            after abit of looking around and testing i think i made it work at least examples are quite responsive without a single disconnect. i had to add some header files and extra bit of code to every sketch so the knows how to use PA/LNA.

                            static void pa_lna_assist(uint32_t gpio_pa_pin, uint32_t gpio_lna_pin)
                            {
                                ret_code_t err_code;
                            
                                static const uint32_t gpio_toggle_ch = 0;
                                static const uint32_t ppi_set_ch = 0;
                                static const uint32_t ppi_clr_ch = 1;
                                
                                // Configure SoftDevice PA/LNA assist
                                ble_opt_t opt;
                                memset(&opt, 0, sizeof(ble_opt_t));
                                // Common PA/LNA config
                                opt.common_opt.pa_lna.gpiote_ch_id  = gpio_toggle_ch;        // GPIOTE channel
                                opt.common_opt.pa_lna.ppi_ch_id_clr = ppi_clr_ch;            // PPI channel for pin clearing
                                opt.common_opt.pa_lna.ppi_ch_id_set = ppi_set_ch;            // PPI channel for pin setting
                                // PA config
                                opt.common_opt.pa_lna.pa_cfg.active_high = 1;                // Set the pin to be active high
                                opt.common_opt.pa_lna.pa_cfg.enable      = 1;                // Enable toggling
                                opt.common_opt.pa_lna.pa_cfg.gpio_pin    = gpio_pa_pin;      // The GPIO pin to toggle
                              
                                // LNA config
                                opt.common_opt.pa_lna.lna_cfg.active_high  = 1;              // Set the pin to be active high
                                opt.common_opt.pa_lna.lna_cfg.enable       = 1;              // Enable toggling
                                opt.common_opt.pa_lna.lna_cfg.gpio_pin     = gpio_lna_pin;   // The GPIO pin to toggle
                            
                                err_code = sd_ble_opt_set(BLE_COMMON_OPT_PA_LNA, &opt);
                                
                            }
                            

                            in this form i like the ble, without pa not so much. theres just big down side which is nrf52840 definitely not hobbyist friendly. next time i may design a quick nrf52832 pa board (this one has regular QFN package) to test with the same setup and compare the results.

                            1 Reply Last reply
                            3
                            • wassfilaW Offline
                              wassfilaW Offline
                              wassfila
                              wrote on last edited by
                              #319

                              @NeverDie , indeed OTA is optimal, then at least the default pre-flashed bootloaded is not so bad to be able to update SW without debugger. But for development purposes the USB dongles are much cheaper than the devkit, yet lacking debug connections. I hope this pogo pin adapter can help others, as I use it to flash and even debug with Ozone on that cheap nRF52840 USB dongle.
                              Link to CAD Model : https://a360.co/3jr91PD
                              Also on thingiverse although thingiverse connection is not stable
                              https://www.thingiverse.com/thing:3384693

                              I also like platformio Arduino and would like to have the nRF52840 USB dongle supported without the softdevices, as they prevent the direct usage of the RF peripheral for custom radio.

                              pogo-versions.jpg

                              NeverDieN 1 Reply Last reply
                              3
                              • wassfilaW wassfila

                                @NeverDie , indeed OTA is optimal, then at least the default pre-flashed bootloaded is not so bad to be able to update SW without debugger. But for development purposes the USB dongles are much cheaper than the devkit, yet lacking debug connections. I hope this pogo pin adapter can help others, as I use it to flash and even debug with Ozone on that cheap nRF52840 USB dongle.
                                Link to CAD Model : https://a360.co/3jr91PD
                                Also on thingiverse although thingiverse connection is not stable
                                https://www.thingiverse.com/thing:3384693

                                I also like platformio Arduino and would like to have the nRF52840 USB dongle supported without the softdevices, as they prevent the direct usage of the RF peripheral for custom radio.

                                pogo-versions.jpg

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

                                @wassfila Nice! Thanks for posting. There's also this one for those who want to something readymade: https://www.tindie.com/products/ElectronutLabs/pogoprog-model-c-pogo-pin-programmer-swd-2-pack/
                                It looks like yours has the advantage of being self-aligning. It certainly helps a lot if you can lock it on and not have to hold it. Does yours do that already, or would it need a rubber band (or something) in addition to hold it in position?

                                I've been kinda intriqued by these things: https://www.segger.com/products/debug-probes/j-link/accessories/adapters/10-pin-needle-adapter/
                                because it's general purpose and you can lock them on, but the downside is that the latching holes consume a fair amount of board real estate.

                                1 Reply Last reply
                                0
                                • wassfilaW Offline
                                  wassfilaW Offline
                                  wassfila
                                  wrote on last edited by wassfila
                                  #321

                                  @NeverDie , you got it right, mine has the advantage of being self holding, which is quite an advantage if you want to debug, I tried, to debug in the past using the keyboard with only one hand, not very efficient :)

                                  As you can see, the one in the left side, is holding by itself, it does not has the cables soldered though, the one on the right is my first iteration, but the side holders are weak and broke with time.
                                  It is true that the fact of picking the two side points, it makes it self aligning.
                                  The blue versions are the newer ones, where you can slide it in with the pogo pins stretched out, and then you press it in and lock the open space in the bottom with that small blue little thingie that we see unused and free in the middle version. So no rubber band required, all is static mechanics.
                                  Both middle and left versions are available, the middle version requires glue to fix the pogo pins in the printed shell after being inserted the first time but makes soldering the wires on top easier. The left one has a roof holding the pogo pins but they're harder to access for soldering the debug wires in them and also printing is with slightly more debris given the complex bridging.
                                  One way or the other, this managed to get me a self-standing pogo pin adapter of an already existing board. Indeed if you design your own, you can think of those you linked, but if you're short of space, you can also fallback on such custom 3d printed solutions.
                                  This nRF52840 usb dongle is an amazingly powerful board and so cheap, that I'm confused why Nordic did not made the debug for it simpler, feels like they prefer to sell the dev kit for prototyping, but they don't know how hobbyist like to prototype on the final cheap product. I could afford 5 of them to experiment with some mesh protocols.

                                  So if you have access to 3d printing and would like to give it a try, I'll stay around and help if needed, also if you have improvement suggestions, I struggle with fusion360 till I get things done.

                                  NeverDieN 1 Reply Last reply
                                  0
                                  • wassfilaW wassfila

                                    @NeverDie , you got it right, mine has the advantage of being self holding, which is quite an advantage if you want to debug, I tried, to debug in the past using the keyboard with only one hand, not very efficient :)

                                    As you can see, the one in the left side, is holding by itself, it does not has the cables soldered though, the one on the right is my first iteration, but the side holders are weak and broke with time.
                                    It is true that the fact of picking the two side points, it makes it self aligning.
                                    The blue versions are the newer ones, where you can slide it in with the pogo pins stretched out, and then you press it in and lock the open space in the bottom with that small blue little thingie that we see unused and free in the middle version. So no rubber band required, all is static mechanics.
                                    Both middle and left versions are available, the middle version requires glue to fix the pogo pins in the printed shell after being inserted the first time but makes soldering the wires on top easier. The left one has a roof holding the pogo pins but they're harder to access for soldering the debug wires in them and also printing is with slightly more debris given the complex bridging.
                                    One way or the other, this managed to get me a self-standing pogo pin adapter of an already existing board. Indeed if you design your own, you can think of those you linked, but if you're short of space, you can also fallback on such custom 3d printed solutions.
                                    This nRF52840 usb dongle is an amazingly powerful board and so cheap, that I'm confused why Nordic did not made the debug for it simpler, feels like they prefer to sell the dev kit for prototyping, but they don't know how hobbyist like to prototype on the final cheap product. I could afford 5 of them to experiment with some mesh protocols.

                                    So if you have access to 3d printing and would like to give it a try, I'll stay around and help if needed, also if you have improvement suggestions, I struggle with fusion360 till I get things done.

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

                                    @wassfila Nicely engineered!

                                    BTW, if I'm not mistaken, Adafruit's bootloader ( https://learn.adafruit.com/introducing-the-adafruit-nrf52840-feather/update-bootloader ) should work on these dongle boards as well. I suspect the way it may works is:
                                    0. Install the booloader as per the instructions in the link above. Thereafter,

                                    1. Plug the dongle into the usb port on your pc, whereupon lit's treated like a virtual hard drive.
                                    2. Drag the binary you want to upload to the virtual drive icon on the PC
                                    3. Reboot to finish, and that launches your program.

                                    Anyone tried it? If so, is that a correct summation?

                                    orhanyorO 1 Reply Last reply
                                    1
                                    • NeverDieN NeverDie

                                      @wassfila Nicely engineered!

                                      BTW, if I'm not mistaken, Adafruit's bootloader ( https://learn.adafruit.com/introducing-the-adafruit-nrf52840-feather/update-bootloader ) should work on these dongle boards as well. I suspect the way it may works is:
                                      0. Install the booloader as per the instructions in the link above. Thereafter,

                                      1. Plug the dongle into the usb port on your pc, whereupon lit's treated like a virtual hard drive.
                                      2. Drag the binary you want to upload to the virtual drive icon on the PC
                                      3. Reboot to finish, and that launches your program.

                                      Anyone tried it? If so, is that a correct summation?

                                      orhanyorO Offline
                                      orhanyorO Offline
                                      orhanyor
                                      wrote on last edited by orhanyor
                                      #323

                                      @NeverDie i can speak for arduino side im not sure how it works for CircuitPython. virtual hard drive part is only true if there was a bootloader prior to update. im not sure how nordic ships their dongles but i think they dont install adafruit bootloader inside of them :) so you need a fresh bootloader install and it is easy but you need jlink for that. after connecting your jlink to nrf52 open the arduino from menu find jlink for adafruit nrf52 and then just simply click install bootloader and voila it works with arduino.
                                      but then again that usb dongle wont work seamlessly with adafruit bootloader because im sure adafruit has different pin maps you just need to check their pins from variants file and match them on paper to the dongle so when you write your code you know which ones to use, unless theres a seperate variants file specifically made for this dongle.

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


                                      10

                                      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