Designing your Bluetooth GATT: Custom Services and Characteristics [MIDI controller use case]

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. One such phase is designing your Bluetooth GATT: Services and Characteristics.

I just published a new blog post tackling this phase. I lay out the step-by-step process for designing a custom GATT for a BLE MIDI controller using the nRF52 platform including the complete source code. The post covers the following:

  • Attribute Protocol (ATT) and the Generic Attribute Profile (GATT).
  • Profiles, Services, and Characteristics.
  • How to Design your custom GATT (step-by-step).
  • Implementation of a custom GATT using a real-life example of a MIDI device on the nRF52 platform.
  • Testing and verification using the nRF Connect mobile application.

Read the full blog post here:

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

Hope others find it useful!