Finding a working nRF52810 BLE Example

Good afternoon, and thank you in advance for your help.

I have an extensive microcontroller background, but I am new to the Nordic famliy and BLE in general. I thought finding an example project and getting started would be a fairly easy endeavor, but it has proven to be anything but that.

I have downloaded multiple versions of the SDK for the nRF52810, and tried most of the examples within each. I am using Segger Embedded Studio, and I have only found a few that even compile without modifying the program. I have tried SDK 17.1.0 with absolutely no luck in getting examples compiled. I reverted to SDK 160098 and was able to get the HRM example running using SoftDevice 110, but I can't even get other examples to build.

This is a quite simple project. I am basically looking for a barebones example of sending and receiving data over BLE. If I can get that, I am confident I can do the rest, but I am losing faith in the example code and documentation.

Where can I find examples that work? What is the problem with them not building? Am I better off using a different IDE, and if so, which one?

Is there an example of both sending and receiving data over BLE?

Thank you

Parents
  • Hi.

    Sorry to hear that you experience with the SDK and nRF52810 is not good so far. I'll do my best to help you get started.

    Could you elaborate a little bit on what kind of issues you are running into? Build errors, application crashing?

    HRM example running using SoftDevice 110

    Softdevice S110 is not supported on the nRF52810.

    ____________

    From the documentation;
    Starting with nRF5 SDK v14.1.0, we have included examples that target nRF52810 running on the nRF52 Development Kit. The example project that emulates nRF52810 is located in the subfolder pca10040e. The following SDK examples include a pca10040e target emulating nRF52810:

    • UART
    • SAADC
    • Most BLE peripheral examples
    • Direct Test Mode (DTM)

    For more detailed documentation regarding nRF52810 development, please see Developing for nRF52810 in the SDK documentation.

    Br,
    Joakim

  • Thank you for the reply. You are correct- I am actually running S112 not S110. That was just a typo in the post.

    The problem with getting the examples to run in SES is build errors. In the latest SDK I am receiving errors about vfprint.h in every example. If I remove that, many of them say the .text section does not fit.

    If I go back to the older SDK, the vfprint.h error still exists, but some examples at least fit.

    Which BLE example demonstrates two way communication?

    Thank you!

  • Thanks.

    Which version of SES are you using?

    kparrent said:
    Which BLE example demonstrates two way communication?

    The ble_app_uart could serve as a good starting point for that.

    Br,
    Joakim

Reply Children
  • Great. I tried to use that one. Here is the compiler error in Segger Embedded Studio. Can you help get this compiling? 

    Project path: nRF5SDK160098a08e2_3\examples\ble_peripheral\ble_app_uart\pca10040e\s112\ses

    1> Compiling ‘boards.c’
    7> C:\nRF5SDK160098a08e2_3\components\libraries\uart\retarget.c:101:23: error: unknown type name '__printf_tag_ptr'
    7> 101 | int __putchar(int ch, __printf_tag_ptr tag_ptr)
    7> | ^~~~~~~~~~~~~~~~
    9> Compiling ‘nrf_drv_clock.c’
    Build failed

  • Thanks.

    I'll take a look.

    I would suggest that you use nRF5 SDK v.17.1.0.

    Also, which version of SEGGER Embedded Studio are you working with? Just so that I have the same setup as you do.

    versions of the SDK for the nRF52810

    Are you working with a custom board? Or are you developing for the nRF52810 on a nRF52-DK (with a nRF52832 mounted).

    Br,
    Joakim

  • Hi Joakin,

    17.10 has the same issue.

    Another NXP employee (Jay) contacted me offline and confirmed the code does not compile in Segger 7.10 or 6.20a, but it compiles in 5.50. I will try 5.50 later today.

    Thank you

  • Thanks.

    That's why I asked about the SES veersion. Let me know how it works out.

    Br,
    Joakim

  • I downloaded fresh version of SDK 17.10 and SES 5.50 which I was told was a working version of SES. I tried to compile the ble S112 UART example. I get the following compile errors. This is becoming a pretty big waste of time.

    5> C:\nRF5SDK160098a08e2_3\examples\ble_peripheral\ble_app_uart\main.c:582:25: error: 'RX_PIN_NUMBER' undeclared (first use in this function); did you mean 'P0_PIN_NUM'?
    5> C:\nRF5SDK160098a08e2_3\examples\ble_peripheral\ble_app_uart\main.c:582:25: note: each undeclared identifier is reported only once for each function it appears in
    5> C:\nRF5SDK160098a08e2_3\examples\ble_peripheral\ble_app_uart\main.c:583:25: error: 'TX_PIN_NUMBER' undeclared (first use in this function); did you mean 'P0_PIN_NUM'?
    5> C:\nRF5SDK160098a08e2_3\examples\ble_peripheral\ble_app_uart\main.c:584:25: error: 'RTS_PIN_NUMBER' undeclared (first use in this function)
    5> C:\nRF5SDK160098a08e2_3\examples\ble_peripheral\ble_app_uart\main.c:585:25: error: 'CTS_PIN_NUMBER' undeclared (first use in this function)

Related