This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

nRF52833-DK blinky problem

Hello! I have the following issue with my nRF52833 board: I am in the first stage of working with it and I wanted to try the simple blinky example.

However, since there is no pca10100 hex file in the examples/peripheral/blinky/hex folder, I decided to load pca10040. Now, my board seems to be irresponsive, i.e. LED1 doesn't blink when the board is powered on. My questions are:

1. Is there any possibility to reset the board (so that I start again from scratch with my test)?

2. I suppose I didn't damage some internal circuit by loading the pca10040, but I'm not completely sure - since I don't know exactly what it does. Could you please explain me?

3. Is there any hex file for the nRF52833 board with pca10100? (although I still don't know what is the difference between all versions).

Thank you in advance!

Parents
  • Hello Jay,

    And thank you for your quick answer and for the attachments - really useful!!

    I tried the hex file which you provided me and it works, although it's not only LED1 that blinks, but all 4 of them have an interesting behaviour (I attached a short video with the board). I have some more questions now Slight smile

    1. Is there any way that I see the code of the hex file? I'm new and I'm trying to understand how this board and code works and afterwards try something on my own.

    2. So now, I want to get to know my nRF52840 board and run some pre-defined examples.

    But from my understanding, there are no pre-defined examples already done for this board, right? (but they will appear soon). If this is the case, I also consider buying another board, for which more documentation already exists and has many bugs fixed. For instance nRF52840 board can be an option - so that I can have at least a starting point with something that works already. :)

    Thank you again.

    Best regards,

    Marry

Reply
  • Hello Jay,

    And thank you for your quick answer and for the attachments - really useful!!

    I tried the hex file which you provided me and it works, although it's not only LED1 that blinks, but all 4 of them have an interesting behaviour (I attached a short video with the board). I have some more questions now Slight smile

    1. Is there any way that I see the code of the hex file? I'm new and I'm trying to understand how this board and code works and afterwards try something on my own.

    2. So now, I want to get to know my nRF52840 board and run some pre-defined examples.

    But from my understanding, there are no pre-defined examples already done for this board, right? (but they will appear soon). If this is the case, I also consider buying another board, for which more documentation already exists and has many bugs fixed. For instance nRF52840 board can be an option - so that I can have at least a starting point with something that works already. :)

    Thank you again.

    Best regards,

    Marry

