TO THE EXTENT PERMITTED BY APPLICABLE LAW, CYPRESS MAKES NO WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, WITH REGARD TO THIS DOCUMENT OR ANY SOFTWARE OR ACCOMPANYING HARDWARE, INCLUDING,
BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. To the extent permitted by applicable law, Cypress reserves the right to make changes to this document without
further notice. Cypress does not assume any liability arising out of the application or use of any product or circuit described in
this document. Any information provided in this document, including any sample design information or programming code,
is provided only for reference purposes. It is the responsibility of the user of this document to properly design, program, and
test the functionality and safety of any application made of this information and any resulting product. Cypress products are
not designed, intended, or authorized for use as critical components in systems designed or intended for the operation of
weapons, weapons systems, nuclear installations, life-support devices or systems, other medical devices or systems
(including resuscitation equipment and surgical implants), pollution control or hazardous substances management, or other
uses where the failure of the device or system could cause personal injury, death, or property damage (“Unintended Uses”).
A critical component is any component of a device or system whose failure to perform can be reasonably expected to cause
the failure of the device or system, or to affect its safety or effectiveness. Cypress is not liable, in whole or in part, and you
shall and hereby do release Cypress from any claim, damage, or other liability arising from or related to all Unintended Uses
of Cypress products. You shall indemnify and hold Cypress harmless from and against all claims, costs, damages, and
other liabilities, including claims for personal injury or death, arising from or related to any Unintended Uses of Cypress
products.
Cypress, the Cypress logo, Spansion, the Spansion logo, and combinations thereof, WICED, PSoC, CapSense, EZ-USB,
F-RAM, and Traveo are trademarks or registered trademarks of Cypress in the United States and other countries. For a
more complete list of Cypress trademarks, visit cypress.com. Other names and brands may be claimed as property of their
respective owners.
Safety Information .................................................................................................................................................................. 5
General Safety Instructions ............................................................................................................................................. 6
3. Getting Started ............................................................................................................................................................. 15
3.1WSN Operation with PC ...................................................................................................................................... 15
3.2WSN Operation with Mobile Device ..................................................................................................................... 22
3.3Configuring Solar BLE Sensor ............................................................................................................................. 26
3.4Serial Command List ........................................................................................................................................... 31
3.5Eddystone-URL Configuration Service ................................................................................................................ 40
3.6Note About Validators .......................................................................................................................................... 40
4. Program and Debug .................................................................................................................................................... 42
4.2Programming and Debugging .............................................................................................................................. 42
5.3BLE Beacon Format ............................................................................................................................................ 67
5.4Eddystone Format ............................................................................................................................................... 69
6.1Solar BLE Sensor ................................................................................................................................................ 71
A.2Charging the Supercapacitor ............................................................................................................................... 83
A.3Equivalent Series Resistance of the Supercapacitor ........................................................................................... 84
A.4Diode Connection Between Solar Cell and VDD ................................................................................................. 85
Appendix B. Solar BLE Sensor Enclosure ..................................................................................................................... 87
B.1Solar BLE Sensor Enclosure ............................................................................................................................... 87
B.2How to Install the Board in the Enclosure ............................................................................................................ 88
Revision History ................................................................................................................................................................... 90
The CYALKIT-E02 Solar-Powered BLE Sensor Beacon RDK as shipped from the factory has been verified to
meet the requirements of CE as a Class A product.
The CYALKIT-E02 Solar-Powered BLE Sensor Beacon RDK contains electrostatic discharge
(ESD) sensitive devices. Electrostatic charges readily accumulate on the human body and any
equipment and can discharge without detection. Permanent damage may occur to devices
subjected to high-energy discharges. Proper ESD precautions are recommended to avoid
performance degradation or loss of functionality. Store unused CYALKIT-E02 boards in the
protective shipping package.
End of Life/Product Recycling
The end of life of this kit is five years after the date of manufacture mentioned on the back of the
box. Contact your nearest recycler to discard the kit.
Regulatory Compliance
The CYALKIT-E02 Solar-Powered Bluetooth Low Energy (BLE) Sensor Beacon Reference Design Kit (RDK) is intended for
use as a development platform for hardware or software in a laboratory environment. The board is an open system design,
which does not include a shielded enclosure. This may cause interference with other electrical or electronic devices in close
proximity. In a domestic environment, this product may cause radio interference. In this case, the user may be required to take
adequate preventive measures. Also, the board should not be used near any medical equipment or RF devices.
Attaching additional wiring to this product or modifying the product operation from the factory default may affect its
performance and cause interference with other apparatus in the immediate vicinity. If such interference is detected, suitable
mitigating measures should be taken.
ESD can damage boards and their associated components. Cypress recommends that you perform procedures only at an
ESD workstation. If one is not available, use appropriate ESD protection by wearing an antistatic wrist strap attached to
chassis ground (any unpainted metal surface) on your board when handling parts.
Handling Boards
CYALKIT-E02 boards are sensitive to ESD. Hold the board only by its edges. After removing the board from its box, place it on
a grounded, static-free surface. Use a conductive foam pad, if available. Do not slide the board over any surface.
1. Solar-Powered BLE Sensor Beacon (Solar BLE Sensor)
- Board + Enclosure
2. BLE-USB Bridge and Debug Board (Debug Board)
3. Quick Start Guide
+
Thank you for your interest in the CYALKIT-E02 Solar-Powered BLE Sensor Beacon RDK. The Solar-Powered BLE Sensor
Beacon RDK provides an easy-to-use platform for the development of a tiny solar-powered IoT device with BLE wireless
connectivity. The RDK consists of a Solar BLE Sensor and a Debug Board. The Solar BLE Sensor is based on Cypress’s
energy harvesting power management IC (PMIC) S6AE103A and EZ-BLE products. The objective of this RDK is to provide a
fully functional battery-less wireless sensor node (WSN). The Solar BLE Sensor will be enclosed in a casing to automatically
transmit temperature and humidity sensor data in an office lighting environment. The Debug Board is based on Cypress’s
PRoC™ BLE and PSoC® 5LP products. It can be connected to a host (PC) that supports the Debug Board and on-chip
debugging via a USB interface.
This kit guide explains how to set up and use the RDK. Be sure to read it before using the product. For questions, please
consult with sales or support representatives.
Note: All information included in this document is current as of the date it was issued. Such information is subject to change
without any prior notice. Please confirm the latest relevant information with the sales representative.
The Solar-Powered BLE Sensor Beacon RDK provides everything needed to develop a light-powered sensor node that
transmits sensor data using Bluetooth Low Energy (BLE):
Tiny solar-powered BLE sensor board (circle with 24-mm diameter, same size as a 25-cent coin)
Operates using light energy harvested (>100 lux) by the included solar cell
Supports BLE communication with a PC through the provided Debug Board that is preprogrammed with custom firmware
for this kit
Supports BLE communication with a mobile device (iOS 8 or newer / Android 4.4 or newer)
Includes firmware that supports a BLE Beacon transmission with temperature and humidity data
Energy harvesting PMIC S6AE103A that supports the following applications:
□ Demo mode, transmitting sensor data at 3- to 60-second intervals (without charging to a supercapacitor)
□ Timer mode, transmitting sensor data at 5-minute intervals while charging to the supercapacitor
□ Transmitting data at over 30 hours without ambient light (when mode is set to Timer mode and supercapacitor is
fully charged)
Solar BLE Sensor that can support the following:
□ Selection of mode using a slide switch (Demo or Timer mode)
□ Programming and debugging of the EZ-BLE module via the Debug Board
□ Parameter setting of the BLE Beacon via the Debug Board
□ Charging of surplus solar energy to a 0.2-F supercapacitor (Timer mode)
□ Charging of the supercapacitor via the Debug Board using USB bus power
□ Temperature and humidity digital sensor
□ Expandable interface via 10-pin connector (GPIO)
□ Test pads for power, ground, primary battery input, and SWD interface for programming
Debug board that can support the following:
□ Debug board for receiving BLE data
□ Selecting the programming mode using a slide switch (EZ-BLE on Solar BLE Sensor or PRoC BLE on Debug
Board)
□ Connector for Solar BLE Sensor (power, SWD, UART, USB detect, charging supercapacitor, and GPIO)
□ Connector for programming PSoC 5LP (KitProg)
□ Parameter setting of Solar BLE Sensor via USB-to-UART bridge on KitProg
□ Reset button for EZ-BLE and PRoC BLE
□ User button for PRoC BLE
□ LEDs for User, Status and USB power
□ Test pads for power, ground and expandable GPIO
Includes reference schematic, BOM list, layout, and sample firmware for easy design
Uses the following Cypress devices:
□ S6AE103A ultra-low-power energy harvesting PMIC
□ CYBLE-022001-00 EZ-BLE PRoC module
□ CYBL10162-56L PRoC BLE IC
□ CY8C5868L PSoC 5LP for KitProg
□ MB39C022G LDO
This section describes how to install the software.
2.1 Install Cypress BLE-Beacon Software
Follow these steps to install the Cypress BLE-Beacon software:
1. Download and install the Cypress BLE-Beacon software from www.cypress.com/CypressBLE-Beacon-PC. The
software is available in two different formats for download:
Cypress® BLE-Beacon™ PC: This executable file installs only the software contents, which include software files,
and user documents. This package can be used if all the software prerequisites are installed on your computer.
Cypress® BLE-Beacon™ PC ISO (Create CD): This file is a complete package, stored in a CD-ROM image format
that can be used to create a CD, or extract using ISO extraction programs, such as WinZip or WinRAR. This file
includes all the required software and user documents.
2. Run Install Cypress BLE-Beacon to start the installation, as shown below.
3. Select the folder to install the Cypress BLE-Beacon–related files. Choose the directory and click Next.
4. The Cypress BLE-Beacon installer automatically installs the required software, if it is not present on your computer. The
Setup installer directs you to download the required software from the Internet.
5. Choose the Typical/Custom/Complete installation type in the Product Installation Overview window. Click Next
after you select the installation type.
6. Read the Cypress End User License Agreement and make a selection based on the terms of the license agreement.
Click Next to continue the installation.
7. When the installation begins, a list of packages appears on the installation page. A green check mark appears next to
each package after successful installation.
8. Click Finish to complete the Cypress BLE-Beacon installation.
9. Enter your contact information or select the Continue Without Contact Information check box. Click Finish to
complete the Cypress BLE-Beacon installation.
10. After the installation is complete, the kit contents are available at the following location:
Follow these steps to install the CYALKIT-E02 Solar-Powered BLE Sensor Beacon RDK software:
1. Download and install the CYALKIT-E02 software from www.cypress.com/CYALKIT-E02. The CYALKIT-E02 software is
available in three different formats for download:
□CYALKIT-E02 Complete Setup: This installation package contains the files related to the kit. However, it does not
include the Windows Installer or Microsoft .NET framework packages. If these packages are not on your computer,
the installer directs you to download and install them from the Internet.
□CYALKIT-E02 Only Package: This executable file installs only the kit contents, which include code examples,
hardware files, and user documents. This package can be used if all the software prerequisites are installed on your
computer.
□CYALKIT-E02 CD ISO: This file is a complete package, stored in a CD-ROM image format that can be used to
create a CD, or extract using ISO extraction programs, such as WinZip or WinRAR. This file includes all the
required software, utilities, drivers, hardware files, and user documents.
2. Run Install CYALKIT-E02 to start the installation, as shown below.
3. Select the folder to install the CYALKIT-E02-related files. Choose the directory and click Next.
4. The CYALKIT-E02 installer automatically installs the required software if it is not present on your computer. The
CYALKIT-E02 Setup installer directs you to download the required software from the Internet.
5. Choose the Typical/Custom/Complete installation type in the Product Installation Overview window. Click Next
after you select the installation type.
6. Read the Cypress End User License Agreement and make a selection based on the terms of the license agreement.
Click Next to continue the installation.
7. When the installation begins, a list of packages appears on the installation page. A green check mark appears next to
each package after successful installation.
8. Click Finish to complete the CYALKIT-E02 installation.
9. Enter your contact information or select the Continue Without Contact Information check box. Click Finish to
complete the CYALKIT-E02 installation.
10. After the installation is complete, the kit contents are available at the following location:
<Install directory>\CYALKIT-E02 Solar-Powered BLE Sensor Beacon RDK
Default location (Example: Windows 7)
□ 64-bit: C:\Program Files (x86)\Cypress\CYALKIT-E02 Solar-Powered BLE Sensor Beacon RDK
□ 32-bit: C:\Program Files\Cypress\CYALKIT-E02 Solar-Powered BLE Sensor Beacon RDK
You can uninstall the Solar-Powered BLE Sensor Beacon RDK software and Cypress BLE-Beacon software using one of the
following methods:
Example: Windows 7
□ Go to Start > All Programs > Cypress > Cypress Update Manager; click the Uninstall button.
□ Go to Start > Control Panel > Programs and Features. Select the Solar-Powered BLE Sensor Beacon RDK program
from the list and click the Uninstall/Change button.
2.4 PSoC Creator™
PSoC Creator is a state-of-the-art, easy-to-use integrated design environment (IDE). It is a revolutionary hardware and
software co-design environment, powered by a library of preverified and precharacterized PSoC Components. With PSoC
Creator, you can:
□ Drag and drop PSoC Components to build a schematic of your custom design
□ Automatically place and route Components and configure GPIOs
□ Develop and debug firmware using the included Component APIs
PSoC Creator also enables you to tap into an entire tool ecosystem with integrated compiler chains and production
programmers for PSoC devices.
To develop firmware for the Solar-Powered BLE Sensor Beacon RDK, you must have PSoC Creator 3.3 SP2 or newer.
Download the latest version from www.cypress.com/psoccreator.
For sample firmware information for this kit, refer to section Firmware Description.
In this chapter, you will become familiar with the Solar-Powered BLE Sensor Beacon RDK by successfully establishing a BLE
sensor beacon connection between the Solar BLE Sensor operating as a wireless sensor network (WSN), a PC with the
Debug Board, and a mobile device with apps. This will also confirm that the Solar BLE Sensor, the Debug Board, your PC,
and your mobile device are operating properly.
3.1 WSN Operation with PC
In this section, you will confirm that the Solar BLE Sensor is operating as a WSN by using the software provided on your PC to
detect temperature and humidity changes.
3.1.1 USB Driver Installation of Debug Board
1. Set the slide switch (SW3) on the Debug Board to the PRoC BLE side. Refer to Slide Switch for Target Device Select for
detailed information on each mode.
2. Plug the Debug Board into your computer’s USB port.
3. The driver Installation starts automatically and the following message window will appear. Click the message window
for the status.
4. Confirm that the device driver installation has successfully completed (all components are “Ready to use”). If the
installation fails, do the installation manually using a file in the “USB drivers” folder. Refer to 3.1.2 USB Driver
Installation Failed.
5. After successful device driver installation, confirm that a new COM port called “KitProg USB-UART” was added:
Open the Device Manager:
□ Windows 7: Start > Control Panel > Device Manager
□ Windows 8/8.1/10: Right-click the Start button and select Device Manager.
B. Under Ports (COM & LPT), confirm that a COM port called “KitProg USB-UART” was added. Note the COM
number (COMxx).
6. Continue as described in 3.1.3 Establishing BLE Connection.
If there is no folder for PSoC Programmer, please download and install it from PSoC Programmer page. The
recommend version is 3.24 or later.
A. Select the Include subfolders box.
B. Click the Browse button.
C. Select the “drivers” folder of PSoC Programmer:
6. Confirm that the WSN is operating by placing your finger on the sensor on the Solar BLE Sensor. Placing your finger
raises the temperature and humidity from the indoor environment condition. You should see a corresponding change in
temperature or humidity on your PC. When touching the board, be careful of static electricity.
Refer to Cypress BLE-Beacon PC User Guide for detailed information.
3.2 WSN Operation with Mobile Device
In this section, you will confirm that the Solar BLE Sensor is operating as a WSN by using the apps on your mobile device to
detect temperature and humidity changes.
3.2.1 Mobile Apps Installation
The Cypress BLE-Beacon app is available on Google Play and in the Apple Store for free. To install the app, follow these
instructions.
3.2.1.1 Installing the Android App
1. Open Google Play and search for “Cypress BLE-Beacon”.
2. Select the Cypress BLE-Beacon (BLE-Beacon) app. On the subsequent screen, click the Install button to proceed with
installation.
3. When presented with the app permission dialog, click Accept to continue.
4. When the installation is complete, the BLE-Beacon app can be launched from the App Drawer.
5. Place the Solar BLE Sensor under an office light. Refer to step 2 of 3.1.3 Establishing BLE Connection.
6. Launch the BLE-Beacon app. A splash screen is displayed for a few seconds before the app displays the Device List
screen. If Bluetooth is turned OFF in the Android device, Android OS will prompt you to turn ON Bluetooth.
1. Open the App Store and search for “Cypress BLE-Beacon.”
2. Select the Cypress BLE-Beacon (BLE-Beacon) app, and proceed to install the app on your iOS device.
3. Place the Solar BLE Sensor under an office light. Refer to step 2of 3.1.3 Establishing BLE Connection.
4. Launch the BLE-Beacon app. A splash screen is displayed for a few seconds before the app displays the Device List
screen. If Bluetooth is turned OFF in the iOS device, iOS will display a message box to turn ON Bluetooth with the
Settings and OK buttons. Click the Settings button to turn ON Bluetooth on the Settings screen. Clicking the OKbutton will display the message “Please turn Bluetooth ON,” which requires the standard iOS procedure to turn ON
Bluetooth.
5. The BLE-Beacon app performs device discovery by default when the app is opened. Select the mode as Graph to
Note that if the sensor data has not appeared on the BLE-Beacon of iOS, you need to confirm that the Location setting
is set to While Using the App (iOS: Home screen > Settings > BLE-Beacon > Location).
Refer to Cypress BLE-Beacon iOS App User Guide for detailed information.
In this section, you will configure a parameter of the Solar BLE Sensor according to preprogrammed firmware for this kit. You
will do so using a serial USB connection from your PC to send configuration commands to the Solar BLE Sensor.
3.3.1 Connect Solar BLE Sensor to PC
1. Open the enclosure of Solar BLE Sensor using the sharp end of something like tweezers (not included in the kit), and
take out the Solar BLE Sensor Board. Refer to B.2 How to Install the Board in the Enclosure for how to install the board
in the enclosure.
2. Set the slide switch (SW3) on the Debug Board to the EZ-BLE side. Refer to section Slide Switch for Target Device
Select for detailed information on each mode.
3. Connect the Solar BLE Sensor to CN1 of the Debug Board.
4. Plug the Debug Board with the Solar BLE Sensor into your computer’s USB port. A supercapacitor (SC1) on the Solar
BLE Sensor is charged when the Solar BLE Sensor is connected to the Debug Board via USB. Refer to Charging the
Read/Write the Transmitter Power
Strength in BLE Beacon mode
3 dBm
[4]
RSSI
Read/Write of Received Power
Strength for distance 1m (RSSI)
-61 dBm
[5]
COID
Read/Write of Bluetooth Company
0x004C
[6]
EDNID
For Eddystone
Mode
Read/Write NID
CB6F15CEC02A41F76AB1 [hex]
[7]
EDBID
Read/Write BID
000000010001 [hex]
[8]
EDTXPWR
Read/Write the Transmitter Power
Levels in Eddystone mode
-18 -12 0 3 dBm
[9]
EDFRAME
Read/Write Eddystone Frame
Advertisement Flags
uid on, url off, tlm on
[10]
EDSTATE
Read the Lock State
Unlocked
[11]
EDLOCK
Lock Eddystone-URL Configuration
Service and set the lock-code
00000000-0000-0000-0000-000000000000 [hex]
[12]
EDUNLOCK
Unlock Eddystone-URL Configuration
Service
-
[13]
EDURI
Read/Write the URL
http://www.cypress.com/
PC
Apps
14. Confirm the changed MAJOR value 0x000A via PC (Refer to 3.1 WSN Operation with PC) or apps (Refer to 3.2 WSN
Operation with Mobile Device) by energy harvesting operation.
Refer to Table 3-1 for the time interval of the energy harvesting operation.
3.4 Serial Command List
Table 3-2 lists the serial commands that can be used to control the kit from your computer using the USB serial interface.
Refer to the 3.3 Configuring Solar BLE Sensor section for instructions on how to issue these commands via the USB serial
interface. The commands are not case-sensitive.
Note that the following commands are for CYALKIT-E02 Sample Firmware, Version 1.2.00. Refer to 4.2 Programming and
Debugging section for instructions on how to program the firmware.
[11] Lock Eddystone-URL Configuration Service and set the lock-code
Write new lock-code and lock Eddystone-URL Configuration Service. This write operation is not
allowed if Eddystone-URL Configuration Service is locked.
Unlock Eddystone-URL Configuration Service with lock-code set by EDLOCK command. If user
forgets the code, user needs send the DEFAULT command to change the lock state to unlocked.
[15-1] Read
Read TX Power Mode. Default: HIGH
<Example>
EDTXMODE⏎
(echo) EDTXMODE
(output) -> Eddystone TX Power Mode : HIGH
[15-2] Write
Set TX Power Mode. Set Value: LOWEST, LOW, MEDIUM, HIGH
This write operation is not allowed if Eddystone-URL Configuration Service is locked.
<Example>
EDTXMODE LOW⏎
(echo) EDTXMODE LOW
(output) -> New Eddystone TX Power Mode : LOW
[16-2] Write
Set Advertise Interval. Set Value: 0, 100~10240 ms
This operation is not allowed if Eddystone-URL Configuration Service is locked.
<Example>
EDITRVL 10240⏎
(echo) EDITRVL 10240
(output) -> New Eddystone Advertise Interval in msec: 10240
[17] EDRESET
Set Eddystone parameters to their initial values except EDNID, EDBID and EDFRAME.
This operation is not allowed if Eddystone-URL Configuration Service is locked.
Change all the settings to their default values.
<Example>
INIT⏎
(echo) INIT
(output) -> Restore to default!
[20] EXIT
Exit the UART command waiting mode and Eddystone-URL Configuration Service, then start
BLE advertisements.
<Example>
EXIT⏎
(echo) EXIT
(output)
[21] VER
Display Firmware Version.
<Example>
VER⏎
(echo) VER
(output) -> CYALKIT-E02 Sample Firmware, Version 1.2.00
[22] HELP
Display Command List.
<Example>
HELP⏎
(echo) HELP
(output) Get uuid, input:uuid+Enter
(output) Set uuid, input:uuid xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx+Enter
(output) Get major, input:major+Enter
(output) Set major, input:major xxxx+Enter
(output) Get minor, input:minor+Enter
(output) Set minor, input:minor xxxx+Enter
Reads the lock state
Functions in the same way as the EDSTATE
command
false(unlocked)
[2]
Lock
Locks the beacon and sets the single-use
lock-code
Functions in the same way as the EDLOCK
command
00000000-00000-0000-0000-000000000000 [hex]
[3]
Unlock
Unlocks the beacon and clears the single-use
lock-code
Functions in the same way as the EDUNLOCK
command
[4]
URI Data
Reads/writes the URL
Functions in the same way as the EDURI
command
http://www.cypress.com/
[5]
URI Flags
Reads/writes the flags
0
[6]
Advertised Tx
Power Levels
Reads/writes the Advertised Power Levels array
Functions in the same way as the EDADPWR
command
-41 -35 -23 -20 dBm
[7]
Tx Power
Mode
Reads/writes the TX Power Mode
Functions in the same way as the EDTXMODE
command
1 [TX_POWER_MODE_HIGH]
[8]
Beacon Period
The period in milliseconds that Eddystone packets
are transmitted
Functions in the same way as the EDITRVL
command
1000 ms
(Note: when this value is 0, and MODE is Eddystone,
there’s no advertisement.)
[8]
Reset
Sets EDTXPWR and all characteristics to their
initial values
Functions in the same way as the EDRESET
command
-
3.5 Eddystone-URL Configuration Service
When the beacon is powered up by USB, it is placed in Configuration Mode after the UART Bootloader boots up the program.
The beacon advertises an ADV packet indicating that mode for 60 seconds. A BLE device can connect to it as a GATT client
before it stops advertising. The client can read or write the Eddystone-URL Configuration Service Characteristics. The
following is the list of the Characteristics. These Characteristics fully comply with descriptions at the following web page:
Google offers two Android apps, eddystone-validator and eddystone-url-config-validator, to assist developers and
implementers in working with Eddystone devices. On some occasions, the eddystone-url-config-validator reports errors
when validating the beacon with it. This section introduces the cause of the errors and the steps to pass the validation.
Eddystone-url-config-validator validates the Eddystone-URL frame. It takes the Eddystone-UID frame and Eddystone-TLM
frame as invalid advertisement packets. It detects Eddystone-UID frame packets immediately after disconnecting itself and
the detection time is limited. Therefore, you must change some settings to have the beacon advertise Eddystone-TLM frame
only, and send the EXIT command through UART immediately after the validator finishes disconnection.
To facilitate Core Eddystone-URL Tests with eddystone-url-config-validator, a new mode is provided to replace these
operations. Ensure that you have set the mode as EDTest before starting the tests.
If testing a write characteristic operation fails, try closing all the Bluetooth apps, powering OFF the Android device, and then
restarting it.
The Solar-Powered BLE Sensor Beacon RDK can be programmed and debugged using KitProg (PSoC 5LP) on the Debug
Board. Before debugging the device, ensure that PSoC Creator is installed on the computer.
4.1 KitProg
KitProg is the hardware/firmware block for onboard programming, debugging, and bridge functionality. It is a common
reusable hardware/firmware block used across many Cypress kit platforms. It consists of a PSoC 5LP device, which connects
to the computer over a USB interface and connects to PRoC BLE on the Debug Board or EZ-BLE module on the Solar BLE
Sensor over SWD, I2C, and UART pins. KitProg communicates with PSoC Programmer and PSoC Creator software to
program/debug the target PRoC BLE or EZ-BLE module over the SWD interface. The main advantage of an onboard
programmer/debugger is that users do not have to buy extra programmer/debugger hardware.
4.2 Programming and Debugging
4.2.1 Initial setup
4.2.1.1 Solar BLE Sensor
To program and debug the EZ-BLE module on the Solar BLE Sensor, set the slide switch (SW3) on the Debug Board to the
EZ-BLE side. Then connect the Solar BLE Sensor to CN1 of the Debug Board.
4.2.1.2 Debug Board
To program and debug the PRoC BLE on the Debug Board, set the slide switch (SW3) on the Debug Board to the PRoC BLE
side. Do not connect the Solar BLE Sensor to CN1.
4.2.2 Programming and Debugging Using PSoC Creator
1. Plug the Debug Board into your computer’s USB port.
2. If you installed the RDK software to the default location, copy the BLE folder to your local folder. Note that the following
warning message appears when the folder is in C:\Program Files or C:\Program Files (x86).
The BLE folder is located in the Firmware folder that you installed earlier:
<Install directory>\CYALKIT-E02 Solar-Powered BLE Sensor Beacon RDK\<version>\Firmware
8. Open Solar_BLE_Sensor.cywrk or Debug_Board.cywrk for the example project.
9. Clean and build the project by choosing Build > Clean and Build <Project Name>.
3. If there are no errors during build, program the firmware by clicking the Program button on the toolbar or pressing [Ctrl]
[F5], as follows. This will program EZ-BLE or PRoC BLE so it will be ready for use.
4. To debug the device, click the Debug icon or press [F5], as follows.
5. When PSoC Creator opens in debug mode, use the buttons on the toolbar for debugging. For more details on using the
debug features, see the Cypress application note AN96841 – Getting Started with EZ-BLE Module or AN94020 –
Getting Started with PRoC BLE.
4.2.3 Programming Using PSoC Programmer
PSoC Programmer (3.24 or later) can be used to program existing hex files into both PSoC BLE and the EZ-BLE module. To
do so, follow these steps.
1. Refer to 4.2.1 Initial setup to select the target device.
2. Plug the Debug Board into your computer’s USB port and open PSoC Programmer from Start > All Programs >
Cypress > PSoC Programmer <version> > PSoC Programmer <version>.
3. Select “KitProg/BLE*******” in Port Selection, and then click the File Load button at the top left corner of the window.
Browse for the desired hex file and click Open. The example hex files are located in the Hex Files folder.
<Install directory>\CYALKIT-E02 Solar-Powered BLE Sensor Beacon RDK\<version>\Firmware\BLE\Hex Files
4. Click the Program button to start programming the kit with the selected file.
Note: If the hex file does not match the device selected, then PSoC Programmer will throw an error of device mismatch and
terminate programming.
5. When programming is finished successfully, indicated by a PASS message on the status bar, the Solar BLE Sensor or
Debug Board is ready for use. Close PSoC Programmer.
The KitProg firmware normally does not require any updating. If an update is required, then PSoC Programmer will display a
warning message when the kit is connected to it, as follows.
To update KitProg, go to the Utilities tab in PSoC Programmer and click Upgrade Firmware, as follows.
This chapter introduces you to the Solar BLE Sensor hardware and firmware initially provided. It discusses features such as
the WSN with the BLE Beacon process.
5.1 Hardware Description
The Solar BLE Sensor has two modes: Demo mode and Timer mode. Refer to section Internal Timer Setting Block for detailed
information. You can set these modes using SW1 on the Solar BLE Sensor. This section details the information for
S6AE103A.
Note: When the Solar BLE Sensor is in the enclosure, use the sharp end of something like tweezers (not included in the kit) to
change the mode.
The following is the circuit of the S6AE103A energy harvesting PMIC. There are four main blocks to operate it. Refer to the
S6AE103A datasheet for detailed specifications. The schematic and board layouts are available at the following location:
<Install directory>\CYALKIT-E02 Solar-Powered BLE Sensor Beacon RDK\<version>\Hardware
Connect TP1
Primary battery input pin
Extra battery input
VDD
Connect the solar cell (AM-1606C)
Solar cell input pin
Diode (D1) for reverse current protection
Capacitor (C1) for charging input energy
ENA_COMP
Connect GND (H: Enable, L: Disable)
Comparator control pin
It is set to disable.
STBY_LDO
Connect GND (H: Normal, L: Standby)
LDO operation mode setting pin
The LDO is not used when ENA_LDO is low.
1 2 3
4
5.1.1 Power Input Block
This section describes the S6AE103A power input block as shown in the following schematic. There are two power inputs for
solar energy (VDD) and primary battery input (VDD) and some control pins for internal LDO, comparator, and interrupt input.
Connect GND (H: Enable, L: Disable)
LDO output control pin
It is set to disable.
INT
Connect VINT
Event-driven mode control pin
VOUT2 is always active.
5.1.1.1 Solar Cell Specification
Refer to section 6.1.1 15 x 15 mm Solar Cell for detailed specifications.
5.1.1.2 Diode Connection Between Solar Cell and VDD
Refer to Diode Connection Between Solar Cell and VDD for detailed information.
5.1.1.3 VBAT Connection (optional)
Refer to Battery Input Operation.
5.1.2 VOUT Setting Block
This section describes the VOUT settings of S6AE103A as shown in the following schematic. The VOUT1 and VOUT2 output
voltage of S6AE103A can be set by changing the resistors connected to the SET_VOUTH and SET_VOUTL pins because the
VOUT upper limit voltage (VVOUTH) and VOUT lower limit voltage (VVOUTL) are set based on the connected resistors. The
SET_VOUTFB pin outputs a reference voltage for setting the VOUT upper limit voltage and VOUT lower limit voltage. The
voltages applied to the SET_VOUTH and SET_VOUTL pins are produced by dividing this reference voltage outside the IC.
The VOUT upper limit voltage (VVOUTH) and VOUT lower limit voltage (VVOUTL) can be calculated using the following
equations:
VOUT upper limit voltage
VOUT lower limit voltage
5.1.2.1 VOUTL Setting Margin
Refer to Equivalent Series Resistance of the Supercapacitor.
This section describes the storage and VOUT control block of S6AE103A as shown in the following schematic. There are two
storage pins and two VOUT pins. The solar energy charges both a small capacitor (400 µF) and a large capacitor (200 mF).
Table 5-2. Pin Description of Storage and VOUT Control Block
5.1.3.1 Waveform of Charging and Discharging Operation
The following are the details of the charging operation and waveform.
1. Solar energy is the input.
2. Charging starts VSTORE1.
3. When the VSTORE1 voltage achieves the VOUTH setting voltage (3.24 V), the VOUT1 voltage turns on and charging
This section describes the S6AE103A internal timer setting block as shown in the following. There are three pins (CIN0/1/2) to
control the VOUT pins, as described in Table 5-3.
Table 5-3. Pin Description of Internal Timer Setting Block
1
Refer to section05.1.4.2 Setting of Timer for detailed calculation formulas.
5.1.4.1 Waveform of Demo Mode and Timer Mode
The following are the details of the Demo mode (DM) operation and waveform.
Case1: VSTORE2 is empty
1. T0 (0.13 s) timer and T1 (2.07 s) timer start when the VSTORE1 achieves VOUTH (3.24 V). VOUT1 voltage turns ON.
2. After T0 (0.13 s) finishes, VOUT2 turns ON.
3. After T1 (2.07 s) finishes, VOUT1 and VOUT2 turn OFF. T2 (1.21 s) starts. If the VSTORE1 voltage drops under VOUTL
(1.62 V), all timers are reset.
4. After T2 (1.21 s) finishes, repeat steps 1 to 4.
Refer to Table 3-1. Light Level Versus Time Interval for the time interval of BLE transmission in this case.
Case2: VSTORE2 is full
1. VSTORE1 and VSTORE2 connect via Diode.
2. Same steps as case1.
The time interval of BLE transmission is 3.28 s (T1 + T2) until VSTORE1 drops to VOUTL (1.62 V). Then the waveform
changes to case 1.
Note that the surplus energy cannot be charged completely to VSTORE2 in Demo mode.
Open
VOUT1 switch interlocking output pin/comparator output pin
1 2 3 4 Repeat
5.1.4.2 Setting of Timer
The timer times 0, 1, and 2 (T0, T1, and T2) are set according to the capacitance value at the connections between the CIN0,
CIN1, and CIN2 pins and the AGND pin.
The values of timer 0 (T0), timer 1 (T1), and timer 2 (T2) can be calculated using the following formulas.
T0[s] = 0.5455×C[F]×10^9 + 0.01327[s] = 0.5455×220×10^–12×10^9 + 0.01327[s] = 0.13 [s]
This section introduces the firmware initially provided in the Solar-Powered BLE Sensor Beacon RDK. It discusses features
such as the WSN with the BLE Beacon process. Refer to AN96841 – Getting Started with EZ-BLE Module for the BLE
standard reference design, except energy harvesting.
5.2.1 Flow Diagram
Figure 5-1 is the flow diagram for the example project of the kit firmware.
This section provides detailed information on the BLE sensor beacon process.
5.2.3.1 Complete BLE Sensor Beacon Process
The complete BLE sensor beacon process invokes running the Beacon_GappStartAdvertisement(). The following waveform
shows the BLE advertisement states.
5.2.3.2 Power Up and Software Reset
The code from the Solar_BLE_Sensor PSoC Creator project is started. This code begins with low-power startup functions.
This allows the system to conserve power during clock startup, especially the WCO, which takes 500 ms for startup. This is
crucial to allow the project to survive on solar power.
The code is optimized to read the USB detect line (P3.5 of EZ-BLE) and immediately switch to UART mode if it was not
detected.
5.2.3.3 System Clock Setting and SFLASH Parameter Reading
The system is set with the IMO at 12 MHz and the ECO at 3 MHz.
The user flash read is done at every start to read the stored beacon data in SFLASH and then use it for broadcasting. The
flash read is done in CYBLE_EVT_STACK_ON to allow some breathing room between system on and flash read.
5.2.3.4 I2C Start, Read Sensor Data and BLE Advertisement
Along with BLE start, the WDT counter is configured for periodic interrupts to run the I2C state machine. This state machine
initiates I2C as well as reads the data from the sensor to send it as part of the advertisement (ADV) packet. Also,
CyBle_ProcessEvents() is called to process BLE events.
After I2C is started, the next state sends the temperature or humidity data request, and then the system goes back to deep
sleep. After sensor data is requested, temperature or humidity data is read, and the system goes back to deep sleep again.
Upon WDT interrupt, the system wakes up and the ADV packet is updated with the new data. Also, the GAP advertisement is
started so that the new ADV packet can be transmitted by BLE.
The BLE Beacon is a one-way communication method that broadcasts at a regular interval. It consists of small packets of data
(30 bytes) of “advertisements.”
Beacons that want to be “discovered” can be used for a variety of smartphone or computer applications to trigger things like
push messages, app actions, and prompts.
The following is the link layer format of the BLE for advertising channel packet format. The BLE link layer includes “Preamble,” “Access Address,”“PDU (Protocol Data Unit)”, and CRC. Note that the following information is for the advertising channel
packet format; it does not include the data channel packets.
“Preamble” must set “10101010b.”
“Access Address” must be set to “10001110100010011011111011010110b (0x8E89BED6).”
“PDU” includes “Header” and “Payload.”
The BLE Beacon packet structure belongs to “Advertising Data” in “Payload.”
The following are the details of the BLE Beacon packet format for the kit.
The following are the initial values in the example project for Solar_BLE_Sensor.
Reference Design
Length2 0x1A
AD type2 0xFF
Company ID 0x004C
Device type 0x02
Length3 0x15
UUID1 00050001-0000-1000-8000-00805F9B0131 [hex]
Major2 0x0001
HUMIDITY3 Humidity Sensor Data
TEMP3 Temperature Sensor Data
RSSI4 0xC3 [–61dBm]
<Others>
Transmitter power 3 dBm
1
This is a 16-byte string used to differentiate a large group of related beacons.
2
This is a 2-byte string used to distinguish a smaller subset of beacons within the larger group.
3
This is a 1-byte string to read individual sensor data.
4
Received signal strength indication. This is used to determine proximity to (distance from) the beacon.
The kit uses the ReadAndApplyConfig function in main.c to update the BLE Beacon packet. Note that the kit does not use the
“GAP Settings” of Configure “BLE” in TopDesign.cysch because the SFLASH parameter is read and the BLE Beacon packet
is updated whenever the power is turned on.
5.3.1 Calculation Formula to Read Sensors
The following is the calculation formula of the temperature and humidity sensors to receive the sensor data.
<Temperature Sensor>
TEMP [℃] = 175.72 x (TEMP x 256) / 65536 – 46.85
The Eddystone specification defines three types of frames. The two AD structures in the front are the same.
The following diagram shows the Eddystone packet format using the same format used in
This chapter describes the Solar-Powered BLE Sensor Beacon RDK hardware. The schematic and board layouts are
available at the following location:
<Install Directory>\Cypress\CYALKIT-E02 Solar-Powered BLE Sensor Beacon RDK\<version>\Hardware.
6.1 Solar BLE Sensor
The Solar BLE Sensor consists of the blocks shown in Figure 6-1.
Figure 6-1. Solar BLE Sensor Block Diagram
Note that the Solar BLE Sensor is not printed the silk screen of all components due to tiny size. To identify the components,
refer to the assembly drawing shown in Figure 6-2.
Table 6-1. Specifications of Solar Cell (AM-1606C)
Page 73
Hardware
Items
Specifications
Operating Voltage and Operating
Current: V
OPE
– I
OPE
Typical 2.6V –3.1 µA (at 200Lux FL, 25°C)
Working Temperature
–10 ~ 60°C
Storage Temperature
–20 ~ 70°C
Working Illuminance
~ 1000Lux
6.1.2 Energy Harvesting PMIC
Refer to 5.1 Hardware Description for detailed specifications.
6.1.3 400-µF Storage Capacitor
Refer to 5.1.3 Storage and VOUT Control Block for detailed specifications.
6.1.4 0.2-F Supercapacitor
Refer to 5.1.3 Storage and VOUT Control Block for detailed specifications.
6.1.5 Slide Switch for S6AE103A Mode Select
Refer to Internal Timer Setting Block for detailed specifications.
6.1.6 EZ-BLE PRoC Module
EZ-BLE PRoC modules are fully integrated, fully certified, programmable modules that are designed for ease of use. The
module contains Cypress’s PRoC 4 BLE chip, two crystals, a chip or trace antenna, a shield, and passive components.
Following is a schematic for the EZ-BLE PRoC module. Table 6-2 lists the module pins and their descriptions.
Connect CN1.9 pin
Extra GPIO to connect Debug Board
P0.6
I/O
Connect CN1.4 pin
SWDIO to program/debug via KitProg
P0.7
I
Connect CN1.3 pin
SWDCLK to program/debug via KitProg
P1.4
I
Connect CN1.7 pin
UART_RX to control the parameter via KitProg
P1.5
O
Connect CN1.8 pin
UART_TX to control the parameter via KitProg
P3.4
O
Connect LED (not mounted)
Extra user LED
P3.5
I
Connect CN1.6 pin
USB detect from Debug Board
P5.0
I/O
Connect U4 of temperature and humidity sensor
SDA for I2C connection
P5.1
I/O
Connect U4 of temperature and humidity sensor
SCL for I2C connection
XRES
I
Connect CN1.5 pin
XRES to program/debug via KitProg and reset pin
VDD
–
Connect VDD via L1 ferrite bead
Digital power supply input
VDDR
–
Connect VDD via L1 ferrite bead
Radio power supply
GND_1, GND_2
–
Ground connection
P0.5, P1.6, P1.7,
P3.6, P3.7, P4.0,
P4.1
–
Open
Not used
Table 6-2. Pin Description of EZ-BLE PRoC Module
6.1.7 Temperature and Humidity Sensor
The temperature and humidity sensor is a monolithic CMOS IC that integrates sensor elements, an analog-to-digital converter,
signal processing, calibration data, and an I2C interface. The EZ-BLE PRoC module controls the sensor IC via the I2C
interface. The following is the schematic for the temperature and humidity sensor.
Connect P0.7 of EZ-BLE
SWDCLK to program/debug via KitProg
4
SWDIO
Connect P0.6 of EZ-BLE
SWDIO to program/debug via KitProg
5
XRES
Connect XRES of EZ-BLE
XRES to program/debug via KitProg and reset pin
6
USB_DET
Connect P3.5 of EZ-BLE
USB detect via divider resistor
7
UART_RX
Connect P1.4 of EZ-BLE
UART_RX to control the parameter via KitProg
8
UART_TX
Connect P1.5 of EZ-BLE
UART_TX to control the parameter via KitProg
9
GPIO
Connect P0.4 of EZ-BLE
Extra GPIO to connect Debug board
10
VSTORE2
Connect VSTORE2 of S6AE103A
To charge the supercapacitor using 3.3 V of Debug Board
6.1.8 10-Pin Connector on Solar BLE Sensor
The 10-pin connector connects the Debug Board to program/debug, control parameters, detect USB connection, and charge
the supercapacitor and supply power. The following is the schematic for the 10-pin connector. Table 6-3 gives the pin
descriptions.
KitProg is the hardware/firmware block for onboard programming, debugging, and bridge functionality. It is a common
reusable hardware/firmware block used across many Cypress kit platforms. It consists of a PSoC 5LP device, which connects
to the computer over a USB interface and connects to the PRoC 4 BLE device on the Debug Board or EZ-BLE module on the
Solar BLE Sensor over the SWD, I2C, and UART pins.
The KitProg communicates with the PSoC Programmer and PSoC Creator software to program/debug the target PRoC 4 BLE
or EZ-BLE module over the SWD interface. The main advantage of an onboard programmer/debugger is that users do not
have to buy extra programmer/debugger hardware. Refer to 4. Program and Debug to learn how to program/debug using
KitProg. Following is the block diagram for KitProg.
The power supply on the Debug Board is input from the USB Type-A Plug. A MB39C022G LDO is used to provide a 3.3-V
output for each device. A supercapacitor (SC1) on the Solar BLE Sensor is charged via diode when the Solar BLE Sensor
connects. The following is the block diagram for the power system.
This section describes the slide switch implementation on the Debug Board, as shown in the following block diagram. The
slide switch selects the target device to program and control using the XRES pin. When the switch is set to “PRoC BLE
Program mode,” the PSoC 5LP XRES pin connects the PRoC BLE device, and the XRES of the EZ-BLE module connects to
ground. When the switch is set to “EZ-BLE Program mode,” the PSoC 5LP XRES pin connects the EZ-BLE module, and the
XRES of the PRoC BLE device connects to ground.
Connect P12.3 of PSoC 5LP
SWDCLK to program/debug via KitProg
4
SWDIO
Connect P12.2 of PSoC 5LP
SWDIO to program/debug via KitProg
5
XRES
Connect XRES of PSoC 5LP
XRES to program/debug via KitProg and slide switch
6
EZ_VDD
(USB_DET)
Connect 3.3-V output of the LDO
To detect USB connection
7
UART_RX
Connect P12.7 of PSoC 5LP
UART_RX to control the parameter via KitProg
8
UART_TX
Connect P12.6 of PSoC 5LP
UART_TX to control the parameter via KitProg
9
GPIO
Connect P15.4 of PSoC 5LP
Extra GPIO to connect Solar BLE Sensor
10
EZ_VDD
(VSTORE2)
Connect 3.3-V output of the LDO via diode
To charge the supercapacitor on Solar BLE Sensor
6.2.4 10-Pin Connector on Debug Board
The 10-pin connector connects the Solar BLE Sensor to program/debug, control parameters, detect USB connection, charge
the supercapacitor, and supply power. The following is the schematic for the 10-pin connector. Table 6-4 provides the pin
names and descriptions for the 10-pin connector.
The Solar BLE Sensor has an extra test pad for primary battery input as shown in the following figure. It can connect a primary
battery (not included in the kit) such as a 3-V coin type using test pads. Use soldering to connect the battery to check the solar
and battery operation.
The following is the sample waveform. Note that this sample waveform is for the power gating operation mode of S6AE103A
is in an “Energy Driven Mode”. Refer to the S6AE103A datasheet for detailed operation modes.
1. The solar input is started (VOUT1 = Battery).
2. The VOUT1 voltage changes to solar energy when the VSTORE1 achieves VOUTH (3.24 V).
3. The VSTORE1 decreases when the solar input is stopped (VOUT1 = Solar).
4. The VOUT1 voltage changes to battery when the VSTORE1 achieves VOUTL (1.62 V).
5. The VSTORE1 increases when the solar input is restarted (VOUT1 = Battery).
6. The VOUT1 voltage changes to solar energy when the VSTORE1 re-achieves VOUTH (3.24 V).
The supercapacitor (SC1) on the Solar BLE Sensor is charged when the Solar BLE Sensor is connected to the Debug Board
via USB. For example, the supercapacitor is charged half voltage from 0 V when it is connected via USB for two minutes or
more. To fully charge, it needs ten minutes or more.
The following is the block diagram to charge the supercapacitor from USB.
A.3 Equivalent Series Resistance of the Supercapacitor
The VOUT setting of S6AE103A is set as 3.24 V (VOUTH) to 1.62 V (VOUTL). There is a 0.28-V VOUTL margin to supply
voltage to the VOUT load (operation voltage is 3.6 V to 1.9 V). This margin is for taking measures to mitigate the voltage drop
because of equivalent series resistance (ESR). The ESR of the supercapacitor (C1) on the Solar BLE Sensor is 200 Ω. When
the VOUT load current is 5 mA, the voltage drop will be 1000 mV (V = IR). To resolve such a problem, the S6AE103A has two
storage pins: VSTORE1 and VSTORE2. VSTORE1 connects the low-ESR capacitor, such as a ceramic capacitor. VSTORE2
connects the large capacitance such as the supercapacitor. The energy of the supercapacitor (VSTORE2) passes to the
low-ESR capacitor (VSTORE1), and then the low-ESR capacitor supplies the energy to the VOUT load. This operation
reduces the voltage drop.
A few voltage drops will still occur, however, because VOUT is supplied using only a ceramic capacitor when there is no solar
energy. The kit connects the 400-µF capacitor to VSTORE1, and the energy of the BLE sensor transmission is about 200 µJ.
If the VSTORE1 voltage is 1.9 V and it uses 200 µJ of energy, the voltage drop is about 0.28 V. Refer to the following equation.
When the VOUT1 is 3.3 V to 1.9 V, S6AE103A constantly supplies the voltage. When the VOUT1 is under 1.9 V or reaches
1.62 V due to voltage drop, S6AE103A turns the voltage OFF and stops the BLE transmission.
A.4 Diode Connection Between Solar Cell and VDD
A diode is needed between the VDD pin and the solar cell to protect against reverse current from the input capacitor to the
solar cell. When the ambient light level is suddenly dark, the input capacitor voltage will be higher than the solar cell voltage.
The kit includes an enclosure for the Solar BLE Sensor, shown in the following image. It contains three parts: a top cover, a
bottom cover, and a transparent sheet for the solar cell.
Changed the order of Install Cypress BLE-Beacon Software.
Changed the file location path of the Cypress BLE-Beacon.
Added the copy step of the BLE folder in 4.2.2
*B
04/06/2017
EIFU
Updated Serial Command List section
Added Eddystone-URL Configuration Service section
Added Note about Validators section
Added Eddystone Format section
Updated template
*C
06/01/2017
EIFU
Updated pictures of Cypress BLE-Beacon GUI
Added a note of firmware version 1.2.00