Sensor modules

AXS-012 — APDS-9301 ambient-light PMOD module

Catalog #12 in the AruviX sensor line, level L3 (I2C). Uses the APDS-9301 instead of the catalog's original BH1750: no stock KiCad assets exist for the BH1750, and the APDS-9301 teaches the same lux- sensor lesson (dual channels, lux computed from raw counts, threshold interrupt) from stock symbols and footprints.

Level L3 ERC clean DRC clean Fab package 10 components
3D render of the AXS-012 PCB
Rendered from the PCB layout. No physical board has been manufactured.

Circuit review & bench-test guide →

Components#

Every placed component, with the reason it is on the board. Extracted directly from the schematic, so this cannot drift from the design.

RefValueWhat it does on this boardPart numberFootprint
C1 100nF 16V X7R U1 VDD decoupling GRM188R71C104KA01D
Murata
C_0603_1608Metric
J1 PMOD PLUG 2x6 PMOD peripheral plug (Digilent spec 1.2) not selected
generic
PinHeader_2x06_P2.54mm_Horizontal
JP1 SDA PULL-UP Cut to remove the SDA pull-up when chaining modules SolderJumper-2_P1.3mm_Bridged_RoundedPad1.0x1.5mm
JP2 SCL PULL-UP Cut to remove the SCL pull-up when chaining modules SolderJumper-2_P1.3mm_Bridged_RoundedPad1.0x1.5mm
JP3 ADDR 0x29/0x49 I2C address: 1-2 GND 0x29 (default), 2-3 VDD 0x49, all open (cut 1-2) float 0x39 SolderJumper-3_P1.3mm_Bridged12_RoundedPad1.0x1.5mm
R1 4.7k I2C SDA pull-up RC0603FR-074K7L
Yageo
Datasheet ↗
R_0603_1608Metric
R2 4.7k I2C SCL pull-up RC0603FR-074K7L
Yageo
Datasheet ↗
R_0603_1608Metric
R3 10k Pull-up for the open-drain INT output RC0603FR-0710KL
Yageo
Datasheet ↗
R_0603_1608Metric
R4 100R Series protection on the sensor-driven INT line RC0603FR-07100RL
Yageo
Datasheet ↗
R_0603_1608Metric
U1 APDS-9301 Miniature ambient-light photo sensor, dual channel, I2C, lux output APDS-9301-020
Broadcom
Datasheet ↗
Broadcom_APDS-9301

Signals#

Net labels used in the schematic, which are also the names the HDL top level should use.

3V3 ADDR_SEL ALS_INT GND LIGHT_INT SCL SCL_PU SDA SDA_PU

Production status#

Schematic ERC0 violations
PCB layoutcomplete
DRC0 violations
Fab packageexported (24 gerbers + drill + CPL + BOM)
Fabricatedno — design stage only

Source: boards/sensor-modules/axs-012-ambient-light


Catalog #12 in the AruviX sensor line (../README.md), level L3 (I2C). Uses the APDS-9301 instead of the catalog's original BH1750: no stock KiCad assets exist for the BH1750, and the APDS-9301 teaches the same lux- sensor lesson (dual channels, lux computed from raw counts, threshold interrupt) from stock symbols and footprints.

Status: schematic generated, ERC clean (0/0), netlist reviewed. PCB layout not started. Not released.

What it teaches#

I2C command/register access with the SMBus-style command byte, integrating light on two photodiode channels (visible+IR and IR-only), the empirical lux formula over the channel ratio (fixed-point exercise), and a programmable threshold interrupt for event-driven design.

Design#

PMOD pin123456789101112
NetLIGHT_INTNCSCLSDAGND3V3NCNCSCLSDAGND3V3

Regenerate#

python3 generate_design.py

reports/erc.rpt is the last kicad-cli ERC run.

Remaining for release#