Children
  • know my nRF52840 board

    * Correction: my nRF52833 board

  • Hello Marry,

    Marry said:
    I tried the hex file which you provided me and it works, although it's not only LED1 that blinks, but all 4 of them have an interesting behaviour (I attached a short video with the board). I have some more questions now

    This is the intended behavior of the blinky example, the "LED 1 blink while advertising" comment was made with regards to the Heart Rate Monitor(HRS) example.

    Marry said:
    1. Is there any way that I see the code of the hex file? I'm new and I'm trying to understand how this board and code works and afterwards try something on my own.

    Unfortunately it is infeasible to go from the .hex file back to the original code, but if I am reading Jay's reply right he has not made any modifications to the SDK code for the .hex file he supplied - which means that you may see the code that generated the .hex in the SDK folder under /examples/peripheral/blinky.
    Are you using the Segger Embedded Studio IDE? If so, you can find the segger project under /examples/peripheral/blinky/pca10056/blank/ses.

    Marry said:
    2. So now, I want to get to know my nRF52840 board and run some pre-defined examples.
    Marry said:
    But from my understanding, there are no pre-defined examples already done for this board, right? (but they will appear soon). If this is the case, I also consider buying another board, for which more documentation already exists and has many bugs fixed. For instance nRF52840 board can be an option - so that I can have at least a starting point with something that works already. :)

    There is a number of examples available for the PCA10100 in the new SDK v.17(released last Friday), but it is somewhat more limited than what is available for the nRF52832 and nRF52840.
    Running PCA10056 .hex files on the PCA10100 works because blinky is such a simple example - just toggling the LEDs - but it will not work with the larger examples, since the PCA10056 has a nRF52840 SoC which has a bigger flash memory and ram. I can therefore not guarantee that it will work with all the examples, but as long as the nRF52833 has the peripherals used by the example and the example is within the size constraints it should work(at most maybe some GPIOs must be reconfigured).
    I gave this a try with the BLE peripheral Heart rate monitor(HRS) example, loading the nRF52833 DK with the s140_pca10056 and it seems to work as intended right off the bat.
    If you look into the HRS peripheral source code, familiarizing with it might seem a daunting task at first - but know that much of it is BLE connectivity configuration that you may reuse in your personal projects.

    If you are looking to familiarize yourself with the BLE development process, I highly recommend looking into the BLE advertising, BLE custom service and characteristic tutorials.
    The tutorial is unfortunately not updated for the PCA10100, but there exists a version for PCA10056 with S140.

    Please do not hesitate to let us know if you should encounter any other questions or issues!

    Best regards,
    Karl

  • Hello Karl!

    Your answer is indeed helpful, thank you so much! Yes, I am using SES. And now it is more clear to me that why the examples from the 52840 SoC are not running on my 52833.

    So, what do these PCA and SoftDevice contain? I suppose they are related to the SoC, since they differ between 52840 and 52833, but I am curious why Smiley

    SDK v.17(released last Friday)

    I did not know about this - so thanks!

    Running PCA10056 .hex files on the PCA10100 works because blinky is such a simple example - just toggling the LEDs - but it will not work with the larger examples, since the PCA10056 has a nRF52840 SoC which has a bigger flash memory and ram.

    OK, I understand, thanks a lot! Considering this, the best option for me is to just buy a development board which has the 53840 SoC, in order to run the predefined examples. Actually, the reason I chose this 53833 SoC was because it was advertised for its bluetooth low energy feature (but on a closer look, 53840 seems to have this too).

    f you are looking to familiarize yourself with the BLE development process, I highly recommend looking into the BLE advertising, BLE custom service and characteristic tutorials.

    That is extremly helpful, thank you very much!

    I will come back in a new post, as soon as I advance and I have new questions, thanks!

    Best wishes,

    Marry

  • Hello Marry!

    Marry said:
    Your answer is indeed helpful, thank you so much!

    No problem at all, I am happy to help!

    Marry said:
    So, what do these PCA and SoftDevice contain? I suppose they are related to the SoC, since they differ between 52840 and 52833, but I am curious why

    Totally understandable! The PCA stands for "Printed Circuit Assembly" and indicates what hardware you are using. So, each development kit has their own PCA number - since the peripherals of the SoC, and thus layout of circuitry, might be different.
    For example - as can be seen in the comparison document that Jay shared earlier - the nRF52840 SoC supports the QSPI peripheral, whilst the nRF52833 does not. This difference in SoC peripherals will be reflected in the development kit PCA(Printed Circuit Assembly) because the nRF52833 DK will have no need for the QSPI hardware, and vice versa.

    As for the SoftDevices they are Nordics proprietary implementation of the Bluetooth Low Energy stack. That is to say, the SoftDevice is the reason that you do not have to be concerned with manually timing your calls to the radio peripheral to maintain your BLE connection to another device. The SoftDevice handles all the BLE requirements for you.
    The SoftDevice's role will be better understood when you work with the tutorials I linked in my previous reply, since you will read more about these requirements there.

    Marry said:
    OK, I understand, thanks a lot! Considering this, the best option for me is to just buy a development board which has the 53840 SoC, in order to run the predefined examples.

    No problem! I would say that you definitely could get started with BLE development with your nRF52833 kit, but I also recognize the tremendous benefit of all the existing code and support for the nRF52840. I would recommend starting with the nRF5_2_840 if you are looking to buy another development kit. The nRF52840 definitely have more features and official examples existing for it than the nRF52833 at this time. Its bigger Flash and RAM size also allows for less constraints during the development. 

    To emphasize; I would not recommend that you get started with the nRF53840, since it is still not production ready - it is only available as a preview - and as such it also has a lot less material and supported existing code at this time. If I were to make a recommendation, I would instead recommend the nRF52840 DK - the nRF52840 SoC is the flagship of the nRF52 series, allowing for the most flexible development, and its not going anywhere anytime soon.

    Marry said:
    Actually, the reason I chose this 53833 SoC was because it was advertised for its bluetooth low energy feature (but on a closer look, 53840 seems to have this too).

    The Bluetooth Low Energy protocol(BLE) is what most of our products are centered around - so it is not limited to a single SoC for our case. You are correct in that the nRF53840 also is made for use with the BLE protocol. Additionally, all our SoC's has focus on being low energy in the operation in all other of its peripherals as well - ensuring that the devices get the longest possible lifespan in the field they are deployed.

    Marry said:
    That is extremly helpful, thank you very much!

    I am glad you think so. It is really no problem at all, I am happy to help you get started.
    The tutorials I referenced is a great way to get started developing BLE applications, because they guide you through the essential parts of BLE usage.

    Marry said:
    I will come back in a new post, as soon as I advance and I have new questions, thanks!

    Please do not hesitate to let us know if you should encounter any questions or issues in your development.
    If you have an issue, you may always open a new ticket for that issue here on the forum.

    Good luck with your development!

    Best regards,
    Karl

     

  • Hello Karl,

    I understand, thank you again.

    Indeed, I wanted to refer to nRF52840 (not the nRF53840). I had a typo, thank you very much for pointing that out.

    I will start with the recommended material, until later,

    Marry

Related