Sensor modules
AXS-005 — Rotary encoder PMOD module
Catalog #5 in the AruviX sensor line, level L2 (GPIO, quadrature decode + debounce). An Alps EC11E15244G1 rotary encoder (30 detents, 15 pulses/rev) with integral push switch.
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 |
10nF 50V X7R | Light phase-A contact snubber; main debouncing is done in fabric | GRM188R71H103KA01DMurata |
C_0603_1608Metric |
C2 |
10nF 50V X7R | Light phase-B contact snubber; main debouncing is done in fabric | GRM188R71H103KA01DMurata |
C_0603_1608Metric |
J1 |
PMOD PLUG 2x6 | PMOD peripheral plug (Digilent spec 1.2) | not selected generic |
PinHeader_2x06_P2.54mm_Horizontal |
R1 |
10k | Phase A pull-up | RC0603FR-0710KLYageo Datasheet ↗ |
R_0603_1608Metric |
R2 |
10k | Phase B pull-up | RC0603FR-0710KLYageo Datasheet ↗ |
R_0603_1608Metric |
R3 |
10k | Push-switch pull-up | RC0603FR-0710KLYageo Datasheet ↗ |
R_0603_1608Metric |
R4 |
100R | Series protection on the module-driven ENC_A line | RC0603FR-07100RLYageo Datasheet ↗ |
R_0603_1608Metric |
R5 |
100R | Series protection on the module-driven ENC_B line | RC0603FR-07100RLYageo Datasheet ↗ |
R_0603_1608Metric |
R6 |
100R | Series protection on the module-driven ENC_SW line | RC0603FR-07100RLYageo Datasheet ↗ |
R_0603_1608Metric |
SW1 |
EC11E15244G1 | Rotary encoder, 30 detents, 15 pulses, with push switch | EC11E15244G1Alps Alpine Datasheet ↗ |
RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mm |
Signals#
Net labels used in the schematic, which are also the names the HDL top level should use.
3V3 ENC_A ENC_A_RAW ENC_B ENC_B_RAW ENC_SW ENC_SW_RAW GND
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-005-encoder
Catalog #5 in the AruviX sensor line (../README.md), level L2 (GPIO, quadrature decode + debounce). An Alps EC11E15244G1 rotary encoder (30 detents, 15 pulses/rev) with integral push switch.
Status: schematic generated, ERC clean (0/0), netlist reviewed. PCB layout not started. Not released.
What it teaches#
Quadrature: A leads B clockwise, B leads A counter-clockwise — build the decoder state machine, count detents, and handle the hard-bouncing shaft switch. The main debouncing is the fabric lesson: the on-board 10 nF caps on A/B are only a light snub taking the RF edge off the contacts; synchronizers plus a debounce state machine (or counters) belong in HDL.
Design#
- EC11E common pin C and switch pin S2 tie to GND; A, B, and S1 idle high through 10 kΩ pull-ups and go low as the contacts close.
- All three module-driven lines pass 100 Ω series resistors.
- 10 nF (GRM188R71H103KA01D) from A and B to GND as contact snubbers; with the 10 k pull-up that is ~0.1 ms — deliberately not a full RC debounce.
- No decoupling cap: the module carries no IC.
| PMOD pin | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Net | ENC_A | ENC_B | ENC_SW | NC | GND | 3V3 | NC | NC | NC | NC | GND | 3V3 |
Regenerate#
python3 generate_design.py
Remaining for release#
- [ ] PCB layout (20 × 25 mm outline, knob clearance), DRC, fab outputs
- [ ]
hdl/: synchronizer + debouncer + quadrature decoder, testbench, demo - [ ] BOM export and availability check, design-review checklist