Sensor modules
AXS-013 — APDS-9251 RGB+IR color-sensor PMOD module
Catalog #13 in the AruviX sensor line, level L3 (I2C). Uses the APDS-9251-001 instead of the catalog's original TCS34725: no stock KiCad assets exist for the TCS34725, and the APDS-9251 teaches the same color-sensing lesson (four channels, gain/integration control, threshold interrupt) from stock symbols and footprints.
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.
| Ref | Value | What it does on this board | Part number | Footprint |
|---|---|---|---|---|
C1 |
100nF 16V X7R | U1 VDD high-frequency decoupling | GRM188R71C104KA01DMurata |
C_0603_1608Metric |
C2 |
1uF 10V X7R | U1 VDD bulk decoupling | GRM188R71A105KA61DMurata |
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 |
R1 |
4.7k | I2C SDA pull-up | RC0603FR-074K7LYageo Datasheet ↗ |
R_0603_1608Metric |
R2 |
4.7k | I2C SCL pull-up | RC0603FR-074K7LYageo Datasheet ↗ |
R_0603_1608Metric |
R3 |
10k | Pull-up for the open-drain INT output | RC0603FR-0710KLYageo Datasheet ↗ |
R_0603_1608Metric |
R4 |
100R | Series protection on the sensor-driven INT line | RC0603FR-07100RLYageo Datasheet ↗ |
R_0603_1608Metric |
U1 |
APDS-9251-001 | Digital RGB + IR color and ambient-light sensor, I2C, interrupt output | APDS-9251-001Broadcom Datasheet ↗ |
Broadcom_LGA-8_2x2mm_P0.5mm |
Signals#
Net labels used in the schematic, which are also the names the HDL top level should use.
3V3 CLR_INT COLOR_INT GND SCL SCL_PU SDA SDA_PU
Production status#
| Schematic ERC | 0 violations |
|---|---|
| PCB layout | complete |
| DRC | 0 violations |
| Fab package | exported (24 gerbers + drill + CPL + BOM) |
| Fabricated | no — design stage only |
Source: boards/sensor-modules/axs-013-color
Catalog #13 in the AruviX sensor line (../README.md), level L3 (I2C). Uses the APDS-9251-001 instead of the catalog's original TCS34725: no stock KiCad assets exist for the TCS34725, and the APDS-9251 teaches the same color-sensing lesson (four channels, gain/integration control, 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#
Multi-channel I2C data acquisition: R/G/B/IR raw counts, per-channel gain and integration-time trade-offs, color-balance normalization math, and a programmable threshold interrupt.
Design#
- Broadcom APDS-9251-001 (LGA-8,
OptoDevice:Broadcom_LGA-8_2x2mm_P0.5mm), 100 nF + 1 µF decoupling. - Fixed I2C address 0x52 — no address jumper exists on this part; use bus chaining for multiple color modules.
- INT is open-drain: 10 kΩ pull-up on-module (R3), then 100 Ω series (R4) to PMOD pin 1 as
COLOR_INT. - 4.7 kΩ bus pull-ups through JP1 (SDA) / JP2 (SCL), fitted by default; cut when another module on the chain provides the pull-ups.
- Symbol pins 1/4/8 are hidden no-connect substrate pads (nothing to wire).
| PMOD pin | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Net | COLOR_INT | NC | SCL | SDA | GND | 3V3 | NC | NC | SCL | SDA | GND | 3V3 |
Regenerate#
python3 generate_design.py
reports/erc.rpt is the last kicad-cli ERC run.
Remaining for release#
- [ ] PCB layout (clear optical aperture over U1), DRC, fab outputs
- [ ]
hdl/: I2C master core, APDS-9251 controller + color-balance math, testbench, ECP5 demo - [ ] BOM export and availability check, design-review checklist