1. Introduction to CodeLess

1.1. Before you start

Before you start we highly recommend you to

  • Download the latest CodeLess SDK and SmartSnippets Studio. These can be downloaded from the Dialog Semiconductor support portal.
  • Download any local Terminal such as TeraTerm, Termite or any other you are familiar with.
  • Arrange for a temperature sensor for the tutorial. The one we have used is Adafruit MCP9808 I2C Temperature sensor
  • Make sure the USB Driver is installed correctly, if not the FTDI driver can be installed from here. If the driver is installed correctly, the properties of the USB driver would look something like this. Go to Device Manager -> Right-click on the correct USB serial port -> Properties -> General
Application 1

Fig. 1 Working USB Driver

1.2. Codeless Objectives

The aim of CodeLess development is to allow you to quickly get started with wireless IoT applications with a set of AT Commands

  • 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
  • It can be integrated easily in a 3rd party Microcontroller
  • Curently supports our DA14585 and DA14586 SoC
  • The supported boards are: PRO and Basic. Any other custom board using DA1458x with a 2 wire UART will also work

1.3. Tutorial Overview

The keys goals of this tutorial are:

  • Implementation of CodeLess examples to get an idea of its vast application capabilities and ease of use.
  • 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 many such applications, above mentioned are only a handful. Typical applications are as shown below:

  1. UART to UART wireless connection: CodeLess can be controlled from a PC or a 3rd party microcontroller
Application 1

Fig. 2 UART to UART wireless connection


  1. 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.
Application 2

Fig. 3 Remote access of Peripheral from the Central


  1. CodeLess for debugging: Local connection to the CodeLess for debugging and evaluation of sensor or other connected hardware is easily implemented.
Application 3

Fig. 4 CodeLess for debugging


  1. Smartphone control of the peripheral
Application 4

Fig. 5 Smartphone control of the peripheral


1.4. Where is it applicable?

  • Rapid prototyping
  • Early evaluation
  • Proof of concept
  • Platform for further development
  • Introduction to Dialog SDK
  • Sensor evaluation
  • Hardware debugging