1. Introduction to CodeLess
1.1. Before You Start
Download the latest CodeLess SDK from the Codeless reference page and SmartSnippets™ Toolbox from the SmartBond™ Development Tools web page.
The Codeless SW package content section in the Appendix Section 11 describes the SDK directory structure, gives explanation about folders and their content
Download any local Terminal, such as TeraTerm, Termite, or any other you are familiar with
Arrange for a temperature sensor for performing some examples described in the following chapters. We use Adafruit MCP9808 I2C Temperature sensor, the Thermo 8 Click board™ from MIKROE could be also used.
Make sure the USB driver is installed correctly and the properties of the USB driver look similar to Figure 1. Go to Device Manager, right-click the correct USB serial port, and click Properties > General. Otherwise, you can install FTDI driver from http://www.ftdichip.com/Drivers/VCP.htm.
1.2. CodeLess Objectives
The CodeLess development allows you to quickly get started with wireless IoT applications with a set of AT Commands:
Currently supports our DA145xx SoCs
Enabling control of hardware interfaces as well as Bluetooth® Smart via simple AT command interface
Control of the local as well as remote peer device with a single command set
Completely configurable hardware setup. No SW development required
Great for sensor evaluation (I2C or Analog input port)
Can be easily expanded
Both central and peripheral role supported in one firmware
Available as source code, hex, and binary files as well as header file for implementation into an external microcontroller
Can be integrated easily in a 3rd party Microcontroller
Note
In this document:
DA1453x is referring to DA14531-00, DA14531-01 and DA14530.
DA1458x is referring to DA14585 and DA14586.
DA145xx is referring to DA1453x and DA1458x.
Warning
The DA14531-00 is the main DA14531 device, It is not a new device. The -00 is just a new naming to introduce the new variant DA14531-01.
The DA14531-01 is an additional variant, and NOT a replacement of the DA14531-00.
Note
The DA14531-01 is a ROM variant of the main DA14531-00.
The DA14531-01 only supports peripheral mode and some functions have been moved to ROM so more memory is available for the application. In this guide, DA14531 is referring to DA14531-00 and DA14531-01. (see SDK modules in ROM space for details):
Table 1 presents the differentiation among the variants of the DA14531-0x.
Features |
DA14531-00 |
DA14531-01 |
---|---|---|
LE Central support |
YES |
NO |
LE Observer support |
YES |
NO |
support the LL Privacy feature (privacy on the controller side) |
YES |
NO |
Compatible with SDK 6.0.16 or lower |
YES |
NO |
Rest of features |
YES |
YES |
Note
The DA14530 is pin-for-pin compatible with the DA14531 and provides cost savings by operating from an internal LDO, eliminating the cost of a DC/DC inductor.
Note
The SmartBond™ DA14586 is a SoC with an integrated Flash (2 Mbit). The DA14586 is pin-to-pin compatible with the DA14585
- The supported boards are:
DA1458x Pro Motherboard with DA1458x daughterboard
DA1531 Pro Motherboard with:
DA14531-00 daughterboard
DA14531-01 daughterboard
DA14531 MOD daughterboard
DA1458x daughterboard
DA1458x Basic board
Any other custom board using DA145xx with a two wire UART will also work
1.3. Highlighting Features
Besides a basic set of AT commands to read and control Bluetooth® LE functions and interface configuration, CodeLess support the following features:
Implements a dedicated mode to exchange seamlessly binary data between devices
Supports several additional AT commands (Bluetooth® LE and interfaces configuration, security, signal indication, PWM etc)
Configurable to execute a set of existing commands when certain events occur (on connection, on disconnection, on wake-up etc)
Has over the air firmware update capabilities (SUOTA)
Fully manages the bonding database (import/export entries, clear database, set persistency etc.)
Supports various Bluetooth® LE security scenarios (ranging from secure connections to no security at all)
Supports sleep mode scenarios
Works with SPI command interface in addition to UART/remote Bluetooth® LE device
Supports non–volatile storage for selected commands
Host support: Graphical user interface written in Python/mobile phone application
1.4. Overview of the User Manual
Implementation of CodeLess examples to get an idea of its vast application capabilities and ease of use
Implementation of Binary mode
Use of SmartConsole Android application
Use of Dialog’s Codeless Host application
The examples that will be covered are:
Toggle LED on local board
Read ADC on local board
Write/Read I2C (using I2C Temperature sensor) on local board
Advertise/Scan/connect to the remote board
Toggle LED on remote board
Read ADC on remote board
Write/Read I2C on remote board
CodeLess can be used for more applications than are mentioned above. Typical applications are:
UART to UART wireless connection: CodeLess can be controlled from a PC or a 3rd party microcontroller.
Warning
The DA14531-01 can’t be configured as a central, to run this demo you should consider the DA14531-00.
Remote access of Peripheral from the Central: The IO control, sensors, and analog signals connected on the peripheral device can be remotely accessed from the Central device.
Warning
The DA14531-01 can’t be configured as a central, to run this demo you should consider the DA14531-00.
CodeLess for debugging: Local connection to the CodeLess for debugging and evaluation of sensor or other connected hardware is easily implemented.
Smartphone control of the peripheral.
1.5. Where is it Applicable?
Simplest Bluetooth® LE product implementation
Accelerating time to market for Simple Bluetooth® LE pipe applications connected to an external MCU
Rapid prototyping and Proof of Concept
Sensor evaluation
Dialog’s platform evaluation and introduction to SDK
Platform for further development
Hardware debugging