

Lux sensor
USB ambient light sensor based on a CH552G MCU and VEML7700 ALS, with:
- Size
- 12.5 × 15 mm
- Copper layers
- 4
- Thickness
- 1.6 mm
- Parts
- 16
- Nets
- 22
- Pads
- 66
- Tracks, vias
- 150, 20
- Pours
- 5
- Routed
- Yes
- KiCad
- KiCad 10.0 (file 20260206)
- Created
- 10 Apr 2026
- Updated
- 7 Jun 2026
Overview
Lux sensor is an open-source printed circuit board by benhoff, from the benhoff/lux-sensor repository on GitHub. It is a 4-layer board of 12.5 × 15 mm with 16 parts on 22 nets, routed with 150 tracks and 20 vias.
It is built around the CH543D and VEML7700-TT. Its parts include 6 capacitors, 4 resistors, 2 ICs, 2 connectors and 1 diode. It belongs with the sensors and measurement boards and the 8051 (CH55x, STC, AT89) boards of this library.
Main components
2CH543D
QFN-20(3x3)QFN-20(3x3) Microcontrollers (MCU/MPU/SOC) ROHSWCH (Nanjing Qinheng Microelectronics)Microcontrollers (MCU/MPU/SOC)VEML7700-TT
SMD-4P-25℃~+85℃ 120klx 16bit 2.35mm 2.5V~3.6V 3mm 6.8mm I2C Light Intensity Low power/sleep mode、Spectral correction/filtering、High dynamic range measurement、Adjustable gain control、Interrupt/event trigger、Built-in temperature compensation SMD-4P Ambient Light Sensors ROHSVishay IntertechnologyAmbient Light Sensors
README
README.mdLux Sensor
USB ambient light sensor based on a CH552G MCU and VEML7700 ALS, with:
- KiCad hardware design in the repo root
- minimal CH552 firmware that exposes readings over
USB CDC ACM - optional Linux host daemon that maps lux readings to panel brightness
Repository Layout
lux-sensor.kicad_sch,lux-sensor.kicad_pcb,lux-sensor.kicad_pro: hardware sourcefirmware/: CH552 firmware and build ruleshost/: Linux daemon and service exampleBOM.csv,BOM_PCBWay.csv,BOM_NOTES.md: purchasing and assembly notes*.pretty/,*.kicad_mod,*.kicad_sym: local footprint and symbol assetsCH552DS1.pdf,VEML7700.pdf: datasheet references used during designSCHEMATIC_REVIEW.md: electrical review notes and known design considerationsPOWER_PASSIVES_REVIEW.md: CH543D USB-A 5 V power passive recommendations
Generated fabrication exports and firmware build artifacts are intentionally ignored by Git.
Hardware
Core parts:
CH552GVEML7700-TR- USB-A plug
- local decoupling capacitors and I2C pull-ups
The board is intended to enumerate as a USB serial device and stream lines such as:
raw=2468 lux=123.40Firmware
Build requirements:
sdccmakepackihxobjcopy
Build:
make -C firmwareUpload with the factory bootloader tooling:
make -C firmware uploadHost Daemon
The Linux-side daemon reads the CDC ACM stream and writes brightness through the kernel backlight interface.
Dry run:
python3 host/luxd.py --dry-run --verboseRun against the real backlight node:
sudo python3 host/luxd.pySee firmware/README.md and host/README.md for the full firmware and daemon details.
Parts
16| Qty | Value | Footprint | References |
|---|---|---|---|
| 2 | 1uF | Capacitor_SMD:C_0603_1608Metric | C4, C5 |
| 2 | 4.7k | Resistor_SMD:R_0603_1608Metric | R1, R2 |
| 1 | 100nF | Capacitor_SMD:C_0805_2012Metric | C3 |
| 1 | 100nF | Capacitor_SMD:C_0603_1608Metric | C2 |
| 1 | 10k | Resistor_SMD:R_0603_1608Metric | R3 |
| 1 | 10u | Capacitor_SMD:C_0603_1608Metric | C1 |
| 1 | 10u | Capacitor_SMD:C_0805_2012Metric | C6 |
| 1 | 4.7k | Resistor_SMD:R_0402_1005Metric | R4 |
| 1 | CH543D | ch543:QFN-20-1EP_3x3mm_P0.4mm_EP1.7x1.7mm_CH543D | U2 |
| 1 | Conn_01x05_Pin | Connector_PinHeader_1.27mm:PinHeader_1x05_P1.27mm_Vertical | J2 |
| 1 | Jumper_2_Open | Jumper:SolderJumper-2_P1.3mm_Open_Pad1.0x1.5mm | JP1 |
| 1 | LED | LED_SMD:LED_0603_1608Metric | D1 |
| 1 | USB_A | Connector_USB:USB_A_Molex_48037-2200_Horizontal | J1 |
| 1 | VEML7700-TT | C1850416:ALS-SMD_4P-L6.8-W2.4_VEML7700-TT_TopView | U1 |
Questions
How big is the Lux sensor PCB?
It measures 12.5 × 15 mm and has 4 copper layers, 1.6 mm thick.
What parts does the Lux sensor use?
16 parts, built around the CH543D and VEML7700-TT. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the Lux sensor KiCad files?
From the benhoff/lux-sensor repository on GitHub, at the commit this page was made from: the board is lux-sensor.kicad_pcb and its schematic lux-sensor.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Lux sensor design in my own project?
Its repository states no licence, so its author keeps all rights: ask benhoff before reusing the design.
Similar boards
- 2 layers60 × 30 mm

- 4 layers81.2 × 81.2 mm

- 4 layers239.5 × 239.5 mm

Broadcast clock
espena/broadcast-clock
Digital precision studio/broadcast masterclock with WiFi configuration, acts as local NTP server with accurate GPS time sync.
440 parts28GPL-3.0 - 2 layers38.3 × 20.8 mm

- 2 layers36.8 × 90.9 mm

Bwlr3d
teapotlaboratories/bwlr3d
Teapot BWLR3D: Asset Tracker and Environmental Sensor with Solar Energy Harvesting
108 parts18MIT - 4 layers100 × 100 mm

Solar panel side Z
proveskit/solar_boards
The solar panel boards for the PROVES Kit
45 parts4CERN-OHL-W-2.0 - 4 layers62.5 × 44.5 mm

Esp32s3-plant monitor
MuffinByteLabs/esp32s3-plant-monitor
Portfolio PCB: ESP32-S3 Wi-Fi plant monitor. 4-layer KiCad 10 design, fabricated and assembled at JLCPCB — schematic, reviews and the frozen manufacturing package all readable in-browser.
70 parts3CERN-OHL-P-2.0 - 2 layers68.8 × 68.1 mm

SmartSensor
AvansETI/SmartSensor
SmartSensor: a sensor to be used as sensor and actuator within existing buildings.
68 parts2GPL-3.0