
Bluetooth low energy
SmartBond™: power, size and system cost without compromise
Bluetooth® low energy is the de facto low power standard for connecting devices to each other and to the cloud. Highly integrated, the SmartBond™ SoC family features the smallest, most power efficient Bluetooth low energy solutions available and enables the lowest system costs. An extensive suite of support tooling ensures ease of use and a fast route to market.

Part Number | DA14699/7/5/1 | DA14683 | DA14682 | DA14586 | DA14585 | DA14531/0 | DA14531MOD | |
Product Description | The world’s most advanced wireless microcontroller product family | Single-chip high-security Bluetooth 5 solution with expandable memory | Small size, low power and most integrated Bluetooth 5 SoC | The world’s smallest and lowest power Bluetooth 5.1 System-on-Chip which enables the next 1billion IoT devices | The DA14531 SmartBond TINY™ Module, based on the world’s smallest and lowest power Bluetooth 5.1 system-on-Chip | |||
TYPE
|
SoC | ● | ● | ● | ● | |||
SiP | ● | ● | ||||||
Module | ● | |||||||
TECHNOLOGY
|
Bluetooth® LE | 5.2 | 5.0 | 5.0 | 5.0 | 5.0 | 5.1 | 5.1 |
2.4 GHz proprietary | ● | |||||||
CORE SYSTEM
|
CPU | 96MHz Arm Cortex-M33 Floating Point DSP Extension |
96MHz Arm Cortex-M0 |
96MHz Arm Cortex-M0 |
16MHz Arm Cortex-M0 |
16MHz Arm Cortex-M0 |
16MHz Arm Cortex-M0+ |
16MHz Arm Cortex-M0+ |
RAM | 512kB 384kB (691) |
128kB | 128kB | 96kB | 96kB | 48kB | 48kB | |
ROM OTP |
128kB 4kB |
128kB 64kB |
128kB 64kB |
128kB 64kB |
128kB 64kB |
144kB 32kB |
144kB 32kB |
|
Flash | QSPI Flash | QSPI Flash | 1024kB | 256kB | SPI Flash | SPI Flash | 128kB | |
Crystals | 32MHz+32kHz | 32/16MHz+32kHz | 32/16MHz+32kHz | 16MHz+32kHz | 16MHz+32kHz | 32MHz | 32MHz | |
POWER
|
Internal DCDC | Buck | Buck | Buck | Buck&Boost | Buck&Boost | Buck&Boost ○ | Buck |
External System Power Rails | 2x1.8V, 1x3.3V | 2x1.8V, 1x3.3V | 2x1.8V, 1x3.3V | |||||
Charger | ● ● ● ○ | ● | ● | |||||
SECURITY
|
AES/SHA | 256/512 | 256/512 | 256/512 | 128 | 128 | 128 | 128 |
ECC/TRNG | ● ● | ● ● | ● ● | ○ ● | ○ ● | |||
Secure Key Handling | ● | ● | ● | |||||
RADIO
|
Frequency | 2.4GHz | 2.4GHz | 2.4GHz | 2.4GHz | 2.4GHz | 2.4GHz | 2.4GHz |
Tx Power | 6dBm | 0dBm | 0dBm | 0dBm | 0dBm | 2.5dBm | 2.2dBm | |
Rx Sensitivity | -97dBm | -94dBm | -94dBm | -93dBm | -93dBm | -94dBm | -94dBm | |
PERIPHERALS
|
UART/SPI/I2C | 3/2/2 | 2/2/2 | 2/2/2 | 2/1/1 | 2/1/1 | 2/1/1 | 2/1/1 |
QSPI XiP On-the-fly decryption |
2/2/2/1 ● |
1 ○ |
1 ○ |
|||||
USB FS/HS | 1 ○ | 1 ○ | 1 ○ | |||||
Timers/PWM/RTC | 4/4/1 | 3/3 | 3/3 | 4/2 | 4/2 | 3/2/1 | 3/2/1 | |
I2S,PCM/PDM | 8CH/2CH | 8CH/2CH | 8CH/2CH | 8CH/2CH | 8CH/2CH | |||
LCD | ● ● ● ○ | |||||||
Keyboard/QDEC/IR | ● ● ● | ● ● ● | ● ● ○ | ● ● ○ | ● ● ○ | ● ● ○ | ||
ADC | 8CH 10b 8CH 14b |
8CH 10b | 8CH 10b | 4CH 10b | 4CH 10b | 4CH 10b | 4CH 10b | |
LED driver | 2 2 ○ ○ | 3 | 3 | |||||
Temperature sensor | ● | ● | ● | ● | ● | |||
Other | Haptics / Motor Controller | |||||||
APPLICATIONS
|
Appliances | ● | ● | ● | ● | ● | ● | ● |
Asset Tracking | ● | ● | ● | ● | ● | |||
Beacons | ● | ● | ● | ● | ||||
Consumer Electronics | ● | ● | ● | ● | ● | ● | ● | |
Direction finding | ● | |||||||
Gaming and AR/VR | ● | ● | ● | |||||
Industrial Automation | ● | ● | ● | ● | ||||
Medical and Healthcare | ● | ● | ● | ● | ● | ● | ● | |
MESH networks | ● | ● | ● | |||||
PC Peripherals | ● | ● | ● | ● | ● | ● | ● | |
Smart Home and Building | ● | ● | ● | ● | ● | ● | ● | |
Wearables | ● | ● | ● | ● | ● | ● | ||
Wireless Ranging (WiRa) | ● | |||||||
Smart door-locks | ● | ● | ● | |||||
IoT sensors | ● | ● | ● | ● | ● | ● | ● | |
PACKAGES
|
Type#Pins (#GPIO) Dimensions |
VFBGA100 (55) 5x5 mm (699/697) |
WLCSP53 (21) 3.41x3.01 mm AQFN60 (37) |
AQFN60 (31) 6x6 mm |
QFN40 (24) 5x5 mm |
WLCSP34 (14) 2.40x2.66 mm QFN40 (25) |
WLCSP17 (6) 1.7x2.05 mm (531 only) |
MOD16 (9) 12.5x14.5 mm |
Operating Temperature | -40 to 85°C | -40 to 85°C | -40 to 85°C | -40 to 85°C | -40 to 85/105°C | -40 to 85°C | -40 to 85°C | |
Supply Voltage Range | 2.4 to 4.75V | 1.7 to 4.75V | 1.7 to 4.75V | 0.9 to 3.3V | 0.9 to 3.3V | 1.1 to 3.3V | 1.8 to 3.3V | |
DEVELOPMENT KITS | DA14695 PRO DA14695 USB |
DA14683 PRO DA14683 USB |
DA14683 PRO DA14683 USB |
DA14585 PRO DA14585 BASIC |
DA14585 PRO DA14585 BASIC |
DA14531/0 PRO DA14531 USB | DA14531MOD PRO |
Read more |
Read more |
DA14680/1 | Not Recommended for New Designs; For Improved Performance – See DA14682/3 |
DA14580/1/2/3 | Not Recommended for New Designs; For Improved Performance – See DA14585/6 and DA14530/1 |

