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.
  • nagelcN nagelc

    @heinzv For Softdevice, pick None. MySensors doesn't use the Softdevices and I don't think you want it for Generic NRF52 either.
    The Low Frequency Clock depends on your board. If it has an external crystal outside the NRF 52, use Crystal Oscillator. Otherwise pick RC Oscillator to use the internal oscillator.
    Your BMP ports look correct. In your setup, 58 for the programmer. Use the UART port , 51, to listen to serial debug.
    The Black Magic Firmware Upgrade is for use with DFU Util to upgrade the firmware on the probe. I'm not sure what the Trace Capture is.

    H Offline
    H Offline
    heinzv
    wrote on last edited by heinzv
    #116

    @nagelc I have tested both w/ and w/o softdevice, it doesnt make a difference but yes I'll remove it again.
    My boards (the E73 module) have an external 32kHz crystal osci for RTC.
    In Arduino, you can only select one port. If COM58 is set (for the programmer) then it would open the serial monitor also on that port. However I have tried to use port 51 with another terminal (putty) and it does not connect (I've tried with different baud rates).
    I'm not sure but I think (and read) that the second port is only for the SW update of the BMP and not for debugging. Debugging is most likely also on port 58 but for the GDB and not for Arduino, but if it is used (initiated) via Arduino, I could not connect to GDB with a command terminal, so I think the programm has to be started with the command windows and GDB. I've also tested that from that direction and was also not succesfull (I spnt many hours with Google and BMP docu and GDB).
    I also don't know how to use the non COM (USB only) devices like the "Trace Capture" as thery are not visible/offered in Arduiono IDE.

    You're using BMP with Arduino IDE? How are you doing the serial output?
    How can you used two different ports in Arduino (there is only one port setting)?

    nagelcN 1 Reply Last reply
    0
    • H heinzv

      @nagelc I have tested both w/ and w/o softdevice, it doesnt make a difference but yes I'll remove it again.
      My boards (the E73 module) have an external 32kHz crystal osci for RTC.
      In Arduino, you can only select one port. If COM58 is set (for the programmer) then it would open the serial monitor also on that port. However I have tried to use port 51 with another terminal (putty) and it does not connect (I've tried with different baud rates).
      I'm not sure but I think (and read) that the second port is only for the SW update of the BMP and not for debugging. Debugging is most likely also on port 58 but for the GDB and not for Arduino, but if it is used (initiated) via Arduino, I could not connect to GDB with a command terminal, so I think the programm has to be started with the command windows and GDB. I've also tested that from that direction and was also not succesfull (I spnt many hours with Google and BMP docu and GDB).
      I also don't know how to use the non COM (USB only) devices like the "Trace Capture" as thery are not visible/offered in Arduiono IDE.

      You're using BMP with Arduino IDE? How are you doing the serial output?
      How can you used two different ports in Arduino (there is only one port setting)?

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

      @heinzv Yes. I'm using with Arduino IDE, but I connect a terminal program (TerraTerm) to the UART com port. You need to do more setup to get the serial out from NRF52832. The easiest way is to use the MyBoardNRF5 board type to select a pin to be TX. But that is a bit much for a blink sketch.
      There is yet another usb driver for the Trace and Firmware Update ports. I forget how that is loaded (zadig I think), but you can safely ignore it.
      Seems like your setup should just work uploading the sketch on your COM58.

      For the GDB connection. There is a syntax difference for ports higher than 9. Try this. I had it in my notes, but haven't tried it since my ports are less than 9.

      "target extended-remote \.\com58"

      H 1 Reply Last reply
      0
      • nagelcN nagelc

        @heinzv Yes. I'm using with Arduino IDE, but I connect a terminal program (TerraTerm) to the UART com port. You need to do more setup to get the serial out from NRF52832. The easiest way is to use the MyBoardNRF5 board type to select a pin to be TX. But that is a bit much for a blink sketch.
        There is yet another usb driver for the Trace and Firmware Update ports. I forget how that is loaded (zadig I think), but you can safely ignore it.
        Seems like your setup should just work uploading the sketch on your COM58.

        For the GDB connection. There is a syntax difference for ports higher than 9. Try this. I had it in my notes, but haven't tried it since my ports are less than 9.

        "target extended-remote \.\com58"

        H Offline
        H Offline
        heinzv
        wrote on last edited by heinzv
        #118

        @nagelc So everything works now with the BMP using the MyBoardNRF5. At least it supports the nRF52832 (if I'm lucky also the nRF52840) but I started with my barebone 832 modules.
        So it upload the sketch and it does also reset and start.
        I could also do the connection to the second serial port now with Terra Term and get the Serial.println. Cool.
        The secret was, that I created another BMP for my blackpills (I did a couple of tweaks) and connect now the HW serial of the nRF52 to the BMP serial (UART2) and it forwards it via the USB of the BMP to the COM port.

        The output looks now like yours when I do an upload:
        WARNING: Spurious .ci folder in 'MySensors' library
        WARNING: Spurious .mystools folder in 'MySensors' library
        Build options changed, rebuilding all
        Sketch uses 3720 bytes (0%) of program storage space. Maximum is 524288 bytes.
        Remote debugging using \.\COM58
        Target voltage: unknown
        Available Targets:
        No. Att Driver
        1 Nordic nRF52
        2 Nordic nRF52 Access Port
        Attaching to Remote target
        0x00000ae0 in ?? ()
        Reading symbols from nRF52832_Blink.ino.elf...done.
        Loading section .text, size 0xe88 lma 0x0
        Loading section .ARM.exidx, size 0x8 lma 0xe88
        Loading section .data, size 0x74 lma 0xe90
        Start address 0x5f8, load size 3844
        Transfer rate: 27 KB/sec, 640 bytes/write.
        Temporary breakpoint 1 at 0xbc4: file D:\mcdev\arduino\portable\packages\sandeepmistry\hardware\nRF5\0.6.0\cores\nRF5\main.cpp, line 28.
        Starting program: C:\Users\internet\AppData\Local\Temp\arduino_build_913185\nRF52832_Blink.ino.elf
        Note: automatically using hardware breakpoints for read-only addresses.

        Temporary breakpoint 1, main ()
        at D:\mcdev\arduino\portable\packages\sandeepmistry\hardware\nRF5\0.6.0\cores\nRF5\main.cpp:28
        28 {

        Program complete!

        Here is the picture of my BMP and the nRF module:
        0_1538432250904_BMP-and-nRF52.jpg

        1 Reply Last reply
        1
        • H Offline
          H Offline
          heinzv
          wrote on last edited by heinzv
          #119

          My nRF52832 moduls with MySensors in nRF24 mode seem to work, I have to start another node acting als Gateway and see if they communicate and what distance can be reached in the nRF24 mode.


          | / |_ / | ___ _ __ ___ ___ _ __ ___
          | |/| | | | _
          \ / _ \ _ \/ __|/ _ \|
          _/ __|
          | | | | |
          | || | / | | _ \ _ | | _
          |
          | |
          |_
          , |/ ___|| ||/_/|| |/
          |
          __/ 2.3.1-beta

          24 MCO:BGN:INIT NODE,CP=RNNNN---,VER=2.3.1-beta
          28 TSM:INIT
          30 TSF:WUR:MS=0
          31 TSM:INIT:TSP OK
          33 TSM:FPAR
          40 TSF:MSG:SEND,255-255-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
          2048 !TSM:FPAR:NO REPLY
          2050 TSM:FPAR
          2057 TSF:MSG:SEND,255-255-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
          4064 !TSM:FPAR:NO REPLY
          4066 TSM:FPAR
          4073 TSF:MSG:SEND,255-255-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
          6081 !TSM:FPAR:NO REPLY
          6083 TSM:FPAR
          6090 TSF:MSG:SEND,255-255-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
          8098 !TSM:FPAR:FAIL
          8099 TSM:FAIL:CNT=1
          8101 TSM:FAIL:DIS
          8103 TSF:TDI:TPD
          18105 TSM:FAIL:RE-INIT
          18107 TSM:INIT
          18108 TSM:INIT:TSP OK
          18110 TSM:FPAR
          18117 TSF:MSG:SEND,255-255-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
          20125 !TSM:FPAR:NO REPLY
          20127 TSM:FPAR
          20134 TSF:MSG:SEND,255-255-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
          22142 !TSM:FPAR:NO REPLY
          22144 TSM:FPAR
          22151 TSF:MSG:SEND,255-255-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
          24159 !TSM:FPAR:NO REPLY
          24161 TSM:FPAR
          24168 TSF:MSG:SEND,255-255-255-255,s=255,c=3,t=7,pt=0,l=0,sg=0,ft=0,st=OK:
          26176 !TSM:FPAR:FAIL
          26177 TSM:FAIL:CNT=2
          26179 TSM:FAIL:DIS
          26181 TSF:TDI:TPD

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

            I built the micropython firmware for running on the nRF52840:

            Here's the proof:

            MicroPython v1.9.4-623-g34af10d2e on 2018-10-05; PCA10056 with NRF52840
            Type "help()" for more information.
            >>> 1+1
            2
            >>>
            

            You can download it from here: https://forum.micropython.org/viewtopic.php?f=2&t=5348

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

              So, the idea for doing OTA code updates is simple enough: you transmit each line of code and the target assembles it into a string. Then the target executes the string, which updates the code on the target. QED

              Here's a notional example of what I mean:

              >>> simpleCode="def j(x): return x**2"
              >>> simpleCode
              'def j(x): return x**2'
              >>> exec(simpleCode)
              >>> j(5)
              25
              >>>
              

              You can use whatever radio transport you want, including Nordic's "proprietary radio" that we are all familiar with. There's no reliance on bluetooth or Nordic's DFU. :)

              1 Reply Last reply
              1
              • H Offline
                H Offline
                heinzv
                wrote on last edited by
                #122

                @NeverDie great job! I'll definity try it on my holyiot bare modules, but I'm still fighting with the flashing via either the Nordic DK and/or ST-Link v2SO far I was not successfull (I only got it to run with Arduino IDE and BMP, but that is not usable in that case). DK seem not recognize my external nRF52840 and the ST-Link wants some address ranges so I'm trying to get it run with openocd, but that also returns errors. So I'm stuck and wasting many evenings/nights (with Google).

                NeverDieN 1 Reply Last reply
                0
                • H heinzv

                  @NeverDie great job! I'll definity try it on my holyiot bare modules, but I'm still fighting with the flashing via either the Nordic DK and/or ST-Link v2SO far I was not successfull (I only got it to run with Arduino IDE and BMP, but that is not usable in that case). DK seem not recognize my external nRF52840 and the ST-Link wants some address ranges so I'm trying to get it run with openocd, but that also returns errors. So I'm stuck and wasting many evenings/nights (with Google).

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

                  @heinzv Using the DK should be easy. If you want to post how you're wiring your connections to the target, maybe I could help you identify what mistake you are making. Or, if you prefer, you could post to the Nordic support forum, as they would be obligated to help since it's a Nordic product. Or, better yet, do both, because then you'll at least get the ball rolling with Nordic in case you have a defective DK (unlikely, but who knows).

                  1 Reply Last reply
                  0
                  • H Offline
                    H Offline
                    heinzv
                    wrote on last edited by heinzv
                    #124

                    @NeverDie thanks for the hints/offer:
                    I have connected to the nRF52840 DK via the P20 connector
                    Here is the wiring setup

                    VDD---> VTG of P20 in DK board
                    SWDIO--> SWDIO of external board
                    SWDCLK-->SWDCLK of external Baord
                    GND DETECT--> GND of external Board
                    GND--> GND of external baord.

                    NeverDieN 1 Reply Last reply
                    0
                    • H heinzv

                      @NeverDie thanks for the hints/offer:
                      I have connected to the nRF52840 DK via the P20 connector
                      Here is the wiring setup

                      VDD---> VTG of P20 in DK board
                      SWDIO--> SWDIO of external board
                      SWDCLK-->SWDCLK of external Baord
                      GND DETECT--> GND of external Board
                      GND--> GND of external baord.

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

                      @heinzv How is it that you are powering the target?

                      H 1 Reply Last reply
                      0
                      • NeverDieN NeverDie

                        @heinzv How is it that you are powering the target?

                        H Offline
                        H Offline
                        heinzv
                        wrote on last edited by
                        #126

                        @neverdie I admit that I also powered the module via the DK because it takes less than 20mA. I used this connection description: 0_1538973615073_nRF52_DK_0005.layout.png
                        But I'll try to use a complete an external PS next time and see if it makes a difference.

                        NeverDieN A 2 Replies Last reply
                        0
                        • H heinzv

                          @neverdie I admit that I also powered the module via the DK because it takes less than 20mA. I used this connection description: 0_1538973615073_nRF52_DK_0005.layout.png
                          But I'll try to use a complete an external PS next time and see if it makes a difference.

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

                          @heinzv Nice picture. Hmmmm..... Seems like your wiring should work. Maybe try VDDnRF instead of VDD? I'm not sure what the difference is, but I think that may have been what I used most recently.

                          Are you dragging the hex file to the virtual drive on the PC to upload it to the target? If so, what exactly happens when you do? It should be as simple as that.

                          I'm using Windows 10. What about you? Not sure if the version of Windows has anything to do with it.

                          It appears that you are using the nRF52832 DK. Correct? What exactly is the target that you are trying to upload to?

                          One way or another we'll get this thing solved for you. :wink:

                          1 Reply Last reply
                          0
                          • H Offline
                            H Offline
                            heinzv
                            wrote on last edited by
                            #128

                            @NeverDie thanks, appreciate your help as you are far ahead.
                            Here is my update: I have build 4 nRF52832 boards with the E73 EBYTE modules and two nRF52840 board with the tiny holyiot modules (see picts below).
                            It seems that by using the wiring shown in my last post, I can flash the 840 boards. I'll also try again one of the working 832 boards later (I'm in business trip the next few days).
                            But I have a couple of questions to you:
                            1.) I don't know how to identify which MCU will be flashed. I only see the J-Link adapter in Segger or the board with the Segger Serial in nRFgo Studio. How can I know, that I'm not flashing the DK onboard MCU? Where is this shown, indicated where the flashing will go? That is strange to me. Another example is my sel build Black Magic Probe: It shows which devices are connected to it and you can select one (if multiple are shown in a select - select target 1,2 ...)
                            2.) How can I make use of any bootloader (DFU, Serial, USB, OTA, ANT etc.) so that flashing with the DK is not always required? I have not found a good way so far to flash any useful bootloader (I have tried some of the examples). The onyl one which creates a serial devices is the example for the PCA100059 (the USB dongle) which shows a serial device: nRF52 SDFU USB (COM75). HOw to make use of that (I have tried all of the offered programmer als oin Arduino IDE but could not upload/flash my blink sketch)
                            3.) How to you flash the USB dongle beside using the nRFconnect which requires the compiled image?
                            Are you also soldering the SWD pins and use them with the Segger and the DK?
                            4.) When I flashed your micropython (or circuitpython?) for the 840 (my board). How to I connect and use it? My 840 boards have it's own USB port (see topic 2, which shows the nRF52 SDFU port when I flash the one bootloader). When I flash the MP, the ports are gone (how to connect via USB, Serial, Terminal etc.)?

                            I've also tried a couple of other things like a DFU bootloader with a S140 softdevice (as it was recommended by Nordic) but was not sucessful to combine them (the S140 was flashed, but then?)

                            I have many more questions but I hope we can sort out some of the 1-4. I hope I have described them so that you can follow my thoughts and questions :-)

                            0_1539030863337_nRF840_DFU port.jpg

                            nrf52840 on DK
                            0_1539031116269_nRF52840_on_DK.jpg

                            nRF52832 on BMP
                            0_1539031158683_nRF52832_on_BMP.jpg

                            NeverDieN 1 Reply Last reply
                            0
                            • H heinzv

                              @NeverDie thanks, appreciate your help as you are far ahead.
                              Here is my update: I have build 4 nRF52832 boards with the E73 EBYTE modules and two nRF52840 board with the tiny holyiot modules (see picts below).
                              It seems that by using the wiring shown in my last post, I can flash the 840 boards. I'll also try again one of the working 832 boards later (I'm in business trip the next few days).
                              But I have a couple of questions to you:
                              1.) I don't know how to identify which MCU will be flashed. I only see the J-Link adapter in Segger or the board with the Segger Serial in nRFgo Studio. How can I know, that I'm not flashing the DK onboard MCU? Where is this shown, indicated where the flashing will go? That is strange to me. Another example is my sel build Black Magic Probe: It shows which devices are connected to it and you can select one (if multiple are shown in a select - select target 1,2 ...)
                              2.) How can I make use of any bootloader (DFU, Serial, USB, OTA, ANT etc.) so that flashing with the DK is not always required? I have not found a good way so far to flash any useful bootloader (I have tried some of the examples). The onyl one which creates a serial devices is the example for the PCA100059 (the USB dongle) which shows a serial device: nRF52 SDFU USB (COM75). HOw to make use of that (I have tried all of the offered programmer als oin Arduino IDE but could not upload/flash my blink sketch)
                              3.) How to you flash the USB dongle beside using the nRFconnect which requires the compiled image?
                              Are you also soldering the SWD pins and use them with the Segger and the DK?
                              4.) When I flashed your micropython (or circuitpython?) for the 840 (my board). How to I connect and use it? My 840 boards have it's own USB port (see topic 2, which shows the nRF52 SDFU port when I flash the one bootloader). When I flash the MP, the ports are gone (how to connect via USB, Serial, Terminal etc.)?

                              I've also tried a couple of other things like a DFU bootloader with a S140 softdevice (as it was recommended by Nordic) but was not sucessful to combine them (the S140 was flashed, but then?)

                              I have many more questions but I hope we can sort out some of the 1-4. I hope I have described them so that you can follow my thoughts and questions :-)

                              0_1539030863337_nRF840_DFU port.jpg

                              nrf52840 on DK
                              0_1539031116269_nRF52840_on_DK.jpg

                              nRF52832 on BMP
                              0_1539031158683_nRF52832_on_BMP.jpg

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

                              @heinzv said in Everything nRF52840:

                              @NeverDie thanks, appreciate your help as you are far ahead.
                              Here is my update: I have build 4 nRF52832 boards with the E73 EBYTE modules and two nRF52840 board with the tiny holyiot modules (see picts below).
                              It seems that by using the wiring shown in my last post, I can flash the 840 boards. I'll also try again one of the working 832 boards later (I'm in business trip the next few days).
                              But I have a couple of questions to you:
                              1.) I don't know how to identify which MCU will be flashed. I only see the J-Link adapter in Segger or the board with the Segger Serial in nRFgo Studio. How can I know, that I'm not flashing the DK onboard MCU? Where is this shown, indicated where the flashing will go? That is strange to me. Another example is my sel build Black Magic Probe: It shows which devices are connected to it and you can select one (if multiple are shown in a select - select target 1,2 ...)

                              If it's wired corectly, then only the external board gets flashed.

                              2.) How can I make use of any bootloader (DFU, Serial, USB, OTA, ANT etc.) so that flashing with the DK is not always required? I have not found a good way so far to flash any useful bootloader (I have tried some of the examples). The onyl one which creates a serial devices is the example for the PCA100059 (the USB dongle) which shows a serial device: nRF52 SDFU USB (COM75). HOw to make use of that (I have tried all of the offered programmer als oin Arduino IDE but could not upload/flash my blink sketch)

                              I don't know.

                              3.) How to you flash the USB dongle beside using the nRFconnect which requires the compiled image?
                              Are you also soldering the SWD pins and use them with the Segger and the DK?

                              Yes.

                              4.) When I flashed your micropython (or circuitpython?) for the 840 (my board). How to I connect and use it? My 840 boards have it's own USB port (see topic 2, which shows the nRF52 SDFU port when I flash the one bootloader). When I flash the MP, the ports are gone (how to connect via USB, Serial, Terminal etc.)?

                              So far I've only flashed MP to the 832 and 840 DK's. In those instances, you can do serial IO over the USB connection using putty or similar terminal.

                              I've also tried a couple of other things like a DFU bootloader with a S140 softdevice (as it was recommended by Nordic) but was not sucessful to combine them (the S140 was flashed, but then?)

                              I have many more questions but I hope we can sort out some of the 1-4. I hope I have described them so that you can follow my thoughts and questions :-)

                              1 Reply Last reply
                              0
                              • C Offline
                                C Offline
                                cascade
                                wrote on last edited by
                                #130

                                Howdy y'all first off thanks @NeverDie for this thread, I spent a good time lurking at these NRF52 posts and learned and re-learned a few things here and there.

                                I've built an E73 NRF52832 PCB and successfully did a blink using Espruino and Adafruit's Bluefruit FW for Arduino and just noticed the $10 CAD E73-2G4M08S1C (NRF52840) back in-stock (as of October 8). I am in the process of designing a pcb board layout for it but in the meantime thought that the community might find the following useful if you plan on designing/using these modules:

                                1. E73-2G4M08S1C and other footprints in the same 'family' are readily available in Altium Designer format here: http://www.cdebyte.com/en/data-download.aspx?id=356&pid=202

                                2. Library.io allows you to convert '.pcblib' / altium files to an Eagle Library format, you just need to specify the Symbol and Package, from here you can convert to KiCad or similar I'd reckon but have not used KiCad enough to verify this. This saved me a lot of time.

                                In case someone was wondering: I've had no issues using the J-Link Edu Mini with the NRF52832, will update here when I get to the NRF52840.

                                Just starting my own NRF journey and thought to add this here in case someone is looking for E73 module specifics WRT NRF52832/NRF52840 .

                                1 Reply Last reply
                                4
                                • RedferneR Offline
                                  RedferneR Offline
                                  Redferne
                                  wrote on last edited by
                                  #131

                                  Big thanks to @sandeepmistry, @lpercifield, @jeremypoulter and all others contributing to the NRF Arduino development effort. I have borrowed a lot and forked off another project for adding support for the NRF52840 dongle (PCA10059). If you are using PlatformIO and have access to a NRF52840 you can take it for a spin here PCA10059. I have tested UART, TWIM, SPIM and the BLE Led toggle example works.

                                  NeverDieN 1 Reply Last reply
                                  2
                                  • RedferneR Redferne

                                    Big thanks to @sandeepmistry, @lpercifield, @jeremypoulter and all others contributing to the NRF Arduino development effort. I have borrowed a lot and forked off another project for adding support for the NRF52840 dongle (PCA10059). If you are using PlatformIO and have access to a NRF52840 you can take it for a spin here PCA10059. I have tested UART, TWIM, SPIM and the BLE Led toggle example works.

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

                                    @redferne Thanks for your post. How are you liking PlatformIO? Does PlatformIO have full support, with all the extra pin names etc., for the nRF52840?

                                    1 Reply Last reply
                                    0
                                    • RedferneR Offline
                                      RedferneR Offline
                                      Redferne
                                      wrote on last edited by
                                      #133

                                      @NeverDie I never liked the Arduino IDE, so I think PlatformIO is next logical step, it is very easy to get going and it opens up for advanced usage. Your own choice of editor, has great debugging capabilities with VSCode integration.

                                      If you build the PCA10059 example I linked you should have GPIO (digital) access to all 47 pins. I've made it simple in the pca10059 variant so that D0 (0) is p0.00 -> D47 (47) is p1.15.

                                      Some external pins on the dongle which I have tested:
                                      Serial pins RX->P1.10, TX->P1.13
                                      I2C, TWIM, Wire on pins CLK->P0.29, SDA->P0.31
                                      SPI here MISO->P0.13, MOSI->P0.15, CLK->P0.17, CS->P0.22

                                      H 1 Reply Last reply
                                      2
                                      • RedferneR Redferne

                                        @NeverDie I never liked the Arduino IDE, so I think PlatformIO is next logical step, it is very easy to get going and it opens up for advanced usage. Your own choice of editor, has great debugging capabilities with VSCode integration.

                                        If you build the PCA10059 example I linked you should have GPIO (digital) access to all 47 pins. I've made it simple in the pca10059 variant so that D0 (0) is p0.00 -> D47 (47) is p1.15.

                                        Some external pins on the dongle which I have tested:
                                        Serial pins RX->P1.10, TX->P1.13
                                        I2C, TWIM, Wire on pins CLK->P0.29, SDA->P0.31
                                        SPI here MISO->P0.13, MOSI->P0.15, CLK->P0.17, CS->P0.22

                                        H Offline
                                        H Offline
                                        heinzv
                                        wrote on last edited by heinzv
                                        #134

                                        @redferne thanks for your effort spent to support nRF52840 for VS Code/Platform.io. I'll certaily give it a try. The good thing with platform.io is that it's easier to use/import existing arduino (ino) projects than in e.g. Segger Studio which only supports licensed J-Link flash/debug adapters.

                                        Two questions:
                                        1.) Does your "port" support also the 15.2 SDK features of the 840 (Softdevice S140, BLE 5.0 long range, ZigBee, Thread ...)
                                        2.) What flash method is supprted/used or you're using? Just plug the USB dongle in and it can be uploaded?

                                        Oh, a third question: If I use bare nrf840 Modules, what flash adapter/mode would you recommend or have you tested (I have the 840 DK board, a ST-Link v2 and a Balc Magic Probe adapter)?

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

                                          @nc78 Earlier you had asked about vendors for the dongle. I found an alternative dongle that ships from China:
                                          https://www.tindie.com/products/Zelin/nrf52840-micro-dev-kit-usb-dongle/
                                          Price is very similar. I like it better than the Nordic dongle, because it exposes pins P0.06 and P0.08, which are used by the DK for UART communications.

                                          RedferneR Nca78N 2 Replies 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.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