Würth Sensor FeatherWing Kit Review

Table of contents

RoadTest: Wurth Sensor FeatherWing Kit

Author: fmilburn

Creation date:

Evaluation Type: Development Boards & Tools

Did you receive all parts the manufacturer stated would be included in the package?: True

What other parts do you consider comparable to this product?: I have reviewed kits with similar capabilities by Infineon, Rohm, and Omron.

What were the biggest problems encountered?: None of consequence

Detailed Review:

Thank you to element14 and Würth for selecting me for this RoadTest.  The RoadTest contains the following sections:

  • Unboxing
  • Würth eiSos Sensor Shield Description
  • Würth Calypso Wi-Fi Module Description
  • Adafruit M0 Feather Description
  • Sensor Testing
    • Temperature
    • Pressure
    • Humidity
    • Accelerometer
  • Weather Station Project
  • Summary

This isn’t going to be a full-out confirmation of the specifications in the datasheet.  Instead, I’ll be testing a limited number of conditions for reasonableness on each sensor and assessing how easy it is to use the supplied firmware.  These sensors have low power requirements which can be important in many applications but this was not tested.  It so happens that my furnace when out and I had it replaced shortly after the RoadTest kit arrived so I also set up a “weather station” to get some information on how the new HVAC system performs.

Unboxing

The items included in the RoadTest arrived in a padded envelope.  The Würth Sensor FeatherWing Sensor and Calypso Wi-Fi were in anti-static packaging with the pins protected by insertion into foam.  The Adafruit M0 Feather was enclosed in bubble wrap with the stacking headers loose in plastic and somewhat bent during shipping.

Unboxing

All parts called out in the RoadTest were enclosed and the included stacking headers were straightened and soldered onto the Adafruit Feather.

Würth eiSos Sensor FeatherWing Description

The Würth eiSos Sensor FeatherWing has four sensors:

  • WSEN-PADS - Absolute pressure sensor)
  • WSEN-ITDS - 3-axis acceleration sensor
  • WSEN-TIDS - Temperature sensor
  • WSEN-HIDS - Humidity sensor

The sensors are connected to a shared I2C bus as shown in the block diagram below.

Block Diagram

Image Credit: Würth Sensor FeatherWing User Manual

 

The Sensor FeatherWing can be connected directly to all Adafruit Feather Boards and sells for $55.74 by Newark.

Sensor Board

Image Credit: Würth Sensor FeatherWing User Manual

My board had flux residue on the bottom which was easily cleaned off.  The documentation is good and contains descriptions of how to use the board, schematics, layout, and links to the software on Github.  However, the software link in the User Manual is incorrect and results in a 404 message.  A search for “Wurth GitHub FeatherWing” gave links to the correct location.

Würth Calypso Wi-Fi Module FeatherWing Description

The Calypso Wi-Fi FeatherWing has 2.4 GHz Wi-Fi connectivity based on IEEE 802.11 b/g/n with a fully-featured TCP/IP (IPv4 and IPv6) stack. Support for MQTT(Secure) client, HTTP(S) client, SNTP client, HTTP(S) server, mDNS, DNS-SD, DHP server, and Ping is provided. It uses an AT-style command interface over UART.  Arduino (C/C++) style drivers and examples are provided but differ in usage from the libraries provided for Arduino and ESP microcontrollers.  The board sells for $66 USD by Newark.

Calypso WiFi Board

Image Credit: Würth Calypso Wi-Fi FeatherWing User Manual

The User Manual contains descriptions of how to use the board, schematics, layout, and links to the software on Github.  However, like the sensor board, the software link is incorrect and results in a 404 message.  Wi-Fi is not one of my core strengths and it took me a while to figure out the examples.  I was also unfamiliar with PlatformIO and Visual Studio Code (Würth recommends the use of Visual Studio Code and examples are set up for that) so that took time to install and get familiar with.  I’m still not completely familiar with Visual Studio Code but will look into using it on future projects.

Adafruit M0 Feather Description

The Feather M0 has an ATSAMD21G18 ARM Cortex M0+ processor clocked at 48 MHz with 3.3V logic. It has 256K of FLASH, 32K of RAM, and a built-in USB.  Support for LiPo batteries is also built-in.

Adafruit Feather M0

