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.
- 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 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.
-
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.
-
-
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.
-
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.
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.
-
Go to App Store on your iOS Device.
-
Search IoTNode.
-
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.
-
Turn on device Bluetooth by navigating to Settings → Bluetooth → Turn Slider ON.
-
On the iOS homescreen navigate to IoTNode and tap to open.
-
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.
-
Once connected, the app will provide you an option for which sensor(s) you are connected to that Bluetooth device.
-
It's usually only a single sensor, so make sure it's “Checked on” and hit “View Data”.
-
-
You are now connected, and data should start to display on the app.
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 type | Value |
---|---|
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:
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|
SID5 | SID4 | SID3 | SID2 | SID1 | SID0 | PKT1 | PKT0 |
Sensor ID | Packet 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
Data | Info | Size(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 value | 6 bits |
---|---|
0x00 | 0b000000 |
to | to |
0x3F | 0b111111 |
Data type value | Description | Size (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
Data | Info | Size(byte) |
---|---|---|
pktTypeSensorId | registration packet | 1 |
fieldId | index of field in data packet | 1 |
fieldName | string with the name of the sensor | 18 |
Data Packet
Data | Info | Size(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 |