board | ||
driver | ||
LICENSE | ||
README.md | ||
tinywetter.jpg |
TinyWetter
TinyWetter is a small indoor weather station that provides info about temperature, relative humidity and atmospheric pressure by using the bmp280 and si7021 sensors. It uses a Digispark with the I2C-Tiny-USB library to make the sensors available as i2c devices under linux (i.a.) over USB.
board
The board is designed in KiCad and uses a single sided pcb layout that mostly functions as a cross connect for the daughter boards with the sensors and the Digispark. The LED is used as a cheap "voltage regulator" to provide 3.3V for the sensors from the 5V of the USB connection. Be careful to not use any funtions that require a large current like the heater element of the si7021, because that would likely kill the LED.
driver
The driver is written in rust and can be compiled using cargo build
. It
uses the i2c-dev kernel interface (modprobe i2c-dev
to load the module)
to access the i2c devices. Given the device path /dev/ic2-##
and the
current altitude, it reads the current values from the sensors and outputs
the temperature, the relative humidity and the pressure at sea level. Use
-v
to see more details.