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!

  • 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

  • Hello Marry,

    I am happy you found the information useful!

    Marry said:
    I had a typo, thank you very much for pointing that out.

    I suspected that this might have been the case, but I just wanted to make absolutely sure.

    Marry said:
    I will start with the recommended material, until later,

    That is great. Good luck with the material, and hope you have a great day!

    Best regards,
    Karl

  • Hello Karl! I hope I can still get in touch with you, because you have been the most  helpful person to me, thank you very much 100. I studied:

    which you suggested me, very helpful, so thanks a lot! And I've got the nRF52840 board. Now, I would like to ask for your opinion on the following issue:

    Having my development board and my thingys, it became clear that I should first implement my application on the dev_board, because the examples from the nRF5_SDK folder are suitable for that. Now, I would like to establish a communication between the development board and the phone. More specifically, I would like to write a bit in a register at a button press & receive a notification on the phone when this happens. I read a bit about this and from my perspective I have the following options:

    (1) I write my own code from scratch - not such a great option, considering the available resources from Nordic

    (2) I start where this tutorial ends, with sending a notification when the temperature has changed. - For my case, I would like to send a notification + write a bit in a register, when I press a button. The problem is that I am not sure how to write into the CUSTOMER registers. And I also don't know how I should do the button trigger. Do you think this would be a good starting point? 

    (3) Another option I found while looking on the NordicDevZone would be the alert notification application. But I am also not so sure about this approach, since the bits which are written while receiving so-called "mails" or "calls" are not used-defined, but rather imposed and not changeable. 

    Could you please give me an idea how I should start? There are so many possibilities, only if I had time to try everything Slight smile

    Thank you very much and best regards,

    Marry

  • Hello again Marry!

    I am terribly sorry for my late reply - I have been out of office for some time now. My apologies.

    Marry said:
    I hope I can still get in touch with you, because you have been the most  helpful person to me, thank you very much

    I am glad to hear you say that, thank you! It is no problem at all really, I am happy to help! Slight smile

    Marry said:
    Having my development board and my thingys, it became clear that I should first implement my application on the dev_board, because the examples from the nRF5_SDK folder are suitable for that.

    Yes, this is correct. The thingy is great as a rapid-prototyping platform, but when you start wanting to develop your own application - possibly using other hardware than the thingy provides - it is definitely better to develop on the Development Kit.

    Marry said:
    Could you please give me an idea how I should start? There are so many possibilities, only if I had time to try everything

    You really have done your research here, great!
    I concur that option 1 is the least desirable, since there already exists some examples for this.
    So, either option 2 or 3 should be done.
    To gain the best understanding along the way, while also achieving the same functionality I would perhaps suggest going for option 2 here - this way, you will already be familiar with most of the code you are working with from the tutorials you have completed, and also get familiar with merging other examples into your own code.
    To answer your questions about the approach in option 2: 

    Marry said:
    For my case, I would like to send a notification + write a bit in a register, when I press a button.

    You can change the temperature-notification that you mention, to instead be a button-press notification.
    The simplest implementation of a button press notification can be seen in the BLE Blinky peripheral example.
    The button trigger here will then be the press of a designated button on the DK, if I understood your question correctly.

    Marry said:
    The problem is that I am not sure how to write into the CUSTOMER registers.

    Could you elaborate on this - do you have a particular memory register designated for storing this one bit, and you are not sure how to access it? If so, please elaborate which register / memory location and functions you are using for this. 

    Alternatively, you may go for option 3 - which is closer to providing your sought after functionality right off the bat ( only some modifications required to the code ), but which will require you to familiarize with the code "from scratch".

    Once again I apologize for my late reply. I look forward to hearing your thoughts on this!

    Best regards,
    Karl

Related