From 4d3c5e05b495d33032deb131be33f4facead0b7c Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 30 Jan 2026 12:41:34 +0000 Subject: [PATCH 1/6] Initial plan From 6e6a3782d81aba91f63f94468fe14a0c91952daa Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 30 Jan 2026 12:46:20 +0000 Subject: [PATCH 2/6] Enable ESL Profile with Bluetooth stack configuration Co-authored-by: ParthSanepara <29671904+ParthSanepara@users.noreply.github.com> --- app/prj.conf | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/app/prj.conf b/app/prj.conf index e7a3bfa..488cd31 100644 --- a/app/prj.conf +++ b/app/prj.conf @@ -4,3 +4,22 @@ # This file contains selected Kconfig options for the application. CONFIG_SENSOR=y + +# Bluetooth Stack Configuration +CONFIG_BT=y +CONFIG_BT_PERIPHERAL=y +CONFIG_BT_DEVICE_NAME="PSLabel" + +# GATT Configuration +CONFIG_BT_GATT_CLIENT=y + +# Bluetooth Controller - Extended Advertising (required for ESL/PAwR) +CONFIG_BT_CTLR_ADV_EXT=y + +# Periodic Advertising with Responses (PAwR) - Core requirement for ESL +CONFIG_BT_CTLR_SYNC_PERIODIC=y +CONFIG_BT_PER_ADV_SYNC=y +CONFIG_BT_PER_ADV_SYNC_RSP=y + +# ESL (Electronic Shelf Label) Profile +CONFIG_BT_ESL=y From aa2cb325336f24f42ed2d0cc64b99c5532d050cc Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 30 Jan 2026 12:48:48 +0000 Subject: [PATCH 3/6] Add nrf-esl-bluetooth module to west.yml for ESL profile support Co-authored-by: ParthSanepara <29671904+ParthSanepara@users.noreply.github.com> --- west.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/west.yml b/west.yml index 8304d31..d1a5230 100644 --- a/west.yml +++ b/west.yml @@ -7,6 +7,8 @@ manifest: remotes: - name: ncs url-base: https://github.com/nrfconnect + - name: nordicplayground + url-base: https://github.com/NordicPlayground projects: - name: nrf @@ -14,3 +16,7 @@ manifest: repo-path: sdk-nrf revision: v3.0.2 import: true + - name: nrf-esl-bluetooth + remote: nordicplayground + revision: main + path: modules/lib/nrf-esl-bluetooth From 11e47fb1796949b89e1cadf5eac3b10784d22195 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 30 Jan 2026 12:51:32 +0000 Subject: [PATCH 4/6] Fix ESL configuration: pin to stable version and correct PAwR settings Co-authored-by: ParthSanepara <29671904+ParthSanepara@users.noreply.github.com> --- app/prj.conf | 9 ++++----- west.yml | 2 +- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/app/prj.conf b/app/prj.conf index 488cd31..ed51e9f 100644 --- a/app/prj.conf +++ b/app/prj.conf @@ -10,16 +10,15 @@ CONFIG_BT=y CONFIG_BT_PERIPHERAL=y CONFIG_BT_DEVICE_NAME="PSLabel" -# GATT Configuration +# GATT Configuration CONFIG_BT_GATT_CLIENT=y -# Bluetooth Controller - Extended Advertising (required for ESL/PAwR) +# Bluetooth Controller - Extended Advertising (required for ESL) CONFIG_BT_CTLR_ADV_EXT=y +CONFIG_BT_EXT_ADV=y -# Periodic Advertising with Responses (PAwR) - Core requirement for ESL -CONFIG_BT_CTLR_SYNC_PERIODIC=y +# Periodic Advertising Sync (for ESL peripheral/tag role) CONFIG_BT_PER_ADV_SYNC=y -CONFIG_BT_PER_ADV_SYNC_RSP=y # ESL (Electronic Shelf Label) Profile CONFIG_BT_ESL=y diff --git a/west.yml b/west.yml index d1a5230..8aba965 100644 --- a/west.yml +++ b/west.yml @@ -18,5 +18,5 @@ manifest: import: true - name: nrf-esl-bluetooth remote: nordicplayground - revision: main + revision: v2.5.1-stable path: modules/lib/nrf-esl-bluetooth From 19290179a50c8aac33deea81bdaa83d7f62aa791 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 30 Jan 2026 12:52:39 +0000 Subject: [PATCH 5/6] Remove trailing whitespace in prj.conf Co-authored-by: ParthSanepara <29671904+ParthSanepara@users.noreply.github.com> --- app/prj.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/prj.conf b/app/prj.conf index ed51e9f..202a075 100644 --- a/app/prj.conf +++ b/app/prj.conf @@ -10,7 +10,7 @@ CONFIG_BT=y CONFIG_BT_PERIPHERAL=y CONFIG_BT_DEVICE_NAME="PSLabel" -# GATT Configuration +# GATT Configuration CONFIG_BT_GATT_CLIENT=y # Bluetooth Controller - Extended Advertising (required for ESL) From 27fb22bbad784a99844be5eda7610da03cb10fc1 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 30 Jan 2026 12:53:04 +0000 Subject: [PATCH 6/6] Update README to document ESL profile support Co-authored-by: ParthSanepara <29671904+ParthSanepara@users.noreply.github.com> --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 91a35d5..81008a7 100644 --- a/README.md +++ b/README.md @@ -38,6 +38,7 @@ To build the **de facto standard for smart, wireless labeling** in embedded envi - **Firmware**: Zephyr RTOS / nRF Connect SDK (Nordic) - **MCU**: nRF52 and nRF54 Series (Build available for nRF54L15DK, nRF52840DK) - **Communication**: BLE Peripheral + NFC Wake +- **BLE Profile**: Electronic Shelf Label (ESL) Profile - Bluetooth 5.4 - **Display Driver**: eInk (GoodDisplay/Waveshare) over SPI - **Power**: Coin cell – optimized sleep/wake cycle - **OTA Support**: BLE