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
  • Now that's what I'm talking about. Why hasn't Nordic made available such a (seemingly) simple way to implement BTLE in your own custom device? It seems it would promote easy adoption of their already amazing hardware. Is anyone at Nordic listening? Slight smile 

    The codebase seems a little old, however. What is your current setup (hopefully Mac) to implement BTLE peripheral communications? IDE? Base libraries? Codebase for nRF52 devices? etc.

    Thanks so much!

  • I work exclusively on MAC.  My preferred IDE is Eclipse GCC.  You can use IAR, KEIL, CrossWork with IOsonata but not with SES.  The current master branch is alway the latest. It is in constant flux and always keep up with latest SDK.  The current SDK is 16.  The blog is a bit old.  I haven't has time to update but the repo is always up to date.  

    If you wish to work with older SDK, use EHAL but is only Eclipse. Current master of EHAL is also SDK16. 

  • That's wonderful Hon. Thank you sooooo much! Did you design IOSonata?

    If I install Eclipse and use IOsonata, I should be good to go, right?

    Thanks again! It seems like Nordic should know about what you've done here...!

  • 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.

Related