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

Optimal BTLE reference design?

Hi. I am looking for a reference FW design for BTLE where I can define a custom Service and Characteristic where I can send arbitrary (minimal length) data from peripheral to iOS central, and perhaps a little data in reverse as well.

When starting with one of the ble_peripheral sample projects, they all are custom to the common BT services out there such as Heart Rate or Mouse or Keyboard or whatever. That makes it difficult to implement my own data design and instead I have to learn the Nordic codebase and learn more about BTLE than I care to at the moment. As such, is there a reference design somewhere that is available that makes it EASY to implement BTLE short data exchange between peripheral (my device) and central (iOS)? Basically I need to send little bursts of data from my custom hardware to iOS and a little data in reverse as well.

Thanks,

Kevin

Parents Reply Children
  • Yes, I did.  Originally was EHAL.  Then got customers requiring support for IAR and other MCU.  So instead of refactoring EHAL.  I decided to create a new repo for it.  One day while driving, I heard the radio playing Moonlight Sonata.  So there is "IOsonata makes your I/Os sing".

    I also don't like being locked in with Zephyr (super huge mess).  So now starting to add support for nRF91 & nRF53 in IOsonata. Totally bare metal not locked in to anything.  You can use it with any other RTOS.

    Install eclipse, which is pretty easy now.  All the projects are native IDE project, no manual makefiles, no scripts. I hate makefile and any scripts just to compile a project (a la Zephyr).

    All projects are per target. To open a project browse down the folder tree to the target device you want to use.  Eclpse will automatically list all projects available for that target.  You need first build the IOsonata library before you can build the examples. 

  • Very good. I'll check this out and see if it is relatively easy to get up to speed. I just want to focus on my project not on all the intricacies of BT.

    What city are you located in?

    Take care.

  • Brossard.  It is on the south shore of Montreal. 

  • I'm in LA. If I have any other questions about IOsonata, I'll let you know. This could be great if it works as easy as it looks. Again, when implementing BTLE, a developer doesn't want to have to learn so much Nordic particulars. It would have been optimal for Nordic and for the developers if Nordic offered such a simple BTLE "plug and play" implementation. 

  • You can send me an email any time. It is the purpose of the library to make it easy to develop application firmware.  It's object oriented.  Everything is created with a configuration data structure.  You fill up the structure with the configuration you want and call init and you are ready to go.  For example uart, set the pins to use, rate, ...in the config structure. Call init with the config. Then just send and receive date.  Same with config of BLE. Fill up how you want it, how many services, characteristics.  Call init with it.  Handle the callbacks. That's it.

    most importantly no 10000 lines of defines jungle of the sdk_config.h 

Related