This is an old revision of the document!

# Raspberry Pi Weather Station Board

## Private Sections

</ifauth>

I bought an Arduino, another I2C logic level shifter. Now the goal has been moved to running BME280 and the PM2.5 sensor off an Arduino. The constraint is still the 4-wire connection to the outdoor environment.

## Bill of Material

This is the current estimate of the minimum cost for constructing the whole thing. It doesn't include the cost of the enclosure and the delivery charges.

Name Cost (£)
Raspberry Pi Zero 4
DN7C3CA006 14.04
BME280 13.28
Current BOM cost (£)

## Specification

This weather station board should be able to performed the following functions:

1. Sense temperature
2. Sense humidity
3. Sense air pressure
4. Sense PM 2.5 [1]

## Choosing the component

### Raspberry Pi

I have decided that this extension board should comply with the RPi GPIO connector standard. This is because RPi 0 is the cheapest development board you can get in the market [2] . It means that I am not afraid of breaking things. I suppose Arduino is more suitable for interacting with random sensors, but it is just way too expensive.

For prototyping, I will be using RPi 0, simply because it is cheap. The actual device will use either RPi 2B ir RPi 0. RPi 2B is more powerful than RPi 0, but I am not sure if I need the extra power. It all depends on whether the RPi itself will be used for other things.

### Temperature Sensors

I have decided to use I2C temperature sensors only, below is a list of possibilities:

Name Price (£) Accuracy ($\mathbf{^{\circ}C}$) URL Other notes
HTU21D-F 13.50 0.3(typ)/0.4(max) https://shop.pimoroni.com/products/sparkfun-htu21d-humidity-sensor-breakout The quoted accuracy is only for the operating range we are expecting, also senses humidity
BME280 18.50 1 https://shop.pimoroni.com/products/adafruit-bme280-i2c-or-spi-temperature-humidity-pressure-sensor Measures humidity and pressure as well!
HIH6130 24 1 https://shop.pimoroni.com/products/sparkfun-humidity-and-temperature-sensor-breakout-hih6130 Also measures humidity, a bit expensive though
MPL115A2 10 Unknown https://shop.pimoroni.com/products/adafruit-i2c-barometric-pressure-temperature-sensor Recommended for pressure only
MPL3115A2 £9 1 @ 25 $^\circ$C https://shop.pimoroni.com/products/adafruit-mpl3115a2-i2c-barometric-pressure-altitude-temperature-sensor The accuracy is 3 $^\circ$C over the the whole operating range.
BMP180 10 2 http://thepihut.com/products/bmp180-barometric-pressure-temperature-altitude-sensor Also measures pressure.

I have listed them in the order of desirability. The top two options are both okay.

### Pressure Sensors

I have no idea how atmospheric pressure is related to the weather. It is a fun thing to measure anyway. I have decided to only use I2C sensors, for simplicity. Please note that I chose to use relative accuracy in the table. Different manufacturers use different ways to measure relative accuracy. For more details, refer to their individual datasheet.

Below is a list of possible pressure sensors:

### Humidity Sensors

The local temperature is required for calculating relative humidity. This means that humidity sensors come with temperature sensor.

### The PM2.5 Sensor and the ADC

Well, there is only one PM2.5 sensor exist on the market [3]. It is made by Sharp. So I will have to get it.

The PM2.5 sensor outputs analogue voltage, so I need an ADC. I have decided to pick one from Adafruit - since every other breakout board I bought are from Adafruit. This ensures compatibility. I have decided to go for the 16-bit 4-channel ADC [4]. The 16-bit version is about £3 more expensive than the 12-bit version. I have no idea if the extra sensitivity makes that much of a difference (probably not), however it is better to be safe than sorry. After all, it is only £3.

## Asembly and development

### DN7C3CA006

DN7C3CA006 is an analogue PM2.5 sensor, that needs to be installed in a peculiar way. The voltage source of the sensor's LED requires some sort of RC circuit. The sensor itself seems to require to drive it. I have tried pulling down the LED pin (pin 3) and read the the voltage from Vout, but it doesn't work.

### The bunch of transistors that I bought

I bought a bunch of transistors off taobao.com. Here is a summary of their datasheet:

 Transistor $V_{CBO}$ / V $V_{CEO}$ / V $V_{EBO}$ / V $I_{C}$ / mA 8050 40 25 6 1500 2W Output Amplifier of Portable Radios in Class B Push-pull Operation 9014 50 45 5 100 Pre-Amplifier, Low Level & Low Noise 9013 40 25 5 500 1W Output Amplifier of Portable Radios in Class B Push-pull Operation 9018 30 15 5 50 AM/FM Amplifier, Local Oscillator of FM/VHF Tuner 3906 -40 -40 -5.0 -200 General purpose amplifier and switching applications at collector currents of 10 µA to 100 mA 3904 60 40 6.0 200 General purpose amplifier and switching applications at collector currents of 10 µA to 100 mA 5401 160 150 5.0 600 Amplifier Transistor 9012 -40 -20 -5 -500 1W Output Amplifier of Portable Radios in Class B Push-pull Operation 1815 60 50 5 150 Audio Frequency Amplifier & High Frequency OSC 5551 180 160 6 600 General-purpose high-voltage amplifiers and gas discharge display drivers

Note that for NPN transistors, collector is at the top, emitter is at the bottom, base is at the side. To make an NPN switch, the emitter goes to the ground, the collector goes to Vcc, the Base goes to control [5].

### Table of symbols

Symbols Meaning
$V_{CEO}$ Collector-Emitter Voltage
$V_{CBO}$ Collector-Base Voltage
$V_{EBO}$ Emitter-Base Voltage
$I_C$ Collector Current Continuous

[[1]] Fine particle (PM2.5) Designations > http://www3.epa.gov/pmdesignations/faq.htm
[[2]] Raspberry Pi Foundation - Raspberry Pi Zero > https://www.raspberrypi.org/products/pi-zero/
• public/raspberry_pi_weather_station_board.1522456696.txt.gz