tinywetter/README.md

30 lines
1.2 KiB
Markdown
Raw Permalink Normal View History

2019-04-01 22:31:45 +02:00
# TinyWetter
![tinywetter](tinywetter.jpg)
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.
[I2C-Tiny-USB]: https://github.com/harbaum/I2C-Tiny-USB