SimpleBLE

Learn Bluetooth Low Energy: Free BLE Course

A free, hands-on Bluetooth Low Energy course. Every lesson runs on your own computer, with working code in 12 languages and no hardware to buy.

Learn Bluetooth Low Energy by running it. This free course starts with your first scan and ends with a connection that streams data. Every lesson runs on your own computer, in your language, with nothing to buy.

How each lesson works

Each lesson teaches one idea and has you run it:

  • Concept. A short explanation and one diagram.
  • Code. A complete program in C++, C, Python, Java, Rust, Node.js, React Native, Kotlin Multiplatform, Swift, Dart, Delphi or Android. Pick your language once and every lesson opens in it.
  • What you should see. The output that tells you it worked.
  • Exercise. One change to make on your own.
  • Troubleshooting. The fixes for the problems learners hit most often.
  • Tool. A free SimpleBLE browser tool for the lesson's topic.

What you need

  • A computer with Bluetooth. Windows, macOS or Linux.
  • SimpleBLE for your language. Installation lists the package for each language. For Python, run pip install simplepyble.
  • A device to talk to. A phone with nRF Connect for Mobile, a free app for Android and iOS, or a second computer running these lessons.

A computer without Bluetooth uses an nRF52840 USB dongle with the free Dongl firmware. The dongle appears as a Bluetooth adapter next to the computer's own.

Module 1: First contact

Find the devices around you and read what they broadcast.

Module 2: Advertising

Make your computer visible and broadcast data of your own.

Module 3: Connections and GATT

Connect to a device and exchange data with it.

Coming next

  • Module 4: Build a peripheral. Serve GATT from your computer, build a heart rate service end to end, and connect your own central to it.
  • Module 5: Real devices. Read a heart rate strap, test your nRF or ESP32 devkit, and keep a device connected with a reconnect loop.
  • Module 6: Debugging and shipping. Disconnects, error codes, HCI logs, addresses and privacy, OS permissions and concurrency.

Go deeper

The Fundamentals pages are the reference for each topic, and the Recipes show the patterns for production code. The free SimpleBLE tools decode advertisements, look up UUIDs, validate connection parameters and more, in the browser.

SimpleBLE is a source-available Bluetooth Low Energy library for Windows, macOS, Linux, iOS and Android. The course uses it so the same lesson runs on every operating system and in every language.

On this page