I am familiar with these boards and like them.  Further, I think it is a good strategy for Würth to offer their sensor boards in the popular Feather form factor.

Temperature Sensor Testing

Sensor Description: The WSEN-TIDS is a silicon-based digital temperature sensor IC with an integrated ASIC and a digital I2C interface. It comes in a UDFN package and accuracy is said to be up to +/- 0.25◦C. The key features taken from the User Manual and Datasheet include:

  • Temperature range: -40 to 125 ◦C
  • Output data rate: 25 to 200 Hz
  • Temperature data resolution: 16-bits
  • Current consumption: 1.75 µA
  • Programmable temperature threshold interrupt

Code:  The Würth TIDS continuous sample example code was used unmodified except for increasing the baud rate of the output.

Test Procedure:  The temperature sensor was tested by comparison to my Tenma 72-1020 bench multimeter with the probe placed beside the TIDS sensor.  The bench multimeter has been tested against other instruments in the past and found to be accurate.  Measurements were also compared to the Würth PADS pressure sensor.  The Calypso FeatherWing was removed for the tests.

Results:

WSEN-TIDS Temperature

The Würth outputs about 22.1◦C and the multimeter 22.0◦C.  I also captured temperature from the Würth pressure and humidity sensors which measured 22.3◦C and 22.4◦C respectively.  Close enough.

Pressure Sensor Testing

Sensor Description: The WSEN-PADS is a MEMS piezo-resistive absolute pressure sensor with an I2C interface, and an embedded temperature sensor in an LGA package.  The key features taken from the User Manual and Datasheet include:

  • Absolute pressure range: 26 to 126 kPa
  • Output data rate: 1 to 200 Hz
  • Pressure data resolution: 24-bits
  • Current consumption: 4 µA
  • Programmable pressure threshold and data-ready interrupt

Code: The Würth PADS continuous sample example code was used.

Test Procedure: The pressure sensor was checked by calculating the difference in altitude between my home and the Portland airport using an online altitude from air pressure calculator by Mide: Air Pressure at Altitude Calculator (mide.com)

The reported pressure and temperature at the airport are shown below.

Portland Airport Atmospheric Pressure

A pressure of 30.2 inHg is equivalent to 102.3 kPa.  I checked the Windy app and it is showing similar values.  The outdoor temperature at my house is currently 50◦F so not much different than the airport.  The Calypso FeatherWing was removed for the tests.

Results: The atmospheric pressure at my home as determined from the Würth sensor output is shown below.

Wurth Pressure Output

When the values from the airport and my home are plugged into the Mide calculator the following results are obtained.

Mide Altitude Calculation

I have drawings showing elevations from when my home was built but can’t be exactly sure of elevation at the desk where I’m sitting but it is close to 845 ft above the airport, a difference of about 10 ft from the calculation.  There are a lot of ways this calculation could be off and the solution is within the expected error.  For example, if the actual atmospheric pressure at the airport is 30.22 inHg (reported value is 30.2 inHg) then the calculated and measured values match exactly.

Humidity Sensor Testing

Sensor Description: The WSEN-HIDS is a 16-bit humidity sensor with an I2C digital interface. The pre-calibrated sensor comes in an LGA package. The key features taken from the User Manual and Datasheet include:

  • Humidity range: 0 to 100 % rH
  • Humidity noise: 0.35 % rH RMS
  • Output data rate: 1 Hz, 7 Hz, and 12.5 Hz
  • Current consumption: 8.9 µA
  • Integrated temperature sensor

Code:  The Würth example continuous_mode for humidity was used unmodified except for increasing the baud rate of the serial output.

Test Procedure: Humidity readings from the sensor were compared to published local data on the internet and the humidity control sensor in my home HVAC system.  The Calypso FeatherWing was removed for the tests.

Results:  Sample output from the sensor is shown below.

Wurth Humidity Output

The average from the Würth sensor is around 41.5% humidity.  My new heating and air conditioning system reports 42% when these measurements were taken and the Windy app reports 40%.  This is a single data point but I’ve been checking it over the last few days and have seen similar results.  Looks good to me.

Accelerometer Testing

