The Project board is for sharing projects based on Silicon Labs' component with other community members. View Projects Guidelines ›

Projects

    Publish
     
      • Low-power temperature/humidity meters

        sergeilb | 08/237/2015 | 03:28 AM

        The designs described here are intended for in-doors usage. They display air temperature (in °C) and relative humidity alternating on the display with a 2-seconds period. The LCD driver is implemented in software. The first design can be powered from a single AAA battery due to the DC/DC converter built into the μC, as well as from a 3V battery. The average current consumption from the batteries is about 3 μA and 1.3 μA, respectively.

         

        photo3.jpg   photo2.jpg

         

        If only one AAA battery is used to power the device, its voltage should be be boosted up to at least 2.7V to meet the needs of the temperature sensor and the LCD. Most of the time the μC remains in the deep sleep mode where its current consumption is about 0.7 μA. It exits this mode only when it is time to update the LCD waveform. This happens every 35 msec, which is sufficient for the LCD flickering to be not noticeable. During the sleep time the DC/DC converter is left floating and the circuit is powered from the charge accumulated on C3, which is DC/DC converter output capacitor. The voltage drop on C3 during the LCD updating period does not exceed 0.2V. Upon waking-up the DC/DC converter activates and compensates the charge drop of C3. The converter runs at 2.4 MHz frequency and starts up if the battery voltage is 0.9V or higher. The number of wake-ups is counted and as it reaches 60, a new measurement is performed.

         

        schema1.png

         

        The temperature is measured by the Microchip TC1046 sensor, whose output voltage depends on the die temperature as follows: V(mV) = 6.25·T(°C) + 424. Since for the ADC code A with reference voltage 1.65V it holds V = A·1650 / 1024, we get the following formula: T = ((264·A / 256) - 271.36) / 4. The formula is implemented in the μC as follows:

        T = (A + (A >> 5) - 269) >> 2

        The temperature sensor is only powered up during the measurement and is off otherwise. This significantly reduces its power consumption.

         

        Measuring the humidity is done by the Honeywell HIH-1000 sensor. The sensor is a part of a relaxation oscillator based on a comparator which is built into the μC. The feedback resistors are also present in the μC and turned on by software. The oscillator period is measured by using the on-board 20 MHz system oscillator and Timer2 configured for the capture mode. The formula for computing the relative humidity is presented below. It includes thermal compensation of the sensor capacitance according to the datasheet.

        H(%) = (((N - NNOM)·65 + (T - TNOM)·34 + 256) >> 9) + HNOM

        Here N and T(°C) are the measured Timer2 counter value and the ambient air temperature, and NNOM is Timer2 value at humidity HNOM and temperature TNOM obtained at calibration as described below.

         

        Needless to say that it makes no sense to perform measurements and drive the LCD in darkness. For further energy savings the device is turned off as the ambient light intensity drops below a certain threshold. The ambient light intensity is monitored by the photo-diode VD1, that generates about 0.4V at sun light. This makes the light sensing circuit very sensitive. The photo-diode is connected to the built-in comparator consuming about 0.4 μA when active. The comparator is turned on every 2 sec in darkness for checking the light conditions. Since checking the comparator status takes just a dozen of microseconds, the average current consumption in darkness drops down to 0.35 μA. During the day the lighting conditions are checked after every 256 measurements, i.e. every 8.5 minutes. This option can be disabled by uncommenting line #83 in the supplied source code humi5.asm. In this case the photo-diode VD1 and resistor R1 are not needed, however make sure to short cut the R1 pads on the PCB. The battery holder, humidity sensor and one wire jumper are mounted on its back side. The PCB is placed between the front and back panels which are cut of a 2 mm plexiglass. C2 should be in 0603 package, all the other capacitors and R1 in 0402 ones. Inductor L1 is TDK CPL2512TR68M.

         

        photo1.jpg    photo4.jpg

         

        The inductor and capacitor C3 are not needed if the device is powered from from a 3V battery. It could be 2xAAA or even better CR2032. This way the DC/DC converter is not used. The average power consumption in this case is about 1.3 μA.

         

        schema2.png

         

        Calibration

        One only needs to calibrate the humidity sensor. For this uncomment line #507 of the source code humi5.asm and let the device run for about 10 minutes. In this mode the LCD will show alternating values of the temperature, followed by the high-order byte of the oscillator period counted by Timer2, followed by its lower-order byte. This value should be put in line #5 of the code as N_NOM. Also, update line #4 with a humidity value measured by external reference hydrometer and update line #6 with the temperature value shown on the LCD. Finally, commend out line #507 and load the updated code into the μC.

         

        The next device is also intended for measuring the air temperature (in °C) and relative humidity (in %) in a living room. The range of displayed values is 0 - 50°C and 5 - 99%, respectively. The measurements alternate on the 2-digit display with a period of 1.5 sec. The temperature values are indicated by the degree symbol at the top right corner of display.

         

        photo3.jpg     photo4.jpg

         

        The device is powered by a solar cell D1 manufactured by IXYS that generates 4.3V DC at full sun. The cell is connected to the charge controller of a lithium rechargeable battery which is integrated into IC2. This IC, manufactured by Cymbet, takes care of automatic harvesting of the solar energy and turns the charger on and off depending on the light conditions. The battery capacity is 50 μAh and it can be fully charged in about 40 minutes. The load draws below 1 μA in average, which allows the device to operate from the battery for more than a day till the next recharge. Actually, the real operating time is much longer, because the voltage generated by the solar cell is periodically monitored by the μC and the device shuts down when it is dark. This way the average power consumption falls down in a factor of 3. The device automatically turns on again as the ambient light level becomes sufficient for reading the display.

         

        schema.png

        The battery's nominal voltage is 3 - 3.8V is stabilized at the level of 2.8V by the voltage regulator IC1 with a quiescent current of 500 nA. This way a constant LCD contract is achieved which does not depend on the battery discharge level. Transistors VT1 and VT2 are used by programming the μC. In this mode the μC draws about 3.8 mA, which the battery cannot deliver. The external 3.3V voltage from the programmer (VDD pin of in-circuit programming connector SV1) closes both transistors and prevents IC1 and IC2 from damaging. After unplugging the programmer the transistors open again and the device automatically switches to powering from the battery. Low channel resistance of VT1 and VT2 provides virtually zero voltage drop on them which increases the overall system efficiency.

         

        The temperature is sensed by Microchip TC1047A analog sensor IC4 and digitized by built-in to the μC ADC. The sensor is only powered for the duration of the temperature conversion. For measuring the humidity we use Honeywell capacitance sensor C6 similarly to the previous design. The relaxation oscillator also turns on only for the time of counting its frequency by the μC built-in timer. The timer ic clocked by the μC system clock at 20 MHz, so that the entire processing of both measurement takes just a few tens of microseconds. At the remaining time the μC is put into a deep sleep mode with working SmaRTClock 16 KHz timer that provides periodic wake-ups of the system. In the sleep mode the μC draws just about 0.4 μA.

         

        The Varitronix LCD is driven directly by the μC. Its refreshing period is about 17 msec. Therefore, the μC wakes up from the deep sleep mode every 17 msec and most of the time just inverts the logic level of its outputs connected to the LCD. As experiments show, the LCD is pretty slow and practically no flickering is noticeable even at so low refresh rate. The LCD provides a reasonable contract by being driven at 2.8V.

         

        The μC code for all designs is written in assembly language and developed in Silicon Labs IDE equipped with Keil tools. Source codes and PCB files for Eagle are attached.

         

         

      • Low-power temperature/humidity meters

        sergeilb | 08/237/2015 | 03:28 AM

        The designs described here are intended for in-doors usage. They display air temperature (in °C) and relative humidity alternating on the display with a 2-seconds period. The LCD driver is implemented in software. The first design can be powered from a single AAA battery due to the DC/DC converter built into the μC, as well as from a 3V battery. The average current consumption from the batteries is about 3 μA and 1.3 μA, respectively.

         

        photo3.jpg   photo2.jpg

         

        If only one AAA battery is used to power the device, its voltage should be be boosted up to at least 2.7V to meet the needs of the temperature sensor and the LCD. Most of the time the μC remains in the deep sleep mode where its current consumption is about 0.7 μA. It exits this mode only when it is time to update the LCD waveform. This happens every 35 msec, which is sufficient for the LCD flickering to be not noticeable. During the sleep time the DC/DC converter is left floating and the circuit is powered from the charge accumulated on C3, which is DC/DC converter output capacitor. The voltage drop on C3 during the LCD updating period does not exceed 0.2V. Upon waking-up the DC/DC converter activates and compensates the charge drop of C3. The converter runs at 2.4 MHz frequency and starts up if the battery voltage is 0.9V or higher. The number of wake-ups is counted and as it reaches 60, a new measurement is performed.

         

        schema1.png

         

        The temperature is measured by the Microchip TC1046 sensor, whose output voltage depends on the die temperature as follows: V(mV) = 6.25·T(°C) + 424. Since for the ADC code A with reference voltage 1.65V it holds V = A·1650 / 1024, we get the following formula: T = ((264·A / 256) - 271.36) / 4. The formula is implemented in the μC as follows:

        T = (A + (A >> 5) - 269) >> 2

        The temperature sensor is only powered up during the measurement and is off otherwise. This significantly reduces its power consumption.

         

        Measuring the humidity is done by the Honeywell HIH-1000 sensor. The sensor is a part of a relaxation oscillator based on a comparator which is built into the μC. The feedback resistors are also present in the μC and turned on by software. The oscillator period is measured by using the on-board 20 MHz system oscillator and Timer2 configured for the capture mode. The formula for computing the relative humidity is presented below. It includes thermal compensation of the sensor capacitance according to the datasheet.

        H(%) = (((N - NNOM)·65 + (T - TNOM)·34 + 256) >> 9) + HNOM

        Here N and T(°C) are the measured Timer2 counter value and the ambient air temperature, and NNOM is Timer2 value at humidity HNOM and temperature TNOM obtained at calibration as described below.

         

        Needless to say that it makes no sense to perform measurements and drive the LCD in darkness. For further energy savings the device is turned off as the ambient light intensity drops below a certain threshold. The ambient light intensity is monitored by the photo-diode VD1, that generates about 0.4V at sun light. This makes the light sensing circuit very sensitive. The photo-diode is connected to the built-in comparator consuming about 0.4 μA when active. The comparator is turned on every 2 sec in darkness for checking the light conditions. Since checking the comparator status takes just a dozen of microseconds, the average current consumption in darkness drops down to 0.35 μA. During the day the lighting conditions are checked after every 256 measurements, i.e. every 8.5 minutes. This option can be disabled by uncommenting line #83 in the supplied source code humi5.asm. In this case the photo-diode VD1 and resistor R1 are not needed, however make sure to short cut the R1 pads on the PCB. The battery holder, humidity sensor and one wire jumper are mounted on its back side. The PCB is placed between the front and back panels which are cut of a 2 mm plexiglass. C2 should be in 0603 package, all the other capacitors and R1 in 0402 ones. Inductor L1 is TDK CPL2512TR68M.

         

        photo1.jpg    photo4.jpg

         

        The inductor and capacitor C3 are not needed if the device is powered from from a 3V battery. It could be 2xAAA or even better CR2032. This way the DC/DC converter is not used. The average power consumption in this case is about 1.3 μA.

         

        schema2.png

         

        Calibration

        One only needs to calibrate the humidity sensor. For this uncomment line #507 of the source code humi5.asm and let the device run for about 10 minutes. In this mode the LCD will show alternating values of the temperature, followed by the high-order byte of the oscillator period counted by Timer2, followed by its lower-order byte. This value should be put in line #5 of the code as N_NOM. Also, update line #4 with a humidity value measured by external reference hydrometer and update line #6 with the temperature value shown on the LCD. Finally, commend out line #507 and load the updated code into the μC.

         

        The next device is also intended for measuring the air temperature (in °C) and relative humidity (in %) in a living room. The range of displayed values is 0 - 50°C and 5 - 99%, respectively. The measurements alternate on the 2-digit display with a period of 1.5 sec. The temperature values are indicated by the degree symbol at the top right corner of display.

         

        photo3.jpg     photo4.jpg

         

        The device is powered by a solar cell D1 manufactured by IXYS that generates 4.3V DC at full sun. The cell is connected to the charge controller of a lithium rechargeable battery which is integrated into IC2. This IC, manufactured by Cymbet, takes care of automatic harvesting of the solar energy and turns the charger on and off depending on the light conditions. The battery capacity is 50 μAh and it can be fully charged in about 40 minutes. The load draws below 1 μA in average, which allows the device to operate from the battery for more than a day till the next recharge. Actually, the real operating time is much longer, because the voltage generated by the solar cell is periodically monitored by the μC and the device shuts down when it is dark. This way the average power consumption falls down in a factor of 3. The device automatically turns on again as the ambient light level becomes sufficient for reading the display.

         

        schema.png

        The battery's nominal voltage is 3 - 3.8V is stabilized at the level of 2.8V by the voltage regulator IC1 with a quiescent current of 500 nA. This way a constant LCD contract is achieved which does not depend on the battery discharge level. Transistors VT1 and VT2 are used by programming the μC. In this mode the μC draws about 3.8 mA, which the battery cannot deliver. The external 3.3V voltage from the programmer (VDD pin of in-circuit programming connector SV1) closes both transistors and prevents IC1 and IC2 from damaging. After unplugging the programmer the transistors open again and the device automatically switches to powering from the battery. Low channel resistance of VT1 and VT2 provides virtually zero voltage drop on them which increases the overall system efficiency.

         

        The temperature is sensed by Microchip TC1047A analog sensor IC4 and digitized by built-in to the μC ADC. The sensor is only powered for the duration of the temperature conversion. For measuring the humidity we use Honeywell capacitance sensor C6 similarly to the previous design. The relaxation oscillator also turns on only for the time of counting its frequency by the μC built-in timer. The timer ic clocked by the μC system clock at 20 MHz, so that the entire processing of both measurement takes just a few tens of microseconds. At the remaining time the μC is put into a deep sleep mode with working SmaRTClock 16 KHz timer that provides periodic wake-ups of the system. In the sleep mode the μC draws just about 0.4 μA.

         

        The Varitronix LCD is driven directly by the μC. Its refreshing period is about 17 msec. Therefore, the μC wakes up from the deep sleep mode every 17 msec and most of the time just inverts the logic level of its outputs connected to the LCD. As experiments show, the LCD is pretty slow and practically no flickering is noticeable even at so low refresh rate. The LCD provides a reasonable contract by being driven at 2.8V.

         

        The μC code for all designs is written in assembly language and developed in Silicon Labs IDE equipped with Keil tools. Source codes and PCB files for Eagle are attached.

         

         

      • Weather station with wireless temperature and humidity sensor

        sergeilb | 08/236/2015 | 10:55 PM

        The device is intended for displaying the outdoor air temperature and relative humidity as well as atmospheric pressure. The values are alternating on a graphics LCD with a period of 5 seconds. Monitoring the temperature and humidity is accomplished by an outdoor module equipped with a wireless transmitter, whereas the atmospheric pressure is measured at the receiver end and displayed in mmHg units. The pressure readings are also displayed on a histogram, which scrolls from right to left and is updated every 15 minutes. This way the histogram shows the pressure history for the past 25 hours. The device also monitors the transmitter battery, whose status is displayed between the temperature and humidity readings.

         

        rx1b.jpg  rx2b.jpg

         

        I needed a device with the functionality specified above because we already have several indoor temperature and humidity meters placed in every room. The display uses large and bold fonts of 64 pixels high, which can be easily read from a decent distance under leaving room light conditions even without LCD background lights.

         

        Transmitter module

        The transmitter is built around the Si4060 chip IC1. Its power amplifier is configured to operate in Class E with output power of +10 dBm (10 mWt). This is about twice less than maximum for that model but is more than sufficient for a reliable communication within at least 200m radius. In this mode the transmitter draws about 19 mA of current. However, the transmission is performed just once in a minute at 1.2 KBd rate, so the average current consumption is below 10 µA.

         

        schema_TX.png

         

        Transmissions are performed at 903 MHz frequency by using the 2-FSK modulation with ±5.15 KHz frequency deviation. The information part of the transmitting package consists of 5 bytes, including the package length, transmitter ID, temperature value (in °C), humidity value, and the battery voltage rounded to two decimal digits. The latter is measured by the transmitter’s ADC once every 10 minutes. The transmitter autocompletes the package with a 2-bytes preamble, 2-bytes synch word, and 2-bytes CRC based on the CRC-16 polynomial.

         

        The transmitter works with Linx compact whip-antenna ANT-916-JJB-RA and is controlled by a µC IC2 via the SPI interface. The micro is Freescale Kinetis series ARM Cortex-M0+ model which is designed for low power consumption. In my application it works in VLPR/VLPS (Very Low Power Run/Sleep) modes and is clocked from internal RC-oscillator at 4 MHz frequency. Wake-up from a deep sleep mode once in a minute is provided by the low-power timer LPTMR0 clocked from a watch crystal Q2.

         

        tx1.jpg  tx2.jpg

         

        The temperature and humidity sensor IC3 is assembled on a small separate board, which is mounted on 4 wires at about 1cm height over the main board. This minimizes heating of the sensor via the main board and enclosure. The wires are also used for delivering power and data. The circuit is powered from 3.6V/1200mAh Xeno XL-050F lithium battery, which is designed to operate within -55 to +85 °C temperature range. The horizontal shield right above the battery helps to protect it from moisture sneaking through the ventilation holes in the enclosure. By the same reason the board is covered with acrylic lacquer after soldering the components.

         

        The transmitter enclosure (Radioshack 3”×2”×1” project box) is placed into a 4” PVC pipe of length 1’. The pipe is mounted in a shadow behind our garage and has several holes at the bottom for draining the rain water.

         

        tube1.jpg 

         

        Receiver module

        The receiver module is built around the Si4362 chip IC1 and uses the same antenna as the transmitter. Successful reception of a new package is signaled by the radio with a falling edge signal at its IRQ pin. The micro IC2 loads the received package via SPI and sends the data to display via I2C. Besides, every 15 minutes it requests the pressure sensor IC3 to produce a new conversion. In active mode the micro is clocked from its internal RC-oscillator with FLL at 24 MHz frequency.

         

        schema_RX.png

         

        The graphics COG LCD has 240×64 pixels and is mounted on female socket at about 8 mm height over the main board. The LCD is configured to work with the I2C interface and is clocked by the micro’s I2C1 hardware module at 1.2 MHz, which makes the process of loading new data to it practically unnoticeable for eyes. The pressure sensor is controlled by the I2C0 hardware module at 150 KHz frequency. I used two different I2C channels because the pressure sensor can be only clocked at 400 KHz max. It does not always perform properly when been connected to a fast I2C channel used for the LCD communication. It should be mentioned that both LCD and pressure sensor also support the SPI interface and could be placed on the same SPI channel as the receiver. However, I decided to use different interfaces, hence package pins, in order to simplify the PCB layout.

         

        The receiver is powered from a 950 mAh lithium rechargeable battery, which is mounted under the LCD and recharged by IC5 from external mains adapter. The charge current is limited with 100 mA and the charging process is indicated by the LED. The entire circuit draws about 14mA when the radio is active and 0.7mA otherwise. The radio is turned on right before the expected package transmission shuts down in pauses. This way the unit can work from the on-board battery for about 2 weeks non-stop.

         

        The firmware is written in assembly language and developed in Keil µVision Studio, version 5.12. The transmitter and receiver code lengths are about 2Kb and 7.6Kb, respectively, so the µC models with less amount of program memory can be used. The board is etched from a 1/32" copper clad. Some unrouted traces are implemented as wire jumpers. The other side of the boards is used as ground. Almost all passive components are of size is 0402. Firmware source files and PCB files for Eagle are attached.

      • Ultrasonic Obstacle Detector

        FilipSavic | 08/229/2015 | 12:53 PM

        The idea was quite simple and straightforward - to create something new from an otherwise common idea of sensors being used to detect obstacles and apply human computer interaction to enable basic human echo location.

         

        Ultrasonic Obstacle Detector.png

         

        medium-2.png

         

        Project Members:

        Daniel, Filip

         

        Project description:

        The concept of the project was simple – to perceive by hearing. It was easy to put together since we only had to connect an ultrasonic sensor to the Giant Gecko and program it. Upon nearing an obstacle, the wearer was able to perceive the obstacle and avoid it. Depending on how loud or soft the sound was, the approximate distance from the obstacle could also be gauged.

         

        The device produces a low frequency tone to inform the user about the environment. The loudness of this tone falls linearly as the distance to an obstacle increases. The advantage of this interface is that the user can receive a continuous signal thus avoiding some sudden unexpected surprises. Since only one sensor is used, the user must move the head sideways to scan the terrain.

         

        The device had to be powered by a laptop, since batteries could not be used. The reason for this was the high energy consumption of the sensor and the board. However, this can easily be taken care of with optimization of power consumption which would allow battery usage.

         

        Results: The testing of the device yielded reasonably successful results. The user could detected how far an obstacle was and avoid it from a distance of up to 2 meters.

         

        Drawbacks: The main drawback of this device was that everything lower than the eye level was not easily detectable which includes drops in the ground level. Thus, the surface would have to be even and flat – unlikely outside a lab area. But it is important to keep in mind that most of the drawbacks were due to economic constraints. Ideally, we would have liked to use 8 sensors and add a camera too; but there is only so much that can be done with ultrasonic sensors.

         

        This is not the first time such a concept has been explored, but we wanted to show how simple it is to make cool stuff out of everyday objects around you. This rudimentary contraption is good enough to help avoid a collision with a wall or with a stationary person at the very least. A fun idea could be to use it for games if not for serious aids.

         

        Materials used:

        • EFM32 Giant Gecko DK3750
        • PING ultrasonic transceiver (ultransonic distance sensor)
        • Headphones
        • Dark glasses
        • Duct tape
        • Wires

        stk.png

         

        Source files:

        • Attached 

      • Weather Station Mesh-Network

        michael_k | 08/224/2015 | 10:21 PM

        Abstract

        The aim of this project is to develop a wireless sensor network for a winery which consists of several weather stations. Each single station should be placed at a vineyard and should measure the following data; wind speed, temperature, air humidity, soil humidity, rainfall and GPS-data. Furthermore the measuring stations should be autarkical through a solar panel. The provided data should help to increase the crop of the winegrowing. To show all our data a new server and a new homepage should be realized. On the website the measured values should be displayed graphically and it should be possible to add and administer the sensors. In addition the server should send an alarm if the weather data passes a critical value.

         

         

        BSB_en_all.jpg

        The following post only contains the implementation of the weather station and doesn't include the website and the database.

         

        Weather station

        BSB_en.jpg

        The weather station consists of four main parts. As you can see in the block diagram these are the power supply, the EFM32 DIL Adapter, sensors and the radio communication.

         

        Powersupply

        To maintain a 24/7 operation, I used a Li-Ion battery (1450mAh). The Battery can be charged using a solar cell or by a USB adapter. The USB option was used for testing and is also needed to ensure a fully charged battery, when you place the weather station outside. For a steady supply voltage, a LDO stabilises the battery voltage to 3.3V. In addition to the LDO, a comparator tracks the battery voltage to prevent it form exhaustive discharge.

        power_supply.jpg

        EFM32 DIL Adapter PCB

        The EFM32 DIL Adapter is a little PCB which includes all the necessary components to start prototyping on a regular breadboard using the EFM32 Tiny Gecko (EFM32TG822). The board is equipped with the necessary decoupling (AN0002), two external oscillators, a reset button, debug interface (ARM Cortex Debug Connector and proprietary connector) and a status LED to check the supply voltage (enabled by jumper). Furthermore it's possible to enable the pre-programmed UART-Bootloader using the “UART Boot” jumper (10k pull-up on SWCLK). The two 15-pin I/O Headers are placed to fit in every standard breadboard and IC-socket. The DIL Adapter features enough I/Os to drive two digits of a 7-segment LCD.

        During my diploma project I also wrote a simple software library, which includes most of the basic functions of the EFM32 Tiny Gecko.

         

        EFM32_DIL_SCH.jpg

        pinout_diagram_v7.jpg

        Radio communication

        This part consists of a ZigBee (XBee S2C + ext. antenna) and a GPS (UP500) module. ZigBee is used to send the data to a base station and to make it possible to build a mesh-network between the several weather stations. Thanks to the mesh-network, it's possible to enhance the range.

        The GPS module is used to send the current position of the particular station to the server, which automatically updates the location on a map. The location-update is done by pressing a push-button. Due to the high current consumption of the GPS module, it is only enabled when the push-button is pressed and disabled immediately after the correct GPS data is available. So this procedure is only needed, when a weather station is relocated.

         

        Sensors

        The final prototype is able to measure the temperature, rel. humidity, rainfall and the battery voltage.

         

        I used the SHT25 sensor from Sensirion for temperature and rel. humidity measurement. It has a I2C interface which is very similar to the Si70xx sensors.

        T_RH_Sensor.jpg

         

        To measure the rainfall, I used a reed relais, which detects the movement of the magnet. So every time the magnet passes the relais, a GPIO interrupt is generated, which means that is has rained 0.05 l/m^2.

        Regensensor1_edit.jpg

         

        Final Prototype

         

        Schematic

        weatherstation_sch.png

        Prototype

        Prototyp.jpg

        Einbau_Platine_en.jpg

         

        Current Measurement

        strommessung.png

        The weather station draws only 20µA in sleep mode. At this current measurement, the wake-up period is 5s to get a nicer screenshot. However the true period is 10 minutes long to get a lower average current consumption. 

         

         

        runtime.PNG

         

         

        Base station

        I used a Raspberry Pi B+ and a XBee S2 module to build the base station. 

        basestation.jpg

         

         

        Indoor Units

        I'm currently working on indoor units, which are receiving the outdoor data via broadcast. They should display the latest outdoor temperature as well as the current indoor temperature using a Si7021 (or a similar one) sensor. To display the data I want to use a 7-segment LCD and the Tiny Gecko's LCD driver. The XBee will operate as an End Device and periodically wake up from sleep mode to get new data. Every device will first be powered by a coin cell. However I want to implement a small energy harvesting system in the future.

         

        Video: https://www.youtube.com/watch?v=T1-Y7GvLPDE

        Website: wetter.htl-hl.ac.at 

         

        Regards,

        Michael

      • Soft Propeller DIP40 Module with Si1143

        antti | 08/218/2015 | 02:18 PM

        Format DIP40

        Xilinx ZYNQ-7000 SoC

        Sensor: Si1143

        DIP40-ZYNQ-Si1143.jpg

        Si1143 Sensor is clearly visible. There are 2 IR LED and one Red LED connected to the Si1143.

        https://hackaday.io/project/6786-soft-propeller

         

        More info and documentation is coming, and Design sources will also be available.