5 06, 2018

Developing an nRF52-based remote control for a smart lightbulb (BLE Central)

By | 2018-06-20T13:08:25+00:00 June 5th, 2018|Categories: BLE technology, Tutorials|Tags: , , , , , , |4 Comments

In any BLE application, there are (at least) two devices involved: a BLE Peripheral device and a BLE Central device. Usually, the BLE Central is a smartphone, but that doesn't mean it has to be! What if: you do not want to have to launch an app everytime you want to control a BLE Peripheral? you want to have a dedicated device that acts as the remote control for the Peripheral device? you want to utilize Bluetooth 5 features such as the long-range feature (Coded PHY)? (which currently does not exist in any smartphone) you want to learn more about how a [...]

29 05, 2018

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

By | 2018-06-20T13:13:07+00:00 May 29th, 2018|Categories: BLE technology, Tutorials|Tags: , , , |2 Comments

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 [...]

10 04, 2018

The complete cross-platform nRF development tutorial

By | 2018-04-11T00:24:21+00:00 April 10th, 2018|Categories: BLE technology, Tutorials|Tags: , , , , , , , , , , , |8 Comments

The complete step-by-step cross-platform nRF development tutorial (for Windows, macOS, Linux) 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 [...]

27 06, 2017

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

By | 2017-09-04T09:10:50+00:00 June 27th, 2017|Categories: BLE technology, GATT|Tags: , , , , , , |16 Comments

I’m sure you’re aware that implementing Bluetooth Low Energy (BLE) for devices that interact with smartphones is one of the best ways to achieve a great user experience for your IoT device. However, designing BLE devices can be a daunting process! You're probably thinking: "Where do I even start??" One thing I wish I had when I started developing for BLE is more blog posts 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) is the foundation for the design of any BLE system and [...]

10 05, 2017

The complete nRF52 Mac development tutorial

By | 2018-04-10T20:16:52+00:00 May 10th, 2017|Categories: BLE technology|Tags: , , , , , , , , , |73 Comments

The complete tutorial for nRF52 Mac development and debugging [Update] I published a more up-to-date version of this blog post that covers all three major operating systems (macOS, Windows, and Linux) using a different IDE. Check it out here: The complete cross-platform nRF development tutorial Today's tutorial focuses on setting up the environment for nRF52 Mac development and debugging for Bluetooth Low Energy applications. Specifically, I will be using the new Nordic nRF52840 Preview Development Kit board that supports the enhanced features of Bluetooth 5 (including longer range, bigger advertisements and increased speed). A few notes about the setup/environment as well as the [...]