A faster way to new Bluetooth® applications
Swedish IoT company Smart Sensor Devices AB believes developing new Bluetooth applications should be as easy as using them. That’s why they created the BleuIO Bluetooth Low Energy USB dongle using Dialog’s Bluetooth SoCs– a smart, highly integrated device that lets developers create new Bluetooth LE 5.0 applications with minimal effort.

Motion Aware Thin Bluetooth® Low Energy Beacon Solution for Smart Labels
A beacon is a tiny Bluetooth radio battery-powered transmitter. Beacons provide an inexpensive broadcasting solution capable of autonomous operation over very long periods of time. In this paper, we will show how beacons can support extended functionality by employing a range of peripherals to allow them to process and display data while maintaining autonomous operation.
Smart devices that don’t need charging?
Smartcube Co. produces modular chips that convert everyday objects like sport shoes and ID badges into smart, connected IoT devices. Remarkably, they aim to produce chips that are so energy-efficient, the resulting devices never need charging! Dialog’s SmartBond Bluetooth low energy range is helping them achieve their power consumption goals at low cost while delivering excellent reliability.
Stay connected
Get in touch with us directly through our worldwide sales offices, or contact one of our global distributors and representatives.
Inquiries Distributors and Representatives Register for newslettersProduct ID | Application | Standard | Memory size FLASH (Mb) | Memory size ROM (kB) | Memory size OTP (kB) | Memory size RAM (kB) | GPIOs (max) | Power supply min (V) | Power supply max (V) | Tx current (mA) | Rx current (mA) | Output power (dBm) | Sensitivity (dBm) | Microcontroller | Recommended for new Designs | Package | Max system clock (MHz) | Flexible system clock | Execute from FLASH | HW crypto engine | QSPI | SPI | UART | I2C | USB | PDM | Documents |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
DA14580-01UNA | Beacon & Proximity Health & Fitness Human Interface Devices Smart Home | BLE 4.2 Core specification | 0 | 84 | 32 | 50 | 14 | 0.9 | 3.6 | 4.8 | 5.1 | 0 | -93 | M0 | No | WL-CSP34,2.5*2.5*0.5mm | 16 | No | No | Yes | 0 | 1 | 2 | 1 | 0 | 0 | Documentation |
DA14580-01AT2 | Beacon & Proximity Health & Fitness Human Interface Devices Smart Home | BLE 4.2 Core specification | 0 | 84 | 32 | 50 | 24 | 0.9 | 3.6 | 4.8 | 5.1 | 0 | -93 | M0 | No | QFN40,5*5*0.9mm | 16 | No | No | Yes | 0 | 1 | 2 | 1 | 0 | 0 | Documentation |
DA14580-01A32 | Beacon & Proximity Health & Fitness Human Interface Devices Smart Home | BLE 4.2 Core specification | 0 | 84 | 32 | 50 | 32 | 0.9 | 3.6 | 4.8 | 5.1 | 0 | -93 | M0 | No | QFN48,6*6*0.9mm | 16 | No | No | Yes | 0 | 1 | 2 | 1 | 0 | 0 | Documentation |
DA14581-00UNA | Wireless Charging Host Controller Interface | BLE 4.2 Core specification | 0 | 84 | 32 | 50 | 14 | 0.9 | 3.6 | 4.8 | 5.1 | 0 | -93 | M0 | No | WL-CSP34,2.5*2.5*0.5mm | 16 | No | No | Yes | 0 | 1 | 2 | 1 | 0 | 0 | Documentation |
DA14581-00000VRA | Wireless Charging Host Controller Interface | BLE 4.2 Core specification | 0 | 84 | 32 | 50 | 14 | 0.9 | 3.6 | 4.8 | 5.1 | 0 | -93 | M0 | No | WL-CSP34,2.5*2.5*0.3mm | 16 | No | No | Yes | 0 | 1 | 2 | 1 | 0 | 0 | Documentation |
DA14581-00AT2 | Wireless Charging Host Controller Interface | BLE 4.2 Core specification | 0 | 84 | 32 | 50 | 24 | 0.9 | 3.6 | 4.8 | 5.1 | 0 | -93 | M0 | No | QFN40,5*5*0.9mm | 16 | No | No | Yes | 0 | 1 | 2 | 1 | 0 | 0 | Documentation |
DA14583-01F01AT2 | Beacon & Proximity Health & Fitness Human Interface Devices Smart Home | BLE 4.2 Core specification | 1 | 84 | 32 | 50 | 24 | 2.35 | 3.6 | 4.8 | 5.1 | 0 | -93 | M0 | No | QFN40,5*5*0.9mm | 16 | No | No | Yes | 0 | 1 | 2 | 1 | 0 | 0 | Documentation |
DA14585-00000VV2* | Beacon & Proximity Health & Fitness Human Interface Devices Smart Home Remote Controls with voice commands over BLE | BLE 5.0 Core specification + supplemental features | 0 | 128 | 64 | 96 | 14 | 0.9 | 3.6 | 4.8 | 5.1 | 0 | -93 | M0 | Yes | WL-CSP34,2.4*2.66*0.5mm | 16 | No | No | Yes | 0 | 1 | 2 | 1 | 0 | 1 | Documentation |
DA14585-00000AT2* | Beacon & Proximity Health & Fitness Human Interface Devices Smart Home Remote Controls with voice commands over BLE | BLE 5.0 Core specification + supplemental features | 0 | 128 | 64 | 96 | 25 | 0.9 | 3.6 | 4.9 | 5.3 | 0 | -93 | M0 | Yes | QFN40,5*5*0.9mm | 16 | No | No | Yes | 0 | 1 | 2 | 1 | 0 | 1 | Documentation |
DA14586-00F02AT2* | Beacon & Proximity Health & Fitness Human Interface Devices Smart Home Remote Controls with voice commands over BLE | BLE 5.0 Core specification + supplemental features | 2 | 128 | 64 | 96 | 24 | 1.8 | 3.6 | 4.9 | 5.3 | 0 | -93 | M0 | Yes | QFN40,5*5*0.9mm | 16 | No | No | Yes | 0 | 1 | 2 | 1 | 0 | 1 | Documentation |
DA14680-01F08A92 | Wearables Smart Home Apple HomeKit Human Interface Devices Other rechargeable device | BLE 4.2 Core specification + optional features | 8 | 128 | 64 | 128 | 31 | 1.7 | 4.75 | 5.2 | 6 | 0 | -94 | M0 | No | AQFN60,6*6*0.8mm | 96 | Yes | Yes | Yes | 0 | 2 | 2 | 2 | 1 | 1 | Documentation |
DA14681-01000U2 | Wearables Smart Home Apple HomeKit Human Interface Devices Other rechargeable device | BLE 4.2 Core specification + optional features | 0 | 128 | 64 | 128 | 21 | 1.7 | 4.75 | 5.2 | 6 | 0 | -94 | M0 | No | WL-CSP53,3.4*3.0*0.5mm | 96 | Yes | Yes | Yes | 1 | 2 | 2 | 2 | 1 | 1 | Documentation |
DA14681-01000A92 | Wearables Smart Home Apple HomeKit Human Interface Devices Other rechargeable device | BLE 4.2 Core specification + optional features | 0 | 128 | 64 | 128 | 37 | 1.7 | 4.75 | 5.2 | 6 | 0 | -94 | M0 | No | AQFN60,6*6*0.8mm | 96 | Yes | Yes | Yes | 1 | 2 | 2 | 2 | 1 | 1 | Documentation |
DA14682* | Wearables Smart Home Apple HomeKit Bluetooth mesh Cloud connected applications | BLE 5 | 8 | 128 | 64 | 128 | 31 | 1.7 | 4.75 | 5.2 | 6 | 0 | -94 | M0 | Yes | AQFN60,6*6*0.8mm | 96 | Yes | Yes | Yes | 0 | 2 | 2 | 2 | 1 | 1 | Documentation |
DA14683* | Industrial Human Interface Devices Virtual reality remotes Banking | BLE 5 | 0 | 128 | 64 | 128 | 37 | 1.7 | 4.75 | 5.2 | 6 | 0 | -94 | M0 | Yes | AQFN60,6*6*0.8mm | 96 | Yes | Yes | Yes | 1 | 2 | 2 | 2 | 1 | 1 | Documentation |
DA14691-00000HQ2* | Wearables Smart Home Apple HomeKit Bluetooth mesh Cloud connected applications | BLE 5.0 Core specification + optional features | Optional external | 128 | 4 | 384 | 44 | 2.4 | 4.75 | 3.5 | 2.2 | 6 | -97 | M33 | Yes | VFBGA86, 6 x 6 x 0.55 mm | 96 | Yes | Yes | Yes | 1 | 2 | 3 | 2 | 1 | 1 | Documentation |
DA14695-00000HQ2* | Wearables Smart Home Apple HomeKit Bluetooth mesh Cloud connected applications | BLE 5.0 Core specification + optional features | Optional external | 128 | 4 | 512 | 44 | 2.4 | 4.75 | 3.5 | 2.2 | 6 | -97 | M33 | Yes | VFBGA86, 6 x 6 x 0.55 mm | 96 | Yes | Yes | Yes | 1 | 2 | 3 | 2 | 1 | 1 | Documentation |
DA14697-00000HR2* | Wearables Smart Home Apple HomeKit Bluetooth mesh Cloud connected applications | BLE 5.0 Core specification + optional features | Optional external | 128 | 4 | 512 | 55 | 2.4 | 4.75 | 3.5 | 2.2 | 6 | -97 | M33 | Yes | VFBGA100, 5 x 5 x 0.475 mm | 96 | Yes | Yes | Yes | 2 | 2 | 3 | 2 | 1 | 1 | Documentation |
DA14699-00000HR2* | Wearables Smart Home Apple HomeKit Bluetooth mesh Cloud connected applications | BLE 5.0 Core specification + optional features | Optional external | 128 | 4 | 512 | 55 | 2.4 | 4.75 | 3.5 | 2.2 | 6 | -97 | M33 | Yes | VFBGA100, 5 x 5 x 0.475 mm | 96 | Yes | Yes | Yes | 2 | 2 | 3 | 2 | 1 | 1 | Documentation |
DA14531 | Disposables Beacons Asset tracking Connected health RCU | BLE 5.1 Core specification + supplemental features | 0 | 144 | 32 | 48 | 12 | 0.9 | 3.6 | 3.5 | 2.2 | 0 | -94 | M0 + | Yes | QFN24*2.2*3.04mm | 16 | Yes | Yes | Yes | 0 | 1 | 2 | 1 | 0 | 0 | Documentation |
*Recommended for new designs
Stay connected
Get in touch with us directly through our worldwide sales offices, or contact one of our global distributors and representatives.
Inquiries Distributors and Representatives Register for newslettersWearables
Wearable electronics is entering every facet of our daily life, giving us new ways to improve our lives: from productivity to health and lifestyle. Revealing previously unattainable information about ourselves and our surroundings, they help advise us.
Proximity & Asset Tracking
Proximity applications are based on knowing and alerting you of the distance between two devices, such as keys or wallets, if the label goes out of range. Proximity information can also be used in asset tagging for inventory and automated access control or monitoring in cold chain tracking.
Connected Medical
Connected medical offers solutions in allowing patients to take care of their own health condition in monitoring, sending alerts and making drug delivery easy. Bluetooth low energy is the technology to connect health products to the cloud. Examples of connected medical products are blood pressure meters, heart rate monitors, glucose meters and patches, body temperature meters, virus testers and drug delivery with injectables or via patches through the skin.
Smart Home & Buildings
Computing & Gaming
Bluetooth has played a key role in connecting computing and gaming peripherals since its introduction. It provides a simple and proven connectivity option for a host of new and emerging peripherals, while securing access to the most personal data.
As electronic equipment becomes smarter and more mobile, the way we interact with it is changing. We want more control, more convenience and less clutter, which is driving huge growth in the wireless HID market. Bluetooth low energy is per default supported in recent versions of windows, which truly enables the wireless desktop.
Stay connected
Get in touch with us directly through our worldwide sales offices, or contact one of our global distributors and representatives.
Inquiries Distributors and Representatives Register for newslettersSmartBond™ SDK Overview | Product Supported |
---|---|
SDK6 | DA14585/6 + DA14531/0 |
SDK10 | DA1469x |
SDK1 | DA14682/3
Also available for DA14680/1 but not recommended for new designs |
SDK5 | DA14580/1/3
Not recommended for new designs |
SmartBond™ Development tools overview | Product Supported |
---|---|
Dialog Smartbond Flash Programmer | DA14531/0, DA1458x and DA1469x |
SmartSnippets Toolbox | All |
SmartSnippets Studio | All |
Production Line Tool |
Stay connected
Get in touch with us directly through our worldwide sales offices, or contact one of our global distributors and representatives.
Inquiries Distributors and Representatives Register for newslettersSocial distancing
Embedded Software Applications for Social Distancing Applications
Bluetooth Low Energy Range Extender
The SmartBond™ BLE Range Extender reference design enables you to take full advantage of the output power of the Bluetooth low energy standard to extend the range of your applications.
Smart USB Dongle
The Smart USB Dongle device is a fully integrated USB to Bluetooth® LE solution, based on SmartBond™ DA14683 high-security Bluetooth LE SoC.
emWin
The emWin embedded graphics library developed by SEGGER Microcontroller is now offered by Dialog Semiconductor in library form for free commercial use with the SmartBond® DA1469x wireless microcontrollers.
Stay connected
Get in touch with us directly through our worldwide sales offices, or contact one of our global distributors and representatives.
Inquiries Distributors and Representatives Register for newslettersOur SmartBond products are supported by development kits and a profiling to help you create applications that exploit the unique benefits of the SmartBond family to the fullest. These tools help you minimize your time to market.
Hardware Development Kits
DA14531 | DA14531 - USB, DA14531 - Pro |
DA14585 | DA14585 - Basic, DA14585 - Pro |
DA14683 | DA14683 - USB, DA14683 - Pro |
DA14695 | DA14695 – USB, DA14695- Pro |
All Bluetooth LE Products | Production Line Tool |
Application Focused Development Kits
DA14585 | DA14585 IoT Multi Sensor Development Kit | |
DA1469x, DA14531 |
Discontinued Kits
DA14585 | DA14585 Voice RCU Development Kit | |
DA14583 | DA14583 IoT Sensor Development Kit The DA14585 IoT is an upgraded sensor development kit with more supported sensors and cloud connectivity |
|
DA14681 | DA14681 HomeKit Development Kit | |
DA14681 | DA14681 Wearable Development Kit |
Stay connected
Get in touch with us directly through our worldwide sales offices, or contact one of our global distributors and representatives.
Inquiries Distributors and Representatives Register for newsletters![]() |
Japan-based company mainly engaged in the manufacture and sale of electronic components and audio equipment. |
![]() |
Bithium - your partner in the design of innovative wireless embedded systems (firmware, hardware, software). Bithium keeps a clear focus on achieving project targets and customer satisfaction. |
![]() |
Cambridge Consultants is a premium multidisciplinary supplier of innovative product development engineering and technology consulting. We help clients deliver groundbreaking products to market fast, with cutting-edge technology that often results in new IP generation for our clients. |
Cloud2GND is a global engineering services firm specializing in standards-based wireless connectivity solutions. Our clients range from innovative start-ups to large semiconductor companies and standards organizations. We offer deep domain knowledge in embedded systems, especially around Bluetooth technology, where we provide consulting, design, development, test, deployment and maintenance services for our clients and their customers. Our engineering services division offers a flexible engagement model acting as a specialized team of standards experts or a complete engineering team able to manage your project needs to completion. |
|
![]() |
Lauterbach is the leading manufacturer of complete, modular and upgradeable microprocessor development tools worldwide with experience in the field of embedded designs since 1979. The engineering team develops and produces highly proficient and specialized Development Tools, which are utilized all over the world under the brand TRACE32®. |
![]() |
LitePoint is the leading provider of test solutions for the world's leading manufacturers of wireless |
![]() |
Murata is a global leader in the design, manufacture and supply of advanced electronic materials, leading edge electronic components, and multi-functional, high-density modules. |
![]() |
Panasonic Industrial Devices Sales Company of America. Many products sold by Fortune 500 companies are in fact Powered by Panasonic technology, and we are proud to provide manufacturers with the performance, quality, and reliability that are synonymous with the Panasonic brand. The Power of Panasonic Industrial Devices brings strategic innovations to our customers’ product development process. |
![]() |
TDK is one of the largest electronic components manufacturers in the world. |
![]() |
Tieto is the leading product development services company enabling semiconductor, connected device and communication infrastructure manufacturers, build next generation connected devices & things, cars and networks. |
![]() |
Wireless technology experts. Xtel's core competency is technology development, which makes up a substantial part of its business. It utilizes state-of-the-art technologies to create the next product or technical platform for its partners. Among its clients, it counts some of the world’s leading tech innovators. It is typically tasked with the development of wireless technology, protocols, and ultralow power designs and products. Xtel has in-depth knowledge of the product development and maturation of wireless technologies. It typically uses proven and tested standard components or platforms, helping its partners to reduce time to market. Where a technology boost is needed, it develops complete products or assist a development team in the company. Its technological solutions and innovative skills are recognized by its partners. |
![]() |
Quuppa is a leading technology provider for real-time locating systems (RTLS) and indoor positioning systems (IPS). The company was established in 2012 by a team of experienced engineers and scientists as a spin-off from Nokia Research Center and has since successfully commercialised its offering, creating a complete product platform: the Quuppa Intelligent Locating System™, a one-size-fits-all technology platform for location-based services and applications. Our platform offers companies a complete software suite of tools for planning, simulating and commissioning projects, that can be used as a solid and scalable foundation for building various location-based solutions. The open API makes it fast and easy to take the platform into use. To date, the Quuppa Ecosystem has more than 200 partners around the world who use Quuppa’s open, versatile and reliable positioning platform to deliver accurate, real-time and cost-effective location solutions to companies in a range of industries, including manufacturing and logistics, retail, healthcare, sports, law enforcement and security, government, asset tracking. |
Stay connected
Get in touch with us directly through our worldwide sales offices, or contact one of our global distributors and representatives.
Inquiries Distributors and Representatives Register for newslettersWe are working on migrating the Chinese forums to RenesasRulz – for a short time, please post your questions in the English forums. The Chinese forums will be online soon.
DA14530 and DA14531
2 weeks ago
DA14531 Characteristic Read & Write
Posted by get1 150 points 3 repliesHi,
I have a DA14531 SmartBond Tiny Module. I modified the ble_app_peripheral example to read data from the uart using the following code:
void user_app_uart_read(void){
uart_receive(UART2, (uint8_t *)user_uart_data, sizeof(user_uart_data), UART_OP_INTR);
user_receive_data_len = sizeof(user_uart_data);
user_uart_data[user_receive_data_len] = 0;
uart_timer_used = app_easy_timer(500,user_app_uart_read);
return;
}
and write it in ble notifications using this modified adc1 code from custom profile service
MSGID = CUSTS1_VAL_WRITE_IND // in user_peripheral.c triggers this handler
void app_adcval1_timer_cb_handler()
{
char data_buff[50] = "";
uint8_t data_len;
sprintf((char *)data_buff,"%s",user_uart_data);
data_len = strlen(data_buff);
struct custs1_val_ntf_ind_req *req = KE_MSG_ALLOC_DYN(CUSTS1_VAL_NTF_REQ,
prf_get_task_from_id(TASK_ID_CUSTS1),
TASK_APP,
custs1_val_ntf_ind_req,
data_len);
req->conidx = 0;
req->handle = SVC1_IDX_ADC_VAL_1_VAL;
req->length = data_len;
req->notification = true;
memcpy(req->value, data_buff, data_len);
ke_msg_send(req);
if (ke_state_get(TASK_APP) == APP_CONNECTED)
{
// Set it once again until Stop command is received in Control Characteristic
timer_used = app_easy_timer(APP_PERIPHERAL_CTRL_TIMER_DELAY, app_adcval1_timer_cb_handler);
}
}
I have three questions:
1. (Using Notification to read) If I write the data "abcdef" on uart, It is displayed in the characteristic correctly. But when I send a "xxxx" after that, the characteristic shows the value "xxxxef" where it replaces only the newer value. How do I modify or clear my buffer so that it displays the correct data.
2. If I use the Read Command on my phone using BLE Scanner App, No data is displayed. I understand that I am only using NTF, so data is only displayed then. How do I modify my code to show data with Read Command too?
3. When I enable Write Permission (Write_Command)to this characteristic and I write a value using my phone to this characteristic, Is there any way I can differentiate that this value came from BLE Peer instead of UART. Because my requirement is like this: Read data from uart and send it to characteristic so it can be viewed on phone. Writing data to this characteristic should be written on uart.
SDK Used: 6.0.14.1114
Any help would be appreciated.
- Abishekh
2 weeks ago
Hi,
Is there a way to detect when the uart buffer has data or empty?
2 weeks ago
Hi Abishekh,
Please check the uart example of our SDK6 that can be found under
...\DA145xx_SDK\6.0.16.1144\projects\target_apps\peripheral_examples\uart
and in particular files uart_receive_examples.c and uart_loopback_examples.c which contain functions that showcase different ways for receiving data from the UART. Note that you can use the uart_register_rx_cb api to register a callback function for the UART receive event when you are using UART in UART_OP_INTR mode. As an example the uart_loopback_interrupt_example registers function uart_read_cb for the receive event. After that it calls uart_receive with a length of one byte. When this byte is received uart_read_cb is invoked which in turns adds this byte to the ring buffer and calls uart_receive again, waiting for the next character reception from UART. You can use these examples as a reference to help you implement UART handling for your application.
Best regards,
AA_Dialog
2 weeks ago
Hi Abishekh,
Thank you for your online forum question and your interest in our BLE products.
1. From the code shared it seems that you are using function uart_receive for the reception of the uart data. The buffer which stores the data (user_uart_data) is overwritten with new uart data but its previous value is never cleared, so if the length of the previous data written is bigger than the current one, some of the previous characters are passed on the new notification as well. A workaround for this would be to clear the user_uart_data buffer in user_app_uart_read before receiving new data and updating the notification value not periodically, but only when new data have been written to the UART.
2. You can add the read functionality to the characteristic using the following steps as a reference:
Taking the ble_app_peripheral example you can follow the steps below to read the value of the adc characteristic:
a. In file user_custs1_def.h change the database initialization of the SVC1_IDX_ADC_VAL_1_VAL field to:
this will enable the read indication feature for the characteristic.
b. In file user_peripheral.c add the following to the case CUSTS1_VALUE_REQ_IND
this will invoke a user created handler for the read request of the adc value.
c. In file user_custs1_impl.c add the implementation of the handler function
3. When writing to a characteristic as a BLE peer, the case CUSTS1_VAL_WRITE_IND will be invoked in user_catch_rest_hndl in file user_peripheral.c. You can create a new subcase for when the characteristic in question has been written e.g. SVC1_IDX_ADC_VAL_1_VAL
Now user defined function user_svc1_adc_wr_ind_handler will be invoked when data is written by a BLE peer. You can add code inside user_svc1_adc_wr_ind_handler which will take the value written by the BLE peer and print it in the UART (similar to how user_svc1_led_wr_ind_handler uses the value written by the BLE peer to turn the LED on/off).
Best regards,
AA_Dialog