How to build the simplest nRF52 BLE Peripheral application (Lightbulb use case)

By Mohammad Afaneh | May 29, 2018 | 20 Comments
BLE-Smart-LED-application-nRF52

Let’s face it… One of the hardest things when working with BLE is simply getting started. Whether it’s the setup of the IDE, the configuration of the project, or the implementation the BLE application. I’ve been there… I’ve felt lost, not knowing where and how to start… This is especially true since I was trying to learn the technology itself (BLE) in addition to learning an SDK, platform, and IDE all at once! It just felt overwhelming and way too many things to learn at one time. Lately, I’ve been focusing on one platform/chipset: Nordic’s nRF52. This is due to one main reason: I’ve found it to be the most developer-friendly platform out there. (It also helps that you get a FREE commercial license for a…

Read More

The complete cross-platform nRF development tutorial

By Mohammad Afaneh | April 10, 2018 | 16 Comments

In a previous blog post (The complete nRF Mac developmeent tutorial), I went over how to set up your nRF development environment using the NetBeans IDE on a Mac. The beauty with NetBeans is that it’s cross-platform and customizable to fit your needs. I had been using NetBeans for over a decade, so I was very comfortable with customizing and modifying the different settings and configurations to make it work. Unfortunately, the setup was quite lengthy and involved many changes to make it work, especially with on-target debugging. Even then, it wouldn’t work quite as well as I would like it to. Not to mention, the setup was different for each of the three main operating systems (Windows, macOS, and Linux). I started searching for a better, more…

Read More

Bluetooth 5 speed: How to achieve maximum throughput for your BLE application

By Mohammad Afaneh | September 6, 2017 | 17 Comments

Introduction In this second post in the series on Bluetooth 5, we cover the new feature of improved 2x speed along with a general overview of throughput for a BLE application (the previous post went over Bluetooth 5’s new features in general and more specifically covered the increased advertisement capacity feature). First, we need to understand that the speeds advertised (1 Mbps and the new 2 Mbps) are only theoretical and are cut down when it comes down to application throughput. This is due to multiple reasons which we’ll go over in the next section. The Bluetooth 5 “2x speed” feature requires a hardware update so older devices/chips/modules will not support it. It is also important to note that in order to achieve this higher…

Read More

Bluetooth 5 Advertisements: Everything you need to know

By Mohammad Afaneh | July 18, 2017 | 10 Comments

You’ve probably heard so much about the recently released Bluetooth 5. You’ve seen all the hype on 2x Speed, 4x Range, and 8x Advertising data increase capabilities. But what does this all mean?? How does it achieve all these improvements? Is it really possible to achieve all these simultaneously?? What about power consumption? How is that affected? Look: There was so much media hype surrounding the release of Bluetooth 5, and lots of conflicting information with very few details. Many media articles made it sound like you can achieve all these simultaneously! In this first post of a series on Bluetooth 5, I’ll go ahead and demystify all these facts for you as well as cover Bluetooth 5 Advertisements in detail. The goal with this series…

Read More

Bluetooth GATT: How to Design Custom Services & Characteristics [MIDI device use case]

By Mohammad Afaneh | June 27, 2017 | 19 Comments
BLE MIDI Device - GATT Example

You’re probably aware that adding Bluetooth Low Energy (BLE) to your device is one of the best ways to achieve a great user experience for your IoT device. Why is that, you may ask? Well, because adding BLE allows your device to be connectable from a smartphone app. And we can all agree that smartphone apps have become very familiar to end-users and are (usually) very easy to use. However, designing BLE devices can be a confusing process! You’re probably thinking: “Where do I even start?” The one thing I wish I had when I started developing for BLE is more resources that walk you step-by-step on how to tackle the different phases of the system design and implementation. The Bluetooth GATT (Generic Attribute Profile)…

Read More

 

 

Copyright © 2018 Novel Bits, LLC | All Rights Reserved