Sensor modules
AXS-031 — MCP3008 8-channel ADC PMOD module
Catalog #31 in the AruviX sensor line, level L3 (SPI). The classic MCP3008 8-channel 10-bit SAR ADC, with two onboard teaching loads and six channels on a breadboard header.
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 | VDD decoupling | GRM188R71C104KA01DMurata |
C_0603_1608Metric |
C2 |
100nF 16V X7R | VREF decoupling | GRM188R71C104KA01DMurata |
C_0603_1608Metric |
C3 |
1uF 10V X7R | Supply 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 |
J2 |
CH2-CH7 + RAILS | Breadboard header: CH2-CH7, GND, 3V3 | not selected generic |
PinHeader_1x08_P2.54mm_Vertical |
R1 |
GL5528 LDR | Light-dependent resistor, ~10k at 10 lux | not selected generic |
R_LDR_D6.4mm_P3.4mm_Vertical |
R2 |
10k | LDR divider lower leg | RC0603FR-0710KLYageo Datasheet ↗ |
R_0603_1608Metric |
R3 |
10k | ~CS idle pull-up so an unconfigured host cannot start a conversion | RC0603FR-0710KLYageo Datasheet ↗ |
R_0603_1608Metric |
R4 |
100R | Series protection on the ADC-driven DOUT line | RC0603FR-07100RLYageo Datasheet ↗ |
R_0603_1608Metric |
RV1 |
10k THUMB POT | Onboard load: full-rail pot, wiper to CH0 | TC33X-2-103EBourns Datasheet ↗ |
Potentiometer_Bourns_TC33X_Vertical |
U1 |
MCP3008 | 8-channel 10-bit SAR ADC, SPI, 200 ksps | MCP3008-I/SLMicrochip Datasheet ↗ |
SOIC-16_3.9x9.9mm_P1.27mm |
Signals#
Net labels used in the schematic, which are also the names the HDL top level should use.
3V3 ADC_DOUT CH0 CH1 CH2 CH3 CH4 CH5 CH6 CH7 CS_N GND MISO MOSI SCK
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-031-mcp3008
Catalog #31 in the AruviX sensor line (../README.md), level L3 (SPI). The classic MCP3008 8-channel 10-bit SAR ADC, with two onboard teaching loads and six channels on a breadboard header.
Status: schematic generated, ERC clean (0/0), netlist reviewed. PCB layout not started. Not released.
What it teaches#
The canonical first SPI ADC transaction: start bit, single-ended/differential select, 3-bit channel address, null bit, then the 10-bit result — all in one ~17-clock ~CS frame. Channel multiplexing, throughput vs SCLK, and comparing 10-bit SAR results against the precision AXS-032 (ADS1115).
Design#
- MCP3008-I/SL (SOIC-16). VDD = VREF = 3V3 (full scale is the rail), AGND and DGND both to GND. 100 nF on VDD and VREF plus 1 µF bulk.
- Onboard loads: CH0 ← wiper of Bourns TC33X 10 kΩ thumb pot across 3V3/GND; CH1 ← LDR divider (GL5528 upper, MPN TBD, 10 kΩ lower leg) — turn the pot / shade the LDR and watch codes move.
- CH2–CH7 on J2 (1×8 header) followed by GND and 3V3 for breadboard use.
- ~CS has a 10 k idle pull-up; ADC-driven DOUT passes a 100 Ω series resistor to MISO.
| PMOD pin | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Net | ~CS | MOSI | MISO | SCK | GND | 3V3 | NC | NC | NC | NC | GND | 3V3 |
Regenerate#
python3 generate_design.py
Remaining for release#
- [ ] PCB layout, DRC, fab outputs
- [ ]
hdl/: SPI master + channel-scan FSM, ECP5 demo - [ ] Pin the LDR MPN (GL5528 is a generic type, quality varies)
- [ ] BOM export and availability check, design-review checklist