nRF5 action!


  • Hero Member


  • Mod

    Maybe @sundberg84 could take inspiration for his easy pcb 😀



  • how'd you program this blank nrf52832 chip with an SWD programmer like the ST link v2 what programming environment to use and so on?


  • Hero Member

    @Mike_Lemo
    I had no luck using the ST link v2 from Windows. You might be luckier, or you might try using it from Linux. However, as discussed above, I have had success using the nRF52832 DK and the Arduino IDE from Windows. That's how I intend to program the nRF52832 module using the breakout board I posted above.


  • Hardware Contributor

    @Mike_Lemo

    I used the Arduino IDE with sandeepmistry arduino core installed and I managed to program a nrf51822 module with success. I used a cheap st-link programmer from AliExpress. I don't know about nrf52832 as I don't have one. But I don't see why it wouldn't work. You need 4 wires: Vdd(3.3V), GND, SWD and SWCLK.
    From Arduino IDE you need to select st-link as programmer.
    It uses openocd under the hood to do the work and it worked both on Windows and Linux. On Linux you might need to set udev rules for allowing regular user to use the st-link.


  • Hero Member

    @mtiutiu said in nRF5 Bluetooth action!:

    I managed to program a nrf51822 module with success.

    Did you power the nrf51822 through the st-link programmer, or did you power it independently?



  • @mtiutiu And when you want to program an independent chip with the ST link V2 do you just chose "generic nrf52"?

    Also how is it possible to connect between through two NRF52s in slave master config?
    Is it possible to take advantage of the NFC functionality with that programming environment?


  • Hero Member

    Good news! I received my second nRF52832 DK today, so now I can have a DK on both ends of a link. Bottom line: I ran some quick tests, and it has much better range than the Adafruit nRF52832 Feather.

    Whew! What a relief. The Adafruit had very disappointing range. In contrast, and as expected, the two DK's have better range than regular nRF24L01+ radios.



  • @NeverDie How did you manage to send and receive data between these two units? may you share the code with us?


  • Hero Member

    @Mike_Lemo
    I'm simply using the GatewaySerial and the LightSensor sketches from the mysensors developers release. Just make the following change in each sketch:

    //#define MY_RADIO_NRF24
    #define MY_RADIO_NRF5_ESB
    

  • Hardware Contributor

    @NeverDie

    Powered from st-link programmer.


  • Hardware Contributor

    @Mike_Lemo

    I used generic and no soft device as Mysensors doesn't use soft devices. I don't know about master-slave, didn't used such a configuration.

    You need to create another variant for other pin definitions as this is the way arduino framework works as far as I know.

    Never used NFC so I can't give you hints on that, sorry.


  • Hero Member

    Looks as though these guys came up with a fairly easy way to develop using actual bluetooth low energy: http://mklec.com/project-kits/kd-circuits/bluetooth-low-energy-board-anaren-A20737-module

    Unfortunately, I don't believe it runs on the nRF5 though.


  • Hero Member

    More good news! I was able to program a Sparkfun nrf52832 board using the DK, and its range is better than the Adafruit nRF52832 Feather and also better than an nRF24L01+.

    So, my provisional conclusion is to avoid chip antennas, such as Adafruit is using, if better range is desired.

    @NeverDie said in nRF5 Bluetooth action!:

    Looks as though the nRF52832 sparkfun board has more of a conventional trace antenna:
    0_1500297066787_sparkfun_nRF52832_antenna.png
    though isn't it somewhat odd that it appears to also be directly connected to the ground plane(?), or at least a copper pour. Is that normal? This was one of the images produced by sending their .BRD file to oshpark, so that I could get a look at the antenna.

    Also, this now gives me a "known good" platform, namely the Sparkfun nRF52832 board, to order PCB's for and try to see if I can successfully solder on any of the bonus nRF52832 chips I received with my two DK's.


  • Hero Member

    Apparently you can now run micropython on an nRF52832 board:
    MicroPython nRF52 Firmware Compile & Flash with Tony D! – 1:11:04
    — Adafruit Industries

    It's still early days, but it sounds like fun. For one thing, since it's a dynamic language, OTA updates should be easy!



  • @NeverDie Wow, that it really good news. I was following Tony's videos on mpy on the ESP chips, but had not checked back lately.


  • Hero Member

    @Nca78 said in nRF5 Bluetooth action!:

    For shipment delay I wouldn't be surprised if they shipped the same way with free option and it would just be a different way to state the delay on the 2 websites...

    You were right: I received both the ebay and the aliexpress packages today. Even for e-packet, that's pretty fast shipping! In fact, they arrived before any of the other items I ordered from other vendors. So, at least that part went well.


  • Hero Member

    Does the E73-2G4M04S require anything extra in order to be programmed?
    0_1500676804378_Ebyte-E73-2G4M04S-BLE-4-2-5.jpg_350x350.jpg
    Today I tried programming it the same way that I have successfully with both the adafruit and the Sparkfun nRF52832 boards using the DK, but the DK keeps complaining that the E73-2G4M04S may not be connected.


  • Hardware Contributor

    @NeverDie if I remember well in the datasheet they say you have to put the softdevice on it first.


  • Hero Member

    Yeah, here's what it says:

    1. The module embedded with ARM MCU. For program downloading, please use the J-LINK downloader, any other serial port or JTAG、ISP、ICP are
      unavailable to download.
    2. There’s two parts to download the program. Because the protocol stack
      of NORDIC is not programmed yet, so users need to use the official nRFgo
      studio of NORDIC to program the protocol stack first, then program the hex of application code. Or, to program the protocol stack of NORDIC first and
      download via the IAR or KEIL.

    Seems odd, but I'll give it a try.


  • Hero Member

    It's not clear whether the DK can/should be used for this part of it, as it's unclear (at least to me) whether it will end up altering the target chip or the DK. I'm just not sure. So, to do at least this ambiguous part of it, I'll first check whether or not the nRFgo studio software will work with one of the other programmers I've collected (not the DK). That may take a while...


  • Hardware Contributor

    @NeverDie

    Why don't you try to program it with a st-link programmer and arduino ide with sandeepmistry nrf5 core installed? I bought that module(E73-2G4M04S) too and I want to know how this part goes. Thanks.


  • Hardware Contributor

    @Nca78 said in nRF5 Bluetooth action!:

    @NeverDie if I remember well in the datasheet they say you have to put the softdevice on it first.

    @NeverDie
    you need to do this if you're using ble, it's the nordic stack running ble etc behind the scene.
    For using nrf52 with MySensors, you don't need to do this. Also, MySensors & the softdevice can't run at the same time for the moment afaik.

    this module should work like others module, by following nrf52 datasheet.
    looking at their datasheet, you maybe could add (i don't know if it's already onboard):

    • 100pf on DEC2
    • 0.1uf on DEC1 (but they have no DEC1 1) it's already onboard, 2) there is a typo error on their datasheet ?? as DEC5 doesn't exist on nrf52)
    • decoupling power

    then it's just a matter of swd programming (3v,gnd,DIO,CLK)

    You can take a look at nordic datasheet, or adafruit howtos are nice too.


  • Hero Member

    @scalz said in nRF5 Bluetooth action!:

    • 0.1uf on DEC1 (but they have no DEC1 1) it's already onboard, 2) there is a typo error on their datasheet ?? as DEC5 doesn't exist on nrf52)

    Great catch! Based in part on proximity to the DEC1 pins in the Ebyte datasheet, I'm guessing you've nailed it and that "DEC5" is actually DEC1.

    Here's Nordic's pinout:
    alt text

    For other readers'convenience, here is a link (courtesy of NCA78) to Ebyte's datasheet:
    https://forum.mysensors.org/assets/uploads/files/1499826952956-e73-2g4m04s_datasheet_en_v1.1.pdf

    Besides, as you point out, there is no actual DEC5 according to the Nordic pinout, so what else could "DEC5" be?

    I've just now emailed the seller to ask this question, but for now I'll assume you've nailed it. Great work!


  • Hero Member

    Seems as though we're somewhat shooting in the dark, though, without a schematic of what Ebyte actually did on the module. For instance, I had assumed that all this (plus whatever else is needed) had already been implemented on the Ebyte module. Relative to the Nordic nRF52832 chip size, the Ebyte moduile is already a pretty big module!



  • I'm tring to blink an led on a PCB I made not realy knowing how to program the IC before other than connection the SWD pins.

    I've followed the startup guide at github flashed the soft device probably successful using the ST link V2(while flashing the soft device it blinked the on board st link V2 led and at the end the blue led on my PCB stopped being on.)

    So I've got an RGB led connected to my PCB to pins:

    #define RGBL_RED_PIN P0.16
    #define RGBL_GREEN_PIN P0.15
    #define RGBL_BLUE_PIN P0.17

    now for a test to see if I got it right I want to blink each of them how would I do it?

    What is the arduino pin mapping?


  • Hero Member

    @NeverDie said in nRF5 Bluetooth action!:

    Seems as though we're somewhat shooting in the dark, though, without a schematic of what Ebyte actually did on the module.

    On the other hand, I suppose if Ebyte had already decoupled DEC1 and DEC2 with caps on their module, there'd be no point in exposing those pins. So, I guess by inference, they must not already be decoupled. Is that the idea?


  • Hero Member

    @Mike_Lemo said in nRF5 Bluetooth action!:

    I'm tring to blink an led on a PCB I made not realy knowing how to program the IC before other than connection the SWD pins.

    I've followed the startup guide at github flashed the soft device probably successful using the ST link V2(while flashing the soft device it blinked the on board st link V2 led and at the end the blue led on my PCB stopped being on.)

    So I've got an RGB led connected to my PCB to pins:

    #define RGBL_RED_PIN P0.16
    #define RGBL_GREEN_PIN P0.15
    #define RGBL_BLUE_PIN P0.17

    now for a test to see if I got it right I want to blink each of them how would I do it?

    What is the arduino pin mapping?

    Isn't the arduino mapping generally handled by the boards.txt file? Which board that you're using are you telling the compiler that it is? i.e. which board under the board manager in the Arduino IDE are you selecting?



  • Actually never mind I got it just removed the P0. and put the number for example if I want to flash P0.16 I do 16 and it works!!
    Feels so good to understand that I can now finish my big project now all I have to figure out it how to use NFC and connect it to another NRF52832 device!

    Here's a demo:

    https://www.youtube.com/watch?v=hCMKsORq2sM&feature=youtu.be



  • @NeverDie

    Oh yeah and forgot to mention I used the generic NRF52 settings.


  • Hero Member

    Aha! I just now noticed that on the silk screen for the actual module itself, it does indeed say DEC1, not DEC5, in what would otherwise be the DEC5 location. So, that settles it. "DEC5" really is DEC1, and "DEC5" is just a typo in the datasheet. 🙂



  • you should follow this schematic design if you want to get this module working.

    0_1500734955886_Schematic-MDBT42Q Demo Board.png


  • Contest Winner

    @Mike_Lemo said in nRF5 Bluetooth action!:

    Oh yeah and forgot to mention I used the generic NRF52 settings.

    The "generic" settings haven't a good pin assignment. Pins P0.00 and P0.01 are reserved for the 32KHz crystal and defined as TX/RX pins. That's an conflict.


  • Hero Member

    @d00616 said in nRF5 Bluetooth action!:

    @Mike_Lemo said in nRF5 Bluetooth action!:

    Oh yeah and forgot to mention I used the generic NRF52 settings.

    The "generic" settings haven't a good pin assignment. Pins P0.00 and P0.01 are reserved for the 32KHz crystal and defined as TX/RX pins. That's an conflict.

    What should we use instead?


  • Contest Winner

    @NeverDie The "Taida Century nRF52 minidev" has a lot of pins mapped out:
    https://github.com/RIOT-OS/RIOT/wiki/Board%3A-nRF52-minidev you can select the programmer like your needs. The RedBear BLE Blend 2 has also a lot of pins mapped out, but the CMSIS-DAP is preselected.



  • @d00616 It says there NFC is not useable but what if my board is NFC hardware ready? how would I use that?


  • Contest Winner

    @Mike_Lemo said in nRF5 Bluetooth action!:

    @d00616 It says there NFC is not useable but what if my board is NFC hardware ready? how would I use that?

    It's simple. Use that. NFC isn't enabled or disabled by the board definition. Without SoftDevice, you have to enable the NFC functionality by flashing into the UICR.

    You can define your own Board. Look into the "boards.txt" file and the "variants" folder in ~/.arduino15/packages/sandeepmistry/hardware/nRF5/0.3.0/ Most pins can be assigned to roles like SPI, I2C, UART.... Pins like NFC, RESET are fixed and analog Pins an be ordered like your needs.



  • @NeverDie where can that boards.txt file of the NRF52 thing be found?



  • @d00616 I meant is there a library or something for that? how do I approach it I'm relatively new for this 3rd party arduino programming thing and I'ts necessary for me sins I already made a PCB for a micro controller I want to use.


  • Hero Member

    @Mike_Lemo said in nRF5 Bluetooth action!:

    @NeverDie where can that boards.txt file of the NRF52 thing be found?

    On the Windows platform it's located in this directory: Program Files/Arduino/hardware/arduino/avr



  • @NeverDie I can't see the Generic nrf52 board setting


  • Hero Member

    I added the two caps that Scalz suggested for DEC1 and DEC2, but I'm still getting the same error message as before when I try to program it using the DK. Unless someone has further ideas, I may have to wait two weeks for my breakout board to arrive before I do more, as right now I'm just deadbugging this by soldering wires directly to the module.


  • Hero Member

    @Mike_Lemo said in nRF5 Bluetooth action!:

    @NeverDie I can't see the Generic nrf52 board setting

    That's all I know, so hopefully someone who knows more can chime in and offer you guidance.


  • Hero Member

    BTW, here's a picture of how the silkscreen looks and which shows DEC1 in the "DEC5" location:
    alt text


  • Hero Member

    @NeverDie said in nRF5 Bluetooth action!:

    @Mike_Lemo said in nRF5 Bluetooth action!:

    @NeverDie I can't see the Generic nrf52 board setting

    That's all I know, so hopefully someone who knows more can chime in and offer you guidance.

    Oh, I see now that @d00616 already has. Sorry, my browser didn't refresh, so I missed seeing his post.



  • Yeah he did I just preformed a local search for that arduino15 on my PC



  • Also If I want to change the UART pins to other pins would it work without errors or If I want to use 2 or more UARTS? same with I2C

    Also what are the debugging options available sins the RS232 is not connected to the MCU like in an arduino how would I set stop points or peek at variables values to see if the code runs as expected?


  • Hero Member

    @Mike_Lemo said in nRF5 Bluetooth action!:

    you should follow this schematic design if you want to get this module working.

    0_1500734955886_Schematic-MDBT42Q Demo Board.png

    There's a bunch of similar looking schematics in the nRF52832 datasheet for the nRF52832 chip itself, but I'm not sure which of them, if any, is applicable to the Ebyte module. I guess maybe Ebyte needs a demo board schematic like Raytac has. Either that, or we need a schematic of what's on the Ebyte module itself. As it stands, I think maybe there's no enough info with which to move ahead on wiring up the Ebyte module. Am I wrong? Come to think of it, I think some of the other Chinese modules I ordered from Aliexpress may also be similar "mystery" modules. 😞


  • Contest Winner

    @Mike_Lemo said in nRF5 Bluetooth action!:

    Also If I want to change the UART pins to other pins would it work without errors or If I want to use 2 or more UARTS? same with I2C

    The Chip has a lot of periphery on it. You can connect most components to pins. There is only one hardware UART, which can be connected. Please look at the Infocenter The arduino-nrf5 port is limited to things are implemented with arduino-samd by the author. This is the reason I have implemented an extension for hwPinMode() in MySensors.

    Another fine thing is the implementation of Shortcuts and the PPI. You can do a lot without using the CPU.

    @Mike_Lemo said in nRF5 Bluetooth action!:

    Also what are the debugging options available sins the RS232 is not connected to the MCU like in an arduino how would I set stop points or peek at variables values to see if the code runs as expected?

    Debugging depends on your programmer and flashing tool. I think you can start by search for "openocd gdb". OpenOCD is the flashing tool in arduino-nrf5 for all supported programmers.


  • Hero Member

    It looks as though raytec does make two modules for the nRF52832 that has a PCB antenna rather than a chip antenna: the MDBT42Q-P and the MDBT-42V-P:
    http://statics3.seeedstudio.com/assets/file/bazaar/product/MDBT42Q-Version_B.pdf
    alt text
    The MDBT-42V-P looks nice because of its small size. Anyone know where it can be purchased? All of a sudden, buying a module that comes with a proper datasheet seems appealing.



  • @NeverDie I had mine from seeed studio


  • Hero Member


  • Hero Member

    I was just now noticing that Nordic has a very convenient list of third party modules (and their dimensions) that use the Nordic nRF52832 chips: https://www.nordicsemi.com/eng/Products/3rd-Party-Bluetooth-low-energy-Modules


  • Hero Member

    FWIW, I just now sent an email to support@cdebyte.com requesting either a schematic of their E73-2G4M04S module itself or a schematic for a demo circuit, so that I may be certain about adding the appropriate hardware needed to get their module to work. I'll post if I hear anything back from them.

    By the way, in the case of Raytac, they even have their own demo board: https://raytac.blog/2017/01/24/how-to-use-raytac-mdbt42q-nordic-nrf52832-demo-board/


  • Hero Member

    I saw this in the MDBT42Q module datasheet, and perhaps it explains the relatively poor performance of the nRF52832 Adafruit Feather which uses the MDBT42Q.:
    0_1500781343573_MBDT42Q_RAYTAC_MODULE.png
    I believe the Adafruit may have a much smaller ground plane than what is being recommended here by Raytac.


  • Hardware Contributor

    @NeverDie

    I requested the schematic for the cdebyte module too...but they replied: it's confidential - LOL.


  • Hero Member

    @mtiutiu
    How long did it take them to reply to you?

    I guess we may have to reverse engineer what they did then--at least roughly--in order to use it. I'll see if I can pry the cover off and photograph what's inside. If I'm successful, then I'll post the photos so we can all look at it together.


  • Hardware Contributor

    @NeverDie

    About 6 hours. I asked them too if the Nordic datasheet recommendations were followed or not and if they can provide an example of how to use the module.


  • Hero Member

    @mtiutiu said in nRF5 Bluetooth action!:

    if they can provide an example of how to use the module

    What was their answer to that, or is it still pending? I don't mind them being a black box, provided they show how to use it.


  • Hardware Contributor

    @mtiutiu said in nRF5 Bluetooth action!:

    @NeverDie

    I requested the schematic for the cdebyte module too...but they replied: it's confidential - LOL.

    this one is funny, like if there was something special in their module 😆


  • Hardware Contributor

    @NeverDie
    Didn't replied yet. When I get an answer I'll post it here so no worries.


  • Hero Member

    Here's a photo with the lid pried off:
    0_1500809442008_photo1.jpg
    Maybe we can reconstruct what's going on just from looking at the components and the trace lines? At least for now, I'm not so concerned with the RF part.


  • Hero Member

    Here's a photo taken from the opposite angle:
    0_1500810101142_photo2.jpg

    Any other photos anyone wants to see?


  • Hero Member

    Here's the back:
    0_1500810836390_photo3.jpg
    So, is it 4 layer as they claim, or only 2? Some of those vias seem rather pointless if it were only 2 layer.


  • Hero Member

    So, to Scalz's earlier point, it looks like indeed there is no capacitor already on DEC1. Regarding DEC2, it appears that there are pads and solder paste for a capacitor, but the capacitor appears to be missing! Manufacturing error?


  • Hardware Contributor

    @NeverDie
    cool. well you just have to check continuity.
    Yes this a 4layers. better for compact RF imho, else worse performance, EMI etc.. I think it's also easier to get FCC with 4layers design (not sure if this module is FCC though)

    My bad, i've just reread what i wrote. With nrf52 ic, I've rechecked, I'm using:

    • DEC1: 100nf
    • DEC2: nothing
    • DEC3: 100pf
    • DEC4: 1uF (and you add inductors with DCC, for DC/DC mode but it can decrease 1dB if i remember well)

  • Hero Member

    @scalz
    Both DEC3 and DEC4 appear to have capacitors on them. So, maybe it was the missing capacitor on DEC2 that's the reason for the module not seeming to work. I suppose I could crack another one open to see if the missing cap was a fluke or instead likely missing on most/all of them.

    Obviously, short of removing and testing each smd cap, I can't be sure as to what values eByte is using. I hope it doesn't come to that.... On the other hand, I could possibly remove and test the 3 on scalz's list that are of interest.


  • Hero Member

    OK, I just pried off the lid on a different module and.... the same DEC2 cap is missing. However, according to scalz's new list that shouldn't matter.

    I'll need to check continuity to see if the DEC1 cap is really not there or rather simply appearing elsewhere due to the routing.


  • Hero Member

    It turns out DEC1 is connected to a capacitor: it's the one just south of the top left capacitor in the first photo.

    So, unless the cap values are just wrong, it seems that we don't need to add any more.


  • Hero Member

    What should I check next?



  • @NeverDie I just made the antenna on my PCB stick out so there is no fiber glass under the antenna even.

    Also what is a good library for using NFC and the bluetooth peripheral of that MCU?
    I came across that library:

    https://github.com/sandeepmistry/arduino-BLEPeripheral

    but the page doesn't seem to support the BLE capability of the NRF52832
    and no luck for the NFC



  • @d00616 said in nRF5 Bluetooth action!:

    @Mike_Lemo said in nRF5 Bluetooth action!:

    Also If I want to change the UART pins to other pins would it work without errors or If I want to use 2 or more UARTS? same with I2C

    The Chip has a lot of periphery on it. You can connect most components to pins. There is only one hardware UART, which can be connected. Please look at the Infocenter The arduino-nrf5 port is limited to things are implemented with arduino-samd by the author. This is the reason I have implemented an extension for hwPinMode() in MySensors.

    Another fine thing is the implementation of Shortcuts and the PPI. You can do a lot without using the CPU.

    @Mike_Lemo said in nRF5 Bluetooth action!:

    Also what are the debugging options available sins the RS232 is not connected to the MCU like in an arduino how would I set stop points or peek at variables values to see if the code runs as expected?

    Debugging depends on your programmer and flashing tool. I think you can start by search for "openocd gdb". OpenOCD is the flashing tool in arduino-nrf5 for all supported programmers.

    What is that MySensors thing you were talking about?


  • Hero Member

    @Mike_Lemo said in nRF5 Bluetooth action!:

    I just made the antenna on my PCB stick out so there is no fiber glass under the antenna even.

    Yeah, that's what I opted for on Version 2 of my breakout board for the Ebyte nRF52832 module. Seems like the cleanest solution.

    The MDBT42Q is a lot smaller than the Ebyte module, so although I was bashing it for its performance on the Adafruit (which in their case may turn out to be ground plane related), that might be an acceptable trade-off for the smaller size.

    You have lots of good questions. Keep asking! I'm hoping to learn from the answers too.


  • Hero Member

    OK, here's my plan:

    1. It's possible the connections on my first attempt were a bit dodgy. I'll try again, but this time soldering a fresh new module to a prototype PCB so that they won't be mechanically stressed as I interconnect wires. Not as ideal as my breakout board will be, but I'll have to make do until it arrives.

    2. If it still fails to program after step #1, then I'll check to confirm whether or not the oscillators are, uh, oscillating, at the proper frequency by using an oscilliscope after powering it up. I'm assuming they are, but it's at least easy to check and then cross off the list of suspects.

    3. If still no clues, then what's next? Logic probe on the two SW lines for a compare/contrast against a successful programming of a sparkfun nRF52832 board? That's sure to generate at least some palpable data as to where the problem is occurring.

    I welcome other suggestions though on how to proceed. The above is just my best guess, and I'm sure others here are better at troubleshooting this than I am.



  • @NeverDie said in nRF5 Bluetooth action!:

    @Mike_Lemo said in nRF5 Bluetooth action!:

    I just made the antenna on my PCB stick out so there is no fiber glass under the antenna even.

    Yeah, that's what I opted for on Version 2 of my breakout board for the Ebyte nRF52832 module. Seems like the cleanest solution.

    The MDBT42Q is a lot smaller than the Ebyte module, so although I was bashing it for its performance on the Adafruit (which in their case may turn out to be ground plane related), that might be an acceptable trade-off for the smaller size.

    You have lots of good questions. Keep asking! I'm hoping to learn from the answers too.

    Yeah well at least I managed to flash a blink program to my pcb and confirm that it works but now I'm planning to abanded from Arduino anyways sins alot of functionality isn't supported.


  • Hero Member

    @Mike_Lemo said in nRF5 Bluetooth action!:

    sins alot of functionality isn't supported

    If your abandoning from Arduino, what will you be abandoning to?



  • @NeverDie said in nRF5 Bluetooth action!:

    @Mike_Lemo said in nRF5 Bluetooth action!:

    sins alot of functionality isn't supported

    If your abandoning from Arduino, what will you be abandoning to?

    Probably eclipse


  • Hero Member

    @Mike_Lemo said in nRF5 Bluetooth action!:

    @NeverDie said in nRF5 Bluetooth action!:

    @Mike_Lemo said in nRF5 Bluetooth action!:

    sins alot of functionality isn't supported

    If your abandoning from Arduino, what will you be abandoning to?

    Probably eclipse

    I'm rather hazy on the differences. I guess that way you can use all the Nordic libraries the way they were intended?


  • Hardware Contributor

    Eclipse is just an IDE 😉 like Arduino IDE, or VS etc.
    I think he means he wants to leave arduino core (mysensors rely on arduino core) to use nordic sdk with other ide (like eclipse, mbed, keil etc..). Because using eclipse with arduino core won't unlock features. It still needs coding.



  • @scalz arduino.org ble library that's based on sandeepmistry's one seems very extensive.
    I believe one need pretty substantial reasons to migrate from arduino unless you are a professional developer


  • Hero Member

    Bluetooth is everywhere, and that's great, but I'm developing the impression that Bluetooth is rather arduous to program in its "native" format. Maybe this is an opportunity to build something simpler/easier that runs on top of Bluetooth, and yet can still interact with normal bluetooth devices in the native bluetooth that they understand? I think the Arduino's wide acceptance more or less proves that "easy is good."



  • @NeverDie fully agree


  • Hero Member

    @NeverDie said in nRF5 Bluetooth action!:

    OK, here's my plan:

    1. It's possible the connections on my first attempt were a bit dodgy. I'll try again, but this time soldering a fresh new module to a prototype PCB so that they won't be mechanically stressed as I interconnect wires. Not as ideal as my breakout board will be, but I'll have to make do until it arrives.

    2. If it still fails to program after step #1, then I'll check to confirm whether or not the oscillators are, uh, oscillating, at the proper frequency by using an oscilliscope after powering it up. I'm assuming they are, but it's at least easy to check and then cross off the list of suspects.

    3. If still no clues, then what's next? Logic probe on the two SW lines for a compare/contrast against a successful programming of a sparkfun nRF52832 board? That's sure to generate at least some palpable data as to where the problem is occurring.

    I welcome other suggestions though on how to proceed. The above is just my best guess, and I'm sure others here are better at troubleshooting this than I am.

    I executed step #1 of my plan with no change in results on the second attempt of programming. The module is definitely getting 3.3v power on the VCC pin.

    So, I executed step #2. I don't see any oscillation at all on the 32.7khz oscillator. The faster oscillator is mostly quiet, but it periodically gives short little bursts of activity--here's a screenshot of one:
    0_1500851438333_NewFile1.jpg
    Not sure if this is normal or not, but that's what is going on.



  • @Toyman what is that libray? I think of you refer to bel peripheral v0.3 it might not support the nrf52832 as I was asking before.


  • Hero Member

    So, for comparison, I measured the Sparkfun nRF52832 board, because (unlike the adafruit with its Raytac module), both oscillators are exposed for measurement. Unfortunately, it is already programmed, so it is not a true apples-to-apples comparison, but, anyway, the measurements were definitely different. First of all, the 32.7Khz oscillator was continuously oscillating at around 32.9Khz:
    0_1500854931082_NewFile2.jpg
    and the faster oscillator was also continuously oscillating:
    0_1500854967843_NewFile3.jpg
    I guess to have an apples-to-apples I would have to completely erase the firmware on the Sparkfun board.

    Anyhow, I think I'm getting the urge to order some Raytac modules.... It sounds as though they are not such a mystery.


  • Hero Member

    One thing I notice on the Ebyte module is that no RESET pin is exposed. Isn't that a bit odd?

    Also, there appears to be a typo on the silkscreen, where there are two pin 7's on the silkscreen, but probably one of them is actually pin 6.


  • Hero Member

    By the way, those short bursts on activity on the Ebyte module's fast oscillator happen pretty regularly, about every 22ms or so:
    0_1500866108971_NewFile4.jpg


  • Hardware Contributor

    @NeverDie how many GND pins did you connect ?
    It might be a stupid suggestion but maybe all GND pins are not connected together ?



  • @Mike_Lemo

    http://www.arduino.org/learning/reference/ble

    This is their "homework" in anticipation of Primo launch. It does support nrf52


  • Hardware Contributor

    Ok, so after posting some questions to CDSENET Aliexpress store(in regards to the E73-2G4M04S module):

    1. Is the nrf52832 IC DEC1 pin decoupled with a 100nF capacitor as per Nordic datasheet recommendations?
    2. Is the nrf52832 IC  DEC2 pin decoupled with a 100pF capacitor as per Nordic datasheet recommendations?
    3. Are all the power pins of the nrf52832 IC decoupled as per  Nordic datasheet recommendations?
    4. Are the external components already provided so that the internal DC-DC converter can be used?
    

    I received this part of schematic:

    0_1500878901299_E73-2G4M04S.png

    The module that I bought is this one: CDSENET E73-2G4M04S

    I hope that it helps demystify some things in regards to this module. Maybe @NeverDie can confirm this by checking his module connections as seen in the above schematic. I'm saying this because Chinese support is well..not so user friendly in my experience and I don't know if the above schematic is indeed what they used on their module or they just provided me an example schematic of how to use the NRF52832 IC in general instead.


  • Hardware Contributor

    @Mike_Lemo @Toyman
    BLEPeripheral lib from sandeep is working fine with nrf52832, as i'm using it 😉

    Regarding the sch above, it looks like a classic circuit (in LDO mode, not surprising as DCDC mode is optional). I'm not using same values but this should work..


  • Hero Member

    They sent me two files, but I have no idea what they are, or how to open them. Maybe someone here recognizes them or can open them?
    0_1500890784640_E73-2G4M04S-PCBLIB.PCBLIB
    0_1500890793687_E73-2G4M04S-PCB-V1.0.PCBDOCPreview


  • Hero Member

    @scalz said in nRF5 Bluetooth action!:

    @Mike_Lemo @Toyman

    Regarding the sch above, it looks like a classic circuit (in LDO mode, not surprising as DCDC mode is optional). I'm not using same values but this should work..

    From what little I've read in the nRF52832 datasheet (and please do correct me if I'm wrong), the LDO mode is the "default", and is not as power efficient as the DCDC mode. Not good, as most of us probably want this for battery operation. Therefore, even if it were to work in LDO mode, what we should probably want is the DCDC mode. So, are we screwed? Or, can DCDC mode be easily applied on top of whatever they've already hardwired in the module by just adding a few more components?



  • @Toyman said in nRF5 Bluetooth action!:

    @Mike_Lemo

    http://www.arduino.org/learning/reference/ble

    This is their "homework" in anticipation of Primo launch. It does support nrf52

    @scalz said in nRF5 Bluetooth action!:

    @Mike_Lemo @Toyman
    BLEPeripheral lib from sandeep is working fine with nrf52832, as i'm using it 😉

    Regarding the sch above, it looks like a classic circuit (in LDO mode, not surprising as DCDC mode is optional). I'm not using same values but this should work..

    If you say so that's great I've downloaded that BLEPeripheral library opened one of the test and led examples and there are a few things I don't understand why would I have to define those IRQ pins and include SPI library to use the BLE on board?

    If order to send data back and forth between peripheral and central you have to use this function:?

    to read: switchCharacteristic.value();
    to write:characteristic.setValue(value, length);

    do you maybe have a little simple example to establish a connecting between central and peripheral with sending random data and peripheral and a smartphone?


  • Hardware Contributor

    @NeverDie

    For DC-DC converter you need to add some external inductor(s) and some capacitor to the DCC pin if I remember correctly. This can be observed here:
    0_1500899991486_nrf52832_dc_dc.png

    And more than that it needs to be enabled from the SDK also.

    I didn't read the official datasheet and the recommendations from it yet...so I don't know all the implications.

    From what I've read so far this needs to be added before anything else(I think a good place is the before hook from MySensors):

    void before() {
      NRF_POWER->DCDCEN = 1;
    }
    

    And maybe this will shed some light too: https://devzone.nordicsemi.com/question/69091/a-question-about-nrf52832s-dcdc-and-ldo/


  • Hardware Contributor

    @mtiutiu there is a little confusion 🙂 this is the reference sch for nrf51. It is a bit different for nrf52.

    @Mike_Lemo no you dont need to set these pins which could be removed from the init function.
    Yes these functions are used for ble comm.
    I think sharing my unfinished code is useless (arduino & phone) if you have troubles with arduino examples. I have no time for an howto actually and little bit out of mysensors scope imho .

    The arduino examples are working fine.
    There are already written howtos at sparkfun, adafruit, blogs etc
    If you need more infos, maybe you can get more help on arduino forum too..
    And for general understanding of ble and its mechanisms (providers, services, characteristics..), you can take a look at bluetooth sig.
    Finally for custom phone app, you have to code with your preferred techno or use nordics app for simple debug


  • Hardware Contributor

    @scalz

    My bad. I corrected the initial post. Hope is all well now.

    I'm going to try this one too when I have time wt51822-s4at

    This is the cheapest of all that I found so far and yes it's not a nrf52832 but a nrf51822 - for my purpose this one is very good too. It doesn't have all the pins exposed - only 7 of them but again it should fit my general usage. I'm curious about its performance though. I'll see that when I get my hands on it. This is the official datasheet(or so it seems): https://4tronix.co.uk/picobot2/WT51822-S4AT.pdf


  • Hero Member

    @NeverDie said in nRF5 Bluetooth action!:

    They sent me two files, but I have no idea what they are, or how to open them. Maybe someone here recognizes them or can open them?
    0_1500890784640_E73-2G4M04S-PCBLIB.PCBLIB
    0_1500890793687_E73-2G4M04S-PCB-V1.0.PCBDOCPreview

    Opening the first file in notepad, I notice that it says, "PCB 6.0 Binary Library File ". I had asked Ebyte for either the module schematic or a reference design using their part, so I'm guessing this is it, in some sort of PCB CAD file.


  • Hardware Contributor

    @NeverDie

    I think they use Altium Designer and that those are files generated with it.



  • @mtiutiu if so, the free viewer is available at their site


Log in to reply
 

Suggested Topics

58
Online

11.4k
Users

11.1k
Topics

112.6k
Posts