element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Test & Tools
  • Technologies
  • More
Test & Tools
Blog Bluetooth LE Transmit Testing with the FPC1500 - ESP32 Measurements
  • Blog
  • Forum
  • Documents
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Test & Tools to participate - click to join for free!
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: ralphjy
  • Date Created: 8 Jul 2022 3:52 PM Date Created
  • Views 4188 views
  • Likes 12 likes
  • Comments 1 comment
  • esp32
  • ble transmitter testing
  • BLEFPC1500
  • Rohde&Schwarz FPC1500
Related
Recommended

Bluetooth LE Transmit Testing with the FPC1500 - ESP32 Measurements

ralphjy
ralphjy
8 Jul 2022

Table of Contents
Blog 1: Bluetooth LE Transmit Testing with the FPC1500
Blog 2: Getting Started
Blog 3: BLE Development Boards
Blog 4: Test Development
Blog 5: ESP32 Measurements
Blog 6: nRF52 Measurements
Blog 7: CYW43-measurements
Blog 8: Summary

BLE Transmit Power Settings

As I started to take data on my direct connect setup, I realized that the measured carrier power was not changing in response to power setting change that I was making in the program.  I had discovered the method for setting the TX power on a thread on stackoverflow.com which has been a generally useful source of information when documentation is lacking.  I am aware that there are 3 BLE TX power types - one for advertising, one for scanning, and one for default which will be used if the other types are not set.

I had used the setPower() function in the library which only takes a single power_level argument, so I assumed that it would at least set the default power if not all of them.  It turns out that I should have used a lower level function that would explicitly set the advertising power.  That function esp_ble_tx_power_set() takes both power_type and power_level arguments.  I also discovered that the non-programmed default ESP32 power level is 3 dBm (0 dBm is the default for Nordic nRF devices).  And apparently the actual levels that can be set in the hardware differs between these device families, so I may have to do a bit of windage in making comparisons.

The ESP32 BLE TX power can be set to 8 different levels from -12 dBm to 9 dBm in 3 dBm steps.  I corrected the program and verified the power levels in direct connect mode.  The results are reasonably linear with an offset between the programmed and measured values of about -2 dBm which I assume is the cable and connection loss.

image

Other Measurement Displays available in Digital Demod mode

Before I move on to antenna testing I thought I would show the other measurement displays that are available besides the Eye Diagram.  For my purposes I will rely on the Eye Diagram as it also shows numerical values for Frequency Deviation and Modulation Error, but the graphical displays could be useful when analyzing error characteristics.

Symbols display
Shows the symbols (data) captured within the packet burst

image

Modulation Deviation
Shows frequency shift vs time

image

Modulation Error
Shows modulation error vs time

image

I/Q Power Level Trigger

Before I started doing antenna measurements, I wanted to decide on a transmit power level that would give me the best match across device types.  It looks like all devices have the ability to set a 0 dBm TX power.  The largest variation in settings occurs at the high and low range limits.  E.G. the ESP32 varies between -12 to +9 dBm and the nRF52 varies between -40 to +4 dBm.

As I experimented with a 0 dBm TX level with an ESP32 Thing (PCB antenna), I discovered a limitation with the I/Q Power Trigger Level.  It turns out that the lowest value that can be set is -50 dBm.  I was a bit surprised because a feature of the FPC1500 is that it has a very large dynamic range from -165 to +30 dBm (high and low levels enabled with use of attenuator and preamplifier).  It turns out that with a 0 dBm TX power - the signal from the ESP32 Thing could not be reliably captured at a 2 meter distance using a -50 dBm trigger level.  I submitted a support ticket with R&S to see if I could get the specification and description of the I/Q Power Trigger.  I received a quick response, but no new information - so I assume that the -50 dBm is the limitation of the demodulating hardware.

Until I can get a better idea of what the received signal strength (RSS) is for my various board configurations, I'm going to set the boards to maximum TX power for my antenna testing.  That hopefully will allow me to work at 2 meter separation without having trigger level issues.  For the ESP32 measurements below I'll use a TX power of +9 dBm.

Antenna tests

Free Space Path Loss

I wanted to have some expectation for the measurement values and I found this reference for WiFi signals at 2.4 and 5 GHz - Free Space Path Loss Diagram.  I don't have a perfectly clean setup but it would be nice to see close to the 6 dB loss between 1 and 2 meters. 

The loss equation as a function of distance (d in km) and frequency (f in GHz) is:

     image

image

ESP32 Thing Plus external U.FL 9 dBi omnidirectional antenna

0.5 meter

image

1.0 meter

image

2.0 meter

image

ESP32 Thing PCB antenna

0.5 meter

image

1.0 meter

image

2.0 meter

image

image

image

Other than the obvious performance difference between the external and PCB antennas, the other value that stands out is the carrier frequency error is quite a bit larger on the Thing vs the Thing Plus.  A side-by-side view shows that there is a significant configuration difference in that the Thing Plus is using a shielded WROOM module while the Thing is using a bare ESP32.  The modulation performance of both boards is good.  The Eye Diagram for the Thing is somewhat noisier as might be expected. 

image

Board orientation effect on loss measurement

The plane of the PCB antenna with respect to the receiving antenna will affect the magnitude of the received signal.  I'll maintain a consistent orientation for all the measurements, but I thought it would be good to measure the min-max values and the associated orientation.

It turns out that it is proving much harder than I anticipated to get repeatable measurements while trying to maintain the various board orientations.  I did get consistent data in some orientations, but I may need fixturing to get better repeatability in all orientations.  Part of the problem is that I'm using the USB cable for power and I think that is interfering more in some orientations.  The best orientation for the the ESP32 Thing was to have the board in the same vertical plane as the transmitting antenna as shown below.  This orientation was about 3 dBm better than others that I tried.  This is the orientation used for the previous measurements.

Here's a representation of the orientation.

image

I'll need to circle back later and revisit this after I try other boards.  

  • Sign in to reply
  • shabaz
    shabaz over 3 years ago

    Hi Ralph,

    Very useful blog, I didn't know the limit was -50 dBm, either. I'm guessing it's not an issue most of the time, because the feature is designed to test transmitter circuits and firmware (i.e. to see how clean/stable and agile the signal generation is, and perhaps some low-level protocol decoding) instead of antenna performance. For antenna performance, I guess there's no need to do a decode or view eye diagram.

    The board orientation looks good to me too, it's what will provide a similar oriented and shape radiation pattern to the other antenna in the photo.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube