REVIEW: EFM32ZG STK + Weatherstation Expansion Board

by <a href="http://community.silabs.com/t5/Welcome-and-Announcements/Community-Ranking-System-and-Recognition-Program/m-p/140490#U140490"><font color="#000000"><font size="2">Hero</font></font> </a> michael_k ‎08-26-2014 03:44 AM - edited ‎09-03-2014 04:16 AM

1. Expansion Board Components

The two main parts of the board are the Si7013(U2) which is a Humidity/Temperature Sensor and the Si1145(U4) which is a Proximity/UV/Ambient Light Sensor. Both of them have got a I²C interface. Furthermore there are two other chips on the board. The first one is a boost converter(U6) which boost the 3.3V up to 5V. This higher voltage is needed for the three IR – LEDs(DS1-DS3). There are also 5V available from the expansion connector but they are provided over USB and when your application is powered from a battery, there are only 3V so you need a step up converter. The second IC is a serial EEPROM(U3). There is even a footprint for a further chip on the board but this one isn't assembled. Furthermore there are three connectors on the expansion board. Two of them are the 20 – pin expansion connectors(JP3,JP4) and the third one is ribbon connector(J6) for other I²C sensors. Moreover there are two pins “TP1” and “TP3” for connecting an external thermistor.

 

2. Getting Started

  1. connect the expansion board with the Zero Gecko STK

    make sure that the power switch of the STK is on the right position (DBG)

  2. connect the Starter Kit with your computer via USB

  3. start the Simplicity Studio

    or download Simplicity Studio from SiLabs website http://www.silabs.com/products/mcu/Pages/simplicity-studio.aspx

    and install it

  4. select the correct MCU (EFM32ZG222F32)

    you don't have to type it in, only click on “Detect Connected Device” and select the STK and press “OK”

  5. open the tool “Demos” and select “STK3200 weatherstation”

  6. choose if you want to Run the demo under Energy Profiler or not.

  7. Press “Start”

  8. the Simplicity Studio will then flash the demo program to the MCU

  9. If you ran the demo under Energy Profiler, you are now able to analyse the power consumption of this application. Unfortunately the code correlation does not work with the Zero Gecko STK, because the ARM Cortex – M0+ does not support it.

 

3. Weatherstation Demo

To start the application you have to follow the instruction on the LCD. You can press PB1 or hover your hand over the sensor board. In this mode, the power consumption of the application is much less than in active mode (~130µA). If you started the demo by one of these two actions, you are now able to switch between three windows: Temperature, Humidity and UV Index.

You have to move your hand from left to right or from right to left over the sensor board. It's also possible to use PB0 to switch between the windows. You can also switch the unit in the Temperature window by swiping down. When the application is running, the current consumption is about 3.6 mA.

 

weatherstation_current_all_AEM.png

 

If you don't move your hand over the sensor board for a while, the demo will go into sleep mode to save energy. To exit this mode you only have to do the same as before. It's also possible to power the demo with a CR2032 coin cell. The program will even tell you if the voltage of the battery is too low.

 

weatherstation_current_sleep_AEM.PNG

 

4. EFM32TG STK + Weatherstation Expansion Board

It's even possible to use the demo board with a Tiny Gecko Starter Kit if you have one like me. I chose the Tiny Gecko because I'm using it in my diploma project and I possibly use the Si7013 and the Si1145 as well.

There is the same example available for testing the demo board with the Tiny Gecko STK. The Tiny Gecko demo even displays the level of the supply voltage by the little battery symbol on the display.

 

demo_boards-cropped.jpg

 

demo_display.jpg

 

I wrote a simple demo program for the Tiny Gecko STK, which displays the relative humidity and the temperature on the LCD.

Program flow:

  1. initialization

  2. start LETIMER interrupt

  3. enter EM2

  4. wait for interrupt

  5. when an interrupt occurs

    read out Si7013, update LCD

  6. enter EM2

The LETIMER interrupt occurs every 8 seconds. The average current consumption of one period is about 17µA.

 

efm32tg_si7013_AEM.PNG

 

The interface of the Si7013 is very similar to the SHT25 which I used before. So it was very easy to implement the sensor in my own demo application.

Furthermore I have noticed one difference. If you want to read out RH & T from the Si7013, you only have to measure RH and then you can read out T without the use of an extra measurement. Because T is also measured when you measure RH. So the I²C communication is shorter than with the SHT25.