Sensor modules
AXS-016 — ADXL343 3-axis accelerometer PMOD module
Catalog #16 in the AruviX sensor line, level L3 (SPI). Uses the ADXL343 instead of the catalog's original ADXL345: pin- and register-compatible, cheaper, and present in the stock KiCad libraries, so every ADXL345 tutorial and driver applies unchanged.
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 |
1uF 10V X7R | Vs bulk decoupling | GRM188R71A105KA61DMurata |
C_0603_1608Metric |
C2 |
100nF 16V X7R | Vs high-frequency decoupling | GRM188R71C104KA01DMurata |
C_0603_1608Metric |
C3 |
100nF 16V X7R | Vdd_I/O decoupling | GRM188R71C104KA01DMurata |
C_0603_1608Metric |
J1 |
PMOD PLUG 2x6 | PMOD peripheral plug (Digilent spec 1.2) | not selected generic |
PinHeader_2x06_P2.54mm_Horizontal |
R1 |
100R | Series protection on the sensor-driven MISO line | RC0603FR-07100RLYageo Datasheet ↗ |
R_0603_1608Metric |
R2 |
100R | Series protection on the sensor-driven INT1 line | RC0603FR-07100RLYageo Datasheet ↗ |
R_0603_1608Metric |
R3 |
100R | Series protection on the sensor-driven INT2 line | RC0603FR-07100RLYageo Datasheet ↗ |
R_0603_1608Metric |
R4 |
10k | ~CS idle pull-up so an unconfigured host cannot drop the part into I2C mode | RC0603FR-0710KLYageo Datasheet ↗ |
R_0603_1608Metric |
U1 |
ADXL343 | 3-axis digital accelerometer, +/-2g to +/-16g, SPI/I2C | ADXL343BCCZ-RL7Analog Devices Datasheet ↗ |
LGA-14_3x5mm_P0.8mm_LayoutBorder1x6y |
Signals#
Net labels used in the schematic, which are also the names the HDL top level should use.
3V3 ACC_INT1 ACC_INT2 ACC_SDO CS_N GND INT1 INT2 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-016-adxl343
Catalog #16 in the AruviX sensor line (../README.md), level L3 (SPI). Uses the ADXL343 instead of the catalog's original ADXL345: pin- and register-compatible, cheaper, and present in the stock KiCad libraries, so every ADXL345 tutorial and driver applies unchanged.
Status: schematic generated, ERC clean (0/0), netlist reviewed. PCB layout not started. Not released.
What it teaches#
A 4-wire SPI master (mode 3, ≤5 MHz), multi-byte register reads, the FIFO, and interrupt-driven design: INT1/INT2 carry tap, double-tap, activity, and free-fall events.
Design#
- ADXL343BCCZ, LGA-14. Vs and Vdd_I/O both on 3V3.
- I2C fallback deliberately not wired — AXS-007 is the I2C lesson.
- 10 kΩ pull-up on ~CS so an unconfigured host can't drop the part into I2C mode; sensor-driven MISO/INT1/INT2 pass through 100 Ω series resistors; RES pins left open per datasheet.
| PMOD pin | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Net | ~CS | MOSI | MISO | SCK | GND | 3V3 | INT1 | INT2 | NC | NC | GND | 3V3 |
Regenerate#
python3 generate_design.py
Remaining for release#
- [ ] PCB layout (20 × 25 mm outline), DRC, fab outputs
- [ ]
hdl/: SPI master core, ADXL343 controller, testbench, ECP5 demo - [ ] BOM export and availability check, design-review checklist