I/O modules

AXO-015 — potentiometer + slider bank PMOD module

Catalog #15 in the AruviX output line, level L3. The "analog input fun" board: two rotary thumb pots and a real slide pot, all digitized by an MCP3008.

Level L3 ERC clean DRC clean Fab package 17 components
3D render of the AXO-015 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 10nF 50V X7R RC shunt on the pot 1 wiper: fc ~ 16 kHz GRM188R71H103KA01D
Murata
C_0603_1608Metric
C2 10nF 50V X7R RC shunt on the pot 2 wiper: fc ~ 16 kHz GRM188R71H103KA01D
Murata
C_0603_1608Metric
C3 10nF 50V X7R RC shunt on the slider wiper: fc ~ 16 kHz GRM188R71H103KA01D
Murata
C_0603_1608Metric
C4 100nF 16V X7R VDD decoupling GRM188R71C104KA01D
Murata
C_0603_1608Metric
C5 100nF 16V X7R VREF decoupling GRM188R71C104KA01D
Murata
C_0603_1608Metric
C6 1uF 10V X7R Supply bulk decoupling GRM188R71A105KA61D
Murata
C_0603_1608Metric
J1 PMOD PLUG 2x6 PMOD peripheral plug (Digilent spec 1.2) not selected
generic
PinHeader_2x06_P2.54mm_Horizontal
J3 CH3 SPARE Spare analog input: CH3 + GND return not selected
generic
PinHeader_1x02_P2.54mm_Vertical
R1 1k RC series element on the pot 1 wiper RC0603FR-071KL
Yageo
Datasheet ↗
R_0603_1608Metric
R2 1k RC series element on the pot 2 wiper RC0603FR-071KL
Yageo
Datasheet ↗
R_0603_1608Metric
R3 1k RC series element on the slider wiper RC0603FR-071KL
Yageo
Datasheet ↗
R_0603_1608Metric
R4 10k ~CS idle pull-up so an unconfigured host cannot start a conversion RC0603FR-0710KL
Yageo
Datasheet ↗
R_0603_1608Metric
R5 100R Series protection on the ADC-driven DOUT line RC0603FR-07100RL
Yageo
Datasheet ↗
R_0603_1608Metric
RV1 10k ROTARY Rotary thumb pot 1: full-rail, wiper to CH0 PT10MV10-103A2020-S
Piher
Datasheet ↗
Potentiometer_Piher_PT-10-V10_Vertical
RV2 10k ROTARY Rotary thumb pot 2: full-rail, wiper to CH1 PT10MV10-103A2020-S
Piher
Datasheet ↗
Potentiometer_Piher_PT-10-V10_Vertical
RV3 10k SLIDE Slide pot (20 mm travel): full-rail, wiper to CH2 PTA2043-2015CPB103
Bourns
Datasheet ↗
Potentiometer_Bourns_PTA2043_Single_Slide
U1 MCP3008 8-channel 10-bit SAR ADC, SPI, 200 ksps MCP3008-I/SL
Microchip
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 CH3 CS_N GND MISO MOSI POT1 POT1_W POT2 POT2_W SCK SLIDE SLIDE_W

Production status#

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

Source: boards/io-modules/axo-015-pots


Catalog #15 in the AruviX output line (../README.md), level L3. The "analog input fun" board: two rotary thumb pots and a real slide pot, all digitized by an MCP3008.

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

What it teaches#

Three continuously-variable human inputs: mixer faders, synth knobs (with the DDS module axo-010), RGB color mixing on the LED bar, PID setpoint twiddling. Same SPI ADC protocol as axs-031, so the HDL carries over.

Part picks (verified against stock KiCad 9 libraries)#

Channel plan#

MCP3008CH0CH1CH2CH3CH4–CH7
Sourcepot 1pot 2sliderspare on J3 (1×02, with GND)grounded

Each wiper passes 1 k + 10 nF (fc ≈ 16 kHz) before its channel — scratch filter plus SAR charge reservoir. CH4–CH7 are grounded so no SAR input ever floats. VREF = VDD = 3V3: knob position maps linearly to the 10-bit scale.

Support parts per platform convention: 10 k ~CS idle pull-up, 100 Ω on the ADC-driven DOUT→MISO line, 100 nF on VDD and VREF + 1 µF bulk.

PMOD pin map (Type 2 SPI)#

PMOD pin123456789101112
NetCS_NMOSIMISOSCKGND3V3NCNCNCNCGND3V3

Regenerate#

python3 generate_design.py

Remaining for release#