Published in Development Board

Analog Device EVAL-ADICUP3029 Featured

on17 September 2020 18846 times
Arduino based Wireless Development Platform for Internet of Things applications based on an ultra-low power ARM Cortex-M3 processor

The EVAL-ADICUP3029 is an Arduino and PMOD compatible form factor development board that includes Bluetooth and WiFi connectivity. The board uses CrossCore Embedded Studio, an open source Eclipse based Interactive Development Environment (IDE), which can be downloaded free of charge. The platform contains many hardware and software example projects to make it easier for customers to prototype and create connected systems and solutions for Internet of Things (IoT) applications.

The EVAL-ADICUP3029 uses the ADuCM3029 ultra low power Arm Cortex-M3 processor as the main device on board. The ADuCM3029 is an integrated mixed-signal microcontroller system for processing, control and connectivity.

 
 Features and Benefits:
  • Compatible with Arduino, PMOD and Grove form factors
  • Ultra-low Power ARM Cortex M3
  • Open Source IDE Tools
  • No External Debugger/Emulator Tools needed
 
 
BLE Software Pack

BLE software pack contains source code written to interface the ADuCM3029 with the EM9304 radio.(Found on the EVAL-ADICUP3029) This software package acts as a library that can be used with any platform containing the ADuCM3029 and the EM9304.

To use the ADI_BLESoftware Pack with the ADICUP3029, you will also require the following software, tools, CMSIS Packs:

  • CrossCore Embedded Studio
  • ADuCM302x Device Family Pack
  • ADICUP3029 Board Support Package

For detailed information regarding the BLE software pack, please see our complete BLE software user guide.

BLE Software Pack 1.0.1 Release Notes

Note:You MUST have this software package installed on your laptop or PC in order to compile, debug, and run the applications using the Bluetooth for the ADICUP3029 platform.

 

Downloading the BLE Software Pack

The software pack can be downloaded in several ways.

  1. Downloaded via the tools program
    • It is recommended to download the BLE software pack through from within the tools program you are using. That way, all the files, directories structure, and project structure for the various applications is properly saved and accessed. For a detailed description on how to download the BLE software pack through CrossCore Embedded Studio please see our CrossCore Embedded Studio Quickstart User Guide.
  2. Downloaded to local directory
    • However if you do decide to download the BLE software pack to your PC/laptop directly, please use the link below, and make sure you save the software pack to the correct local directory for your applications/projects.
Download the BLE Software Pack to your computer.
 
 
Bluetooth Smart Device Apps

The ADICUP3029 comes complete with on board Bluetooth 5.0 low energy. In order to use the ADICUP3029 along with various different add on boards, Analog Devices (ADI) has created a smart device app that will work with either Android or iOS devices.

Each app may have a slightly different look at feel, but the data, registration, and configuration is the same from the embedded target's perspective.

iOS Smart App Overview

IoTNode is iOS Smart Device App developed by Analog Devices Inc. to showcase example projects using EVAL-ADICUP3029.

iOS Device Minimum Requirement

Make sure you have an iOS device with following minimum requirement.

  • iOS Software Version: iOS 9.0 or higher.
  • System Memory: minimum 15MB
  • Bluetooth Version: v4 or higher

How to Download & Install IoTNode App on your iOS Device

Follow below instructions to download Analog Devices IoTNode app on iOS Device.

  1. Go to App Store on your iOS Device.
  2. Search IoTNode.
  3. Tap “GET” and then “INSTALL”.

Wait until installation is successful.

Direct link to App Store

How to use IoTNode

Follow below instructions to run the App.

  1. Turn on device Bluetooth by navigating to Settings → Bluetooth → Turn Slider ON.
  2. On the iOS homescreen navigate to IoTNode and tap to open.
smart app logo
  1. Once open, the app should automatically find Bluetooth devices within range, so you'll want to find and open the project you are working on.
  2. Once connected, the app will provide you an option for which sensor(s) you are connected to that Bluetooth device.
    1. It's usually only a single sensor, so make sure it's “Checked on” and hit “View Data”.
  3. You are now connected, and data should start to display on the app.
smart app ios all screens

Interfacing Data to IoTNode

The IoTNode app supports an easy to interface registration, configuration, and data packet system. For complete details on writing embedded code to interface to the IoTNode smart app, please check out the link below.

 

Interfacing Data with IoTNode :

ADICUP3029 BLE Connection Documentation

This is a guide with information regarding the BLE registration, data packet size, and configuration. This is will enable users to use the IoTNode smart app in applications leveraging the capabilities of ADICUP3029 board with Bluetooth connectivity.

IoTNode application permits the connection of a single board at a time to visualize data from it. However multiple sensors may be present on that board (ex. temperature, CO, acceleration). The information sent to the application is tied to the sensor id.

The ADI BLE packet description currently has three types of packets:

Packet typeValue
Registration packet 0x00
Name packet 0x01
Data packet 0x02

The packet type is specified using the packet type sensor id field.

The sensorID/packetType byte is composed of:

76543210
SID5 SID4 SID3 SID2 SID1 SID0 PKT1 PKT0
 
Sensor IDPacket Type
6 bits 2 bits

You could have multiple sensors on a board with different ids the app shows information from one sensor at a time. It knows what information is related to which sensor by using the sensor id.

Registration Packet

DataInfoSize(byte)
pktTypeSensorId registration packet 1
numFields must match No. of field name packets 1
dataType every field in the data packet must have this data type 1
sensorName string with the name of the sensor 17
 
SensorID value6 bits
0x00 0b000000
to to
0x3F 0b111111
 
Data type valueDescriptionSize (bytes)
1 Byte 1
2 Short 2
3 Int 4
4 Long 8
5 Float 4
6 Double 8
7 Char 2

Field Name Packet

DataInfoSize(byte)
pktTypeSensorId registration packet 1
fieldId index of field in data packet 1
fieldName string with the name of the sensor 18

Data Packet

DataInfoSize(byte)
pktTypeSensorId registration packet 1
Sensor_Data1 Represents 4 bytes float data for field 1 4
Sensor_Data2 Represents 4 bytes float data for field 2 4
Sensor_Data3 Represents 4 bytes float data for field 3 4
Sensor_Data4 Represents 4 bytes float data for field 4 4
Last modified on 17 September 2020