30 lines
1.2 KiB
Markdown
30 lines
1.2 KiB
Markdown
# 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
|
|
|