VEML6075
Vishay VEML6075 UVA / UVB light sensor over I²C.
Live catalog
Prefer labwired_describe with the catalog id over guessing pins or addresses.
Status at a glance
| Aspect | Status |
|---|---|
| Catalog id | veml6075 |
| Bus | I²C |
| Address | 0x10 (fixed) |
| Datasheet | Vishay VEML6075 Document 84304 Rev. 1.2: Table 1 command codes, Table 2 UV_CONF, Table 5, basic characteristics |
| Source | configs/devices/veml6075.yaml (declarative, no Rust model) |
| Tier | smoke-proven (register-level tests: crates/core/tests/parts_batch5.rs) |
Pins / attachment
| Pin / net | Role |
|---|---|
| SDA / SCL | I²C |
| VDD/GND | Power (digital twin) |
Support matrix
| Behavior | Status | Notes |
|---|---|---|
| ID 0x0026, UV_CONF 0x0000 | ✅ | |
| UVA 0.93 / UVB 2.1 counts per µW/cm² at 50 ms | ✅ | Scaled by UV_IT (×1 … ×16) |
| UVCOMP1 / UVCOMP2 | ✅ | Stimulus in counts at 50 ms |
| UV_TRIG self-clear, reserved bits fixed | ✅ | |
| HD, shutdown freeze, active-force timing | ❌ |
Stimulus
Host inputs: uva, uvb (µW/cm²), uv_comp1, uv_comp2 (counts).
How to run
- Place the part and an MCU in Playground, or add it to a system YAML:
- Agent:
labwired_list→labwired_describe id=veml6075→ wire →labwired_validate→labwired_run/labwired_verify. - Register-level smoke:
cargo test -p labwired-core --test parts_batch5— ID, UV_CONF and the four channels at default stimulus;veml6075_counts_follow_integration_time_and_stimuluscovers the integration time, write mask and read-only ID. The same file's negative control proves the check fails against a stand-in that answers only 0x00 or only 0xFF.
Limitations
- SD does not freeze the outputs; HD is stored only.
See the YAML header for the full datasheet trace and every named approximation.