RoadTest: MyIoT: Infineon Shield2Go Boards for IoT
Author: MARK2011
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?: compare DPS310 with TE-Connectivity’s MS5637 digital barometric pressure sensor and NXP MPL3115A2 precision pressure sensor with altimetry
What were the biggest problems encountered?: Lack of full compatibility with arduino boards due to voltage levels restrictions; Lack of documentation of "Adapter Board"; initially - instability of magnetic sensor - my fault/ misunderstanding, at last, the magnetic board worked fine! ... My fear of ESD
Detailed Review:
Quoting Infineon - “Customers can now develop their own system solutions by combining Shield2Go boards together with Infineon My IoT adapters.
My IoT adapters are gateways to external hardware solutions like Arduino and Raspberry PI, which are popular IoT evaluation platforms.
All this enables the fastest evaluation and development of IoT system on the market!.
After relative long tests I must agree and confirm specially compatibility with arduino software.
The set enriched with communication board made tested sensor board really IoT equipment.
Having difficulties with idea how the introduction to the next fascinating roadtest should looks like, I decided to go traditionally, starting from obviously obligatory but simple and quick unboxing record and "first impression".
Moreover completing my report I decided to show in the first chapter also assembly results.
I got five products by Infineon: two XMC1100 development boards, three sensor boards and one “mysterious” (finding the documentation is tricky) adapter board
and last, not least - WiFi board (also undefined in roadtest specification)
Everything came well packed and secured. Infineon’s boards have been delivered in nice boxes, WEMOS WiFi and Adapter board in ESD bags.
I must also mention the set of sockets and pins. Sensor boards were accompanied with SIP pins. The most interesting solution regarding included sockets, are solderless connectors.
Below: Shield2Go Boards: current, magnetic and pressure
in order to use the arduino compatible boards with XMC1100, I had to solder the terminals
You can see, there are extra terminals available (beyond classic Arduino design)
XMC1100 Boot Kit after montage
“Hardware setup” od XMC 2GO board I decided to use own long (too long) tail sockets.
That made the board more flexible for prototyping works.
I just wanted to copy the solution from WEMOS wiFi board - which was accompanied with sockets with long tails - you can see it below:
The magnetic sensor with 2GO development board stacked together - below:
Here we have very interesting proposal for prototyping - adapter board.
On the picture below you can see solderles sockets inserted to the board. The solution made the board preparation quick and easy.
I wonder of reliability of connections after long time of exploitation. For now I have no remarks.
Assembly conclusions. Some insertion force is necessary! As usual with sockets- cutting require precision and carry.
There is risk of broke pins/ sockets near the cutting point. therefore, the manufacturer could provide longer sockets sections - I would feel more comfortable.
Below: both solder and solderless technology used to complete the board
Below: The XMC1100 Boot Kit with triple socket adapter and three sensor boards - ready for experiments.
Below the WEMOS 8266 board on the breadboard surrounded by the rest of the set:
ESD issue
I feel obliged to share my fears of ESD
All boards are signed as ESF fragile, however amateur tests even in good prepared laboratory have risk of electrostatic... consider - cold evenings in this autumn and my favourite fleece blouse...
Fortunately, there were no accident, so far.
Let me give short review of equipment parameters and features. Below I’ve prepared overview of available documentation and online support. Let’s treat it as introduction into the realm of Infineon controllers.
Evaluation boards: XMC1100 B-Kit & XMC2Go
According to the Infineon declaration, XMC1100 boot kit and XMC 2Go is designed to evaluate the capabilities of the XMC1100 Microcontroller and the tool chain DAVE™ Nevertheless the Arduino IDE is also convenient when experimenting with them.
Below you can find my selection and review of available papers and documentation (pdf's links to sites… concerning our boards)
Infineon prepared very professional support for its devices. It is easy accessible on the Infineon site.
https://www.infineon.com/cms/en/product/evaluation-boards/kit_xmc11_boot_001/
32-bit Microcontrollers with ARM® Cortex®-M0 with 64 KB Flash . The XMC1100 series belongs to the XMC1000 Family of industrial microcontrollers based on the ARM Cortex-M0 processor core.
The XMC1100 series devices are designed for general purpose applications. The symbol of microcontroller is XMC1100-T038x0064
The XMC1100 Boot Kit “Card for Arduino” has two rows of pin headers which fully compatible with Arduino shield .
Basic documentation
The XMC1100 series belongs to the XMC1000 Family of industrial microcontrollers based on the ARM Cortex-M0 processor core.
XMC1100 is described here
Diagram below - architecture of the controller on the Boot Kit board:
Parallely with XMC1100, the board is equipped in on-board USB debugger realized with a XMC4200 Microcontroller. That solution is fully compatible with SEGGER J-Link.
More detailed description of the kit here:
https://www.infineon.com/cms/en/product/evaluation-boards/kit_xmc11_boot_001/#ispnTab1
The next board containing XMC1100 microcontroller is
XMC 2Go (KIT_XMC_2GO_XMC1100_V1)
Most important informations are available here: Getting Started
Features of the XMC 2Go Kit | |
Topic | Features |
Processor | XMC1100 microcontroller (ARM® Cortex™-M0 based) in a 4 x 4 mm VQFN-24 package |
Flash | 64 kB |
RAM | 16 kB |
Clock Generation | Internal Oscillator |
Frequencies | 32 MHz CPU clock, 64 MHz Timer clock |
Dimensions | 14.0 x 38.5 mm |
Power Supply | from USB via Debug probe (J-Link) or 3.3V external power |
Connectors | Two 8-pin header (pin pitch: 2.54 mm ≙ 0.1” / between rows: 10.16 mm ≙ 0.4”) Pin header fits to breadboard |
Debugger and UART Communication | On-Board J-Link Debugger supports Serial Wire Debug (SWD, ARM Standard) Single Pin Debug (SPD) UART-to-USB bridge (virtual COM) |
Peripherals | Mapped to pin header X1/X2: 2 Channel USIC (UART, SPI, I2C, I2S, LIN) 6 Channel Analog to Digital Converter (12-Bit resolution) 4 x 16-Bit Timer External Interrupts (via ERU) Others: Real Time Clock Random Number Generator |
Others | 2 User LEDs @ P1.0 and P1.1 |
Look below: the board is impressingly small
ARM® Cortex™-M0 core
Components of the XMC 2Go Kit with XMC1100
The order of pins available at headers X1 and X2 corresponds to the pinning schema of the XMC1100. The pinning table is also printed onto the bottom side of the PCB.
There are following main building blocks:
XMC1100 Microcontroller in a 4x4mm VQFN24 package On-board USB debugger realized with a XMC4200 Microcontroller for serial wire debug (SWD) and UART-to-USB Bridge Two 8 pin header X1 and X2 On-board power generation for power supply of the XMC1100 Microcontroller and the debug IC 2 User LEDs | |
More informations are available on the following Infineon’s pages: User Manual
searching on infineon site results with following:
https://www.infineon.com/cms/en/product/evaluation-boards/s2go-pressure-dps310/
Description:
Infineon’s Shield2Go boards offer a unique customer and evaluation experience – the boards are equipped with one DPS310 barometric pressure sensor and come with a ready to use Arduino library.
Customers can now develop their own system solutions by combining Shield2Go boards together with Infineon My IoT adapters. My IoT adapters are gateways to external hardware solutions like Arduino and Raspberry PI,
which are popular IoT hardware platforms. All this enables the fastest evaluation and development of IoT system.
Summary of Features:
Target Applications:
- I²C with optional interrupt
Description (according to Infineon): S2Go_3DSense_TLV493D evaluation boards are equipped with one TLV493D-A1B6 magnetic sensor and come with a ready to use Arduino library.
TLV493D-A1B6 - 3D magnetic sensor TLV493D-A1B6 offers accurate three dimensional sensing with extremely low power consumption.
Within its small 6-pin package the sensor provides direct measurement of the x, y and z magnetic field components, making it ideally suited for the measurement of 3D movement, linear travel and 360° angle rotation.
Description S2Go_3DSense_TLV493D:Summary of Features:
All three Sensitive Directions Bx, By and Bz
The IC consists of three main function units containing the following building blocks:
The power mode control system, containing a low-power oscillator, basic biasing, accurate reset,undervoltage detection and a fast oscillator.
The sensing part, containing the HALL biasing, HALL probes with multiplexers and successive tracking ADC.Furthermore a temperature sensor is implemented.
The I2C interface, containing the register file and I/O pads.
Block Diagram
Detalis available on infineon: https://www.infineon.com/cms/en/product/sensor/magnetic-position-sensor/3d-magnetic-sensor/tlv493d-a1b6/
S2Go_CurrentSenseTLI4970: evaluation boards are equipped with one TLI4970 current sensor and come with a ready to use Arduino library.
TLI4970 Description: TLI4970 is a high-precision current sensor based on Infineon´s proven Hall technology.
Infineon is proud of their coreless magnetic current sensor concept.
The output signal is highly linear and without hysteresis. However, a differential measurement principle allows effective stray field suppression.
Due to the integrated primary conductor (current rail) and fully digital solution there is no need for external calibration or additional parts such as A/D converters, 0 pAmps or reference voltage.
Additionally, a separate interface pin (OCD) provides a fast output signal in case a current exceeds a pre-set threshold. The coreless concept significantly reduces footprint compared with existing solutions.
Summary of Features:
block diagram
More details below:https://www.infineon.com/cms/en/product/evaluation-boards/s2go_cur-sense_tli4970/
Last, definitely not least: WiFi controller. That one seems to be a little mystery - noname and nl link in roadtest description…
but after digging in the web I realized what is it…At first, concerned about the lack of information about this element, I soon recognized the popular card.
It belongs to the family of the legendary ESP-8266.
WEMOS (LOLIN) D1 mini is the wifi board based on ESP-8266EX with 4MB flash.
Some details copied from online papers
Features
Technical specsMicrocontroller
ESP-8266EX Operating Voltage 3.3V
Digital I/O Pins 11
Analog Input Pins 1(Max input: 3.2V)
Clock Speed 80MHz/160MHz
Flash 4M bytes
Length 34.2mm; Width 25.6mm
Weight 3g
All of the IO pins have interrupt/pwm/I2C/one-wire support except D0.
I keep the picture from https://wiki.wemos.cc/products:d1:d1_mini
despite it differ from the board from the roadtest set.
https://wiki.wemos.cc/products:d1:d1_minihttps://www.espressif.com/en/products/hardware/esp8266ex/overview
Looks quite advanced and comprehensive But I was lost trying to acquire some information about it…
well I noticed that our board is available in extended XMS2Go kit where it is named Triple-Adapter – Adapter for Infineon Shield2Go
with Arduino-Uno Formfactor (alternatively: Grove Base_Shield_V2)Its catalogue name is MYIOTADAPTERTOBO1
I even find the ordering number: B138-I0613-V1-7600-EU-EC-PNevertheless, unfortunately, the only paper I found is:
Infineon-S2Go_MyIoT_Fast_flexible_and_easy_prototyping_for_ IoT-ABR-v01_00-EN.pdf
It looks fine but I miss more detailed schematic etc…
I decided to ask for documentation or same info about the board on the forum:https://www.infineonforums.com/threads/6180-MyIoT-adapter-board
And at Technical Assistance Center (TAC):https://www.infineon.com/cms/en/about-infineon/company/contacts/product-support-form/?redirId=56193
I asked for providing me with detailed documentation of fast prototyping "MyIoT adapter board" particuliary about "I2c bridge" and possible SPI level converter (2 chips upper right part...
“How to prepare/ set-up the adapter to avoid overvoltage of inserted 2Go boards.Is it possible to use all three "banks" of 2Go shields... etc
In that case making reverse engineering of your adapter seems to be nonsense.on the other hand, without complete documentation
the board is uselessHoping, you can help me with understanding the MyIoT adapter”
Unfortunately my questions remained unanswered:
One more source of documentation -
As mentioned above - In addition to extensive documentation, Infineon provides convenient users forum.
https://www.infineonforums.com/https://www.element14.com/community/external-link.jspa?url=https%3A%2F%2Fwww.infineonforums.com%2F
Maybe the example with the mysterious board is unlucky but I must confirm the forum is excellent way to get quickly the answer concerning Infineon products, software etc!
Apart “Adapter Board” issue - regarding documentation, I found it very clear and informative.
In order to use and program the Infineon XMC 1100 in the Arduino IDE, SEGGER J-Link must be installed on the PC.
Segger provides extensive J-Link control panel reach in features and informations:
Firmware update after first power on
After installation of Jlink, the integration goes smooth
Important subject is software used during tests.
In the roadtest I used both
I hope only short description of Arduino world is necessary, as it is obviously well known programming environment.
“Arduino is an open-source electronics platform based on easy-to-use hardware and software. Arduino boards are able to read inputs - light on a sensor,
a finger on a button, or a Twitter message - and turn it into an output - activating a motor, turning on an LED, publishing something online.
You can tell your board what to do by sending a set of instructions to the microcontroller on the board.
To do so you use the Arduino programming language (based on Wiring), and the Arduino Software (IDE), based on Processing. “
https://www.arduino.cc/en/Tutorial/HomePagehttps://www.arduino.cc/en/Main/FAQ
Well described, with fantastic support and user forumshttps://forum.arduino.cc/
What can I add? - I discovered, that Shield2Go adaptershave repositories on Infineon GitHub.
All of them are compatible with Arduino library - which made my tests faster (no need for digging for documentation losing time on knowledge path etc.)
I sincerely recommend it to all infineon boards users!
The most convenient way is to use GitHub Infineon repositories and proceed according to instructions.
https://github.com/Infineon/XMC-for-Arduinohttps://www.element14.com/community/external-link.jspa?url=https%3A%2F%2Fgithub.com%2FInfineon%2FXMC-for-Arduino
Settings in board manager is necessary but simple indeed!
Thanks to my previous Infinoen boards roadtest, I know The DAVE environment.It is quite complex and sophisticated programming suite.
Thanks to the well prepared manuals, installation of DAVE is quite simple.https://www.infineon.com/cms/de/product/microcontroller/32-bit-industrial-microcontroller-based-on-arm-cortex-m/32-bit-x…
DAVE is free Eclipse based IDE using GNU C-compiler for XMC microcontrollers.
According to Infineons it is application oriented code repository merged with graphical system design methodsand automatic code generator to guide microcontroller useralong the entire process – from evaluation-to-production (E2P).
Infineon provides also example projects for DAVE™ Apps:https://www.infineon.com/cms/en/product/promopages/aim-mc/dave_downloads.html
Using documentation and above examples I've realized that Dave environment is "programmer friendly"It truly exceeded arduino IDE functionality.
On the other hand as many eclipse environment it demands huge disc space. Installation takes significant time.The only doubt was the problem with J-Link driver installation.
According to papers and installation noticesthe driver should be installed together with DAVE.
Maybe I didn’t check appropriate box in menu during the process but finally I had to install it separately
Another outstanding support from Infineon is Infineon Designer
The online prototyping engine combining analog and digital simulation functionalities in an internet application.
It is available via web browser, neither installation nor licenses are needed.
https://www.infineon.com/cms/en/tools/landing/ifxdesigner.html
Examples of my experiments with Infineon Designer below:
I found simulation exercises for XMC1100 boot kit:Simulation Tool
Simulate ONLINE - XMC1100 Boot KitEN
After first power on the XMC 1100 Boot Kit board it invites us the simple chaser effect on its LEDs.
Selection of the board in DAVE
Import of simple initial example
XMC2GO original firmware let the onboard LEDS blinking and sending simple advertisement via uart:The view of COM port terminal:
Download of Example Projects for DAVE™ Appshttps://www.infineon.com/cms/en/product/promopages/aim-mc/dave_downloads.html
Using arduino ide exercises from infineon's Github page
Using the raw version I encountered some troubles compiling arduino codes
Errors in example: analogwritetest.ino
* Test analogwrite functions for any board */
error: missing binary operator before token "1100"
Simple corrections in arduino.h files
Ather these simple modifications the program works well
After soldering pins the board was ready for manipulation with evaluation boards. Honestly, after readinf this:
Warning
The DPS310 has a maximum rating of 4 V
• Third party boards with 5 V logic, e.g. the Arduino Uno, cannot be connected to the DPS310 Pressure Shield2Go board directly,
even if the power is connected to the 3.3 V pin as the interface lines, e.g. SDA/SCL, will still be driven by 5 V
• Please use appropriate level shifting for these boards
I decided to work only with delivered Infineon development environment (XMC boards) as well as WEMOS card.
Nevertheless using simple 5/3V level converter usage with arduino boards is safe.
Another remark regards selection of interface:
Standard delivery of the board in terms of interface
mode is I²C with 0x77 when the 0 Ohm resistors
are soldered as shown on the right picture
I left I2C as the easier and convenient solution.
I started looking at papers and examples available on GitHub
https://github.com/Infineon/DPS310-Pressure-Sensor
Installation
Integration of Library
Please download this repository from GitHub by clicking on the following field in the latest release of this repository or directly here:
You can find the necessary library in “Arduino Library List“ https://www.arduinolibraries.info/libraries/dps310
The setup is simple and very intuitive indeed!
The first running code:
Readout of pressure, temperature and sending it via UART:
Using DAVE I have adopted simple codes for DPS310 originally dedicated to arduino, from github
Despite sensors are described as arduino - compatible I hoped to use it also with Raspberry Pi.
I planed to use pressure DPS310 transducer in both weather and altitude applications.
Here are examples of my attempt to catch readouts using Thing Speak cloud - fine platform for presentation of IoT data.
First I tried to use the DPS310 sensor with my Raspberry, which works as the motherboard of the simple weather station.
I have good "sense" in weather station matters, as I have home built RPi based W-S with both local and cloud based data logging system.
I decided to compare DPS310 with TE-Connectivity’s MS5637 digital barometric pressure sensor which I know using T-E Weather Shield.
Unfortunately I fail with python codes and finally the only success was localisation of I2C address of the DPS310 sensor:
I did not give up however.
The next turn was employment of WEMOS wiFi board to have chance to send sensors data into the world.
All you need is available in the net:
D1_mini_Examples
Lets Establish a Wi-Fi connection
https://tttapa.github.io/ESP8266/Chap07%20-%20Wi-Fi%20Connections.html
My first code let me control onboard LED using html command within local network:
The situation could be monitored using terminal:
Then I decided to combine my both achievements DPS310 and WEMOS
Thingspeak
I tried to open private Thingspeak channel with an ESP8266 and fill with sensor data.
I found Thingspeak / 8266 library for Arduino. It comes with convenient examples.
Some tests with generation of dummy data
And final version with data from the DPS310 board
The pressure
The last stage
Comparison of readouts from Infineons DPS310 and TE-Connectivity’s MS5637 digital barometric pressure sensor
All readouts on the single chart
DPS 310 pressure diagram:
And the comparison of both sensors
Despite the difference (parallel shift only) , accordance of above charts is impressive!
Additional chart: comparison of temperatures:
Unfortunately DPS310 gives integers only, without decimals.
According to available papers and articles,DPS310 is recommended thanks to guaranteeing high precision and excellent stability across temperature changes.
My short test programm confirms that. The sensor is immune for various environment conditions as temperature.
I’m also satisfied with the speed of readouts as well as general stability of DPS310.
Like previously discussed DPS310, TLV493D is supported with graceful package of arduino library and examples.
Appropriate links are on the official Infineon’s datasheets.
Moreover the TLV493D simulation project is available.
Results of simulation
HEADER
Application Type: Angle Sensor
Magnet Type: diametral disk
Magnetization M0 [A/m]: 1074295.866
Remanence [T]: 1.350
Magnet Radius [m]: 0.0020
Magnet Height [m]: 0.0100
Air-Gap [m]: 0.0010
Magnet Displacement w.r.t. rotation-axis, Epsilon [m]: 0.0000
Magnet X-Tilt, alpha [deg]: 0.00
Magnet Y-Tilt, beta [deg]: 0.00
Magnet Z-Rotation, gamma [deg]: 0.00
Sensor Displacement w.r.t. rotation-axis, Delta [m]: 0.0000
Sensor X-Tilt [deg]: 0.00
Sensor Y-Tilt [deg]: 0.00
Sensor Z-Rotation [deg]: 0.00
DATA
rot angle [deg] Bx [T] By [T] Bz [T] Measured Angle ATAN2(Bx,By) [deg] Angle Error [deg] Polarcoords: Btheta [deg] Polarcoords: Brho [T] Polarcoords: Bz [T]
0 -0.148401 -0.000000 0.000000 360.00 0.00 180.00 0.148401 0.000000
1 -0.148379 0.002590 0.000000 1.00 -0.00 179.00 0.148401 0.000000
2 -0.148311 0.005179 0.000000 2.00 -0.00 178.00 0.148401 0.000000
3 -0.148198 0.007767 0.000000 3.00 -0.00 177.00 0.148401
After simulations and theoretical tests we can go to more practical exercises:
https://github.com/Infineon/TLV493D-A1B6-3DMagnetic-Sensor
And first observations:
The readouts are horrific unstable!
Spherical
Fluctuations are visible on video:
I did not give up and I kept going despite the bad results.
Together with “ino” example for arduino and ready to use libraries, dedicated for our sensor, I found examples of codes for “PROCESSING”
Most of these examples use SphericalFast.ino
Example screen of working “processing” project - below
I dreamed of space mission:
But I got lost in space…
Then I realized, that earth magnetic field is weak to activate the sensor - in different way, It isn’t sensitive enough to work as geomagnetic sensor.
We need the magnet to conduct successful experiments As follow:
Infineon prepared one more tool for quick evaluation of the sensor:
https://www.infineon.com/cms/en/product/promopages/sensors-2go/?redirId=56270#3d-magnetic-sensor-2go
It Downloads the firmware into xms2GO
Printables - During my experiments I realized, that something new appeared on GIT:
The TLx493D 3D magnetic sensor family has additional tools which can be directly mounted on top of the evaluation boards.
The 3D print data of the joystick can be found in the folder printables/joystick.
Also, The extended “GET START BOX IOT” kit consist of these convenient tools:
OTHER:
I plan to connect that board with Raspberry
So far I have only recognized the I2c line… to be continued...
Analogously to previous boards - I got ready to use arduino library as well as examples
https://github.com/Infineon/TLI4970-D050T4-Current-Sensor
https://github.com/Infineon/TLI4970-D050T4-Current-Sensor/releases
https://github.com/Infineon/TLI4970-D050T4-Current-Sensor/blob/master/src/Tli4970.h
Results of the simple code:
Max = 0.1 min = -0.11
Not bad!
Infineons Shield2Go boards guarantee precise and easy operation for designer.
Multiplicity of examples allow for easy start with the set of sensors.
My research confirmed the flexibility of DAVE programmer suite although, use of simple Arduino IDE is definitely more convenient and - specially with small projects - simpler.
One of the important and widely advertised feature of kit is availability of solderless connectors. I checked and confirm benefits. As far reliability and immunity of that solution looks irreproachable.
As quoted at the beginning:
“My IoT adapters are gateways to external hardware solutions like Arduino and Raspberry PI” -> hard to deny, nevertheless I had difficulties with employment of our boards to work with Raspberry
(My fault I agree but also support is unavailable yet). Another issue concerns voltage levels
For this reason I did’t experiment with arduino boards using these sensors!
Product Performed to Expectations
Specifications were sufficient to design with
Demo Software was of good quality
Product was easy to use
Support was available
The price to performance ratio was good
Infineon papers and website - Infineon - https://www.infineon.com/cms/en/
Arduino papers and website - Arduino - https://www.arduino.cc/
WEMOS website - WEMOS.CC - https://www.wemos.cc/
Thank you again for selecting me as the roadtester.
Marek
Top Comments
Nice work with the Processing 3 tool there. I am going to give it a try as well.
Cheers
Well done man!!
I also tried to connect 3D megnetic sensor with Raspberrypi and wrote some Python script to communicate over I2C, but there was no much success. I will also try WEMOS thinkspeak example…