Posts by Mohammad Afaneh

Prototyping BLE apps on the nRF52840 USB Dongle (Part B)

As a continuation of last week’s tutorial (Prototyping BLE apps on the nRF52840 USB Dongle (Part A)), where we covered the following: Adding header rows to the USB dongle Mounting it on a breadboard Connecting an external LED and an external push button to the dongle Reuse and modify a Nordic template BLE peripheral example…

Read More

Prototyping BLE apps on the nRF52840 USB Dongle (Part A)

Prototyping with the nRF52840 USB Dongle Part A

In the previous post (The nRF52840 USB Dongle Tutorial (Part 1)), we explored how to use the new nRF52840 USB Dongle to enable nRF Connect PC applications such as the Bluetooth Low Energy application (central and peripheral emulator), the nRF Cloud Gateway application, and the RSSI Viewer application. More importantly, we also talked about how the dongle can be used…

Read More

The nRF52840 USB Dongle Tutorial (Part 1)

nRF Connect + nRF52840 USB Dongle

When it comes to Bluetooth Low Energy modules, chipsets and development kits, prices are only getting lower. Take for example the new nRF52840 USB dongle. The dongle costs only $10 and can serve as a great development kit with a few I/O peripherals including one button, two LEDs (one green, one RGB), and 15 GPIO pins.…

Read More

The Ultimate Bluetooth Mesh Tutorial (Part 7)

In today’s tutorial: We’ll first take a step back and talk a little bit about interoperability and compatibility in Bluetooth mesh. Then, we’ll go through a demo of setting up a mesh network that includes a mix of off-the-shelf devices. Finally, we’ll go through the source code step-by-step and the changes needed to implement the…

Read More

The Ultimate Bluetooth Mesh Tutorial (Part 6)

Bluetooth mesh network

Now that we’ve covered the basics of Bluetooth mesh and also gone over how to run a simple example on the nRF52 platform, it’s time for us to dig deeper into the source code of each type of device/node involved in a mesh network. If you missed the previous posts in this series, you can find…

Read More

The Ultimate Bluetooth Mesh Tutorial (Part 5)

Bluetooth mesh network

In the last post in this series on Bluetooth mesh (found here), we provided a high-level overview of the nRF5 SDK for Bluetooth mesh. We also listed the different examples provided as part of the Nordic SDK. The most complete of these examples is the lighting example, and this is the one we’ll go forward…

Read More

A Recap of Bluetooth World 2018

Bluetooth World 2018

This week’s blog post will be a bit different. I’ll be covering a recap of the yearly event that covers all things Bluetooth: Bluetooth World in Santa Clara, California. Bluetooth World took place last week on September 18th and 19th. If you’re subscribed to my weekly BLE newsletter, you probably noticed that most of the…

Read More

The Ultimate Bluetooth Mesh Tutorial (Part 4)

Bluetooth mesh network

This week we will continue our tutorial series on Bluetooth mesh. Here’s where you can find part 1, part 2, and part 3. But before we get into the practical implementation of an example on the nRF52 series platform, let’s better understand how Bluetooth mesh works on the platform. We’ll go over: The basics and architecture…

Read More

The Ultimate Bluetooth Mesh Tutorial (Part 3)

Bluetooth Mesh Network

In this post, we’re continuing our tutorial series on Bluetooth mesh (you can find part 1 here and part 2 here). This will be the final post that will cover “theory only” content — in the upcoming posts we’ll start digging into more practice by implementing a Bluetooth mesh example on the Nordic nRF52 series platform.…

Read More

The Ultimate Bluetooth Mesh Tutorial (Part 2)

Bluetooth Mesh Network Image

In last week’s tutorial (The Ultimate Bluetooth Mesh Tutorial (Part 1)) in this series on Bluetooth mesh, we covered the following: Basics of Bluetooth mesh Terminology: nodes, elements, states, properties, messages, addresses, publish-subscribe, and managed flooding. In this week’s tutorial, we’ll continue by covering a few more concepts within Bluetooth mesh, including: Models Scenes Types…

Read More

The Ultimate Bluetooth Mesh Tutorial (Part 1)

Bluetooth mesh network

Bluetooth has been around for a while. In fact, it recently it celebrated its 20th year anniversary! The introduction of the Bluetooth Low Energy (BLE) standard came in 2010 to address the rapid growth of use cases in the Internet of Things (IoT) field including sensors, wearables, medical devices, etc. However, one thing that BLE…

Read More

The complete cross-platform nRF development tutorial

In a previous blog post (The complete nRF Mac development 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…

Read More

Bluetooth 5 Advertisements: Everything you need to know

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…

Read More

The complete nRF52 Mac development tutorial

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…

Read More

BLE power consumption optimization: The comprehensive guide

BLE power consumption optimization: a comprehensive guide on how to achieve maximum battery life for your BLE device In my search to find a comprehensive guide for maximizing power efficiency for Bluetooth low energy devices, I found multiple guides from different vendors. These guides were great, but were more focused on specific chips and modules…

Read More