Sensor Description: The WSEN-ITDS sensor is a MEMS 14-bit digital three-axis accelerometer with an I2C digital output interface. It is capable of detecting free fall, tap recognition, wake up, stationary/motion, activity/inactivity, and 6D orientation. The key features taken from the User Manual and datasheet include:

  • Selectable full scale: ±2g, ±4g, ±8g, ±16g,
  • Bandwidth: 400 Hz
  • Output data rate: Up to 1600 Hz
  • Noise density: 90 µg / √ Hz
  • Operating modes: High-performance, Low-power, Normal
  • Current consumption: 16 µA (Low-power mode)

Code: The Würth example for continuous acceleration measurement was modified to output X, Y, and Z-axis data on one line.  The delay was reduced to 20ms for better resolution during plotting.

Test Procedure: Each axis of the sensor was aligned vertically and the output was observed for consistency. The response was observed while moving the sensor around tapping, allowing it to free-fall, and moving it around manually.

Results:  Results are shown in the video below.

The sensor responded as expected.  There were differences in the observed readings of up to ~ 5% when reversing the orientation of the sensor in addition to the change in sign.  Sensitivity accuracy is given to be +/- 3% in the datasheet.

Weather Station Project

Project Description: The Calypso Wi-Fi module and the Sensor board were attached to the Adafruit Feather M0 to make an IoT monitoring device with a cloud dashboard using AdafruitIO.  The hardware stack-up is shown below.

Project Stack-up

The objective is to confirm that my new Daikin furnace and air conditioning system are working as expected.  The controller for the new system with the air quality screen is shown below (photo taken the day after the tests).

Thermostat Air Quality Display

From the controller, I can set temperatures with hysteresis and timing, program the two-stage furnace, turn on low fan speed circulation, etc.  The technician who installed it was surprised that I was so interested in all of this.  It also measures and reports temperatures and humidity both inside and outside.

Code: My free AdafruitIO account was modified by adding three new feeds for temperature, pressure, and humidity.  Widgets to display a line chart and gauge for each feed were set up in a dashboard.

A Würth MQTT example for the Calypso was modified to send “CSV” values for temperature, pressure, and humidity as defined by the AdafruitIO API to the dashboard every 5 minutes and left to run in my work area.

Results:  The output over 48 hours is shown below.

Home Environment Log

Several interesting things occurred in the time recorded.  Since the furnace was out I had set up a space heater that kept my work area quite warm but struggled to keep up with the adjoining area and it was set up to output full heat.  The shallow dip that occurred in the first 12 hours is due to the cooling-off that occurred that night.  It then warmed up the next day until about 2:30 PM.  That is when the installation of the new furnace and air conditioning system was completed.  The air conditioning was tested until just after 3:00 (cooling) at which time they began to test the furnace.  Around 5:00 PM they finished and I began to play with the thermostat J.

The “Weather Station” project was relatively easy to set up.   Output closely followed what was shown on the controller.  Some data was dropped but that could have occurred anywhere between the Calypso and AdafruitIO and MQTT was being used.  The Würth example does use pointers in the user exposed sections which are discouraged for Arduino.  The library calls also differ from those used in other Arduino Wi-Fi libraries.  These aren’t issues for people familiar with C / C++ however.  I managed somehow to delete my code due to unfamiliarity with Visual Studio Code, or at least can’t find it now.  Nonetheless, I plan to try using it with Arduino projects again in the future.

Summary

Thanks to Würth and element14 for providing the opportunity to get familiar with these sensors.  They worked well in my limited tests and are of a type widely used today.

Using popular form factors like the Feather and Arduino compatible code is a nice feature that allows the user to get going quickly.  I did find that the software link in the User Manual results in a 404 message Code that should be corrected.  The software is linked correctly in other places or can be found with a search within Github. 

While not studied extensively the code seems well written and documented.  I experienced no problems while using the code other than an issue with Visual Studio Code that can be attributed to my inexperience with that IDE.  The examples demonstrate the operation and serve as a good starting place for development.

The cost ($55.74 for the sensor FeatherWing and $66.00 for the WiFi board) is higher than mass-marketed maker boards like those from Adafruit, Seeed, and others but should not be an issue for the intended market of engineers considering the sensors for their applications.  Buying the boards from Würth is cheaper than developing something similar in-house and guarantees a working design to build from.

It was a fortuitous thing that the RoadTest kit arrived just in time for me to use it for gathering data on the new heating and cooling system in my house.  Thanks for reading, and comments are always welcome.

Anonymous

Top Comments