30 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
# 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.
 | 
						|
 | 
						|
[I2C-Tiny-USB]: https://github.com/harbaum/I2C-Tiny-USB
 | 
						|
 |