Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions boards/shields/adafruit_lis3dh/Kconfig.shield
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Copyright (c) 2025 Jonas Berg
# SPDX-License-Identifier: Apache-2.0

config SHIELD_ADAFRUIT_LIS3DH
def_bool $(shields_list_contains,adafruit_lis3dh)
19 changes: 19 additions & 0 deletions boards/shields/adafruit_lis3dh/adafruit_lis3dh.overlay
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
/*
* Copyright (c) 2025 Jonas Berg
*
* SPDX-License-Identifier: Apache-2.0
*/
/ {
aliases {
accel0 = &adafruit_lis3dh;
};
};

&zephyr_i2c {
status = "okay";

adafruit_lis3dh: lis3dh@18 {
compatible = "st,lis3dh", "st,lis2dh";
reg = <0x18>;
};
};
Binary file not shown.
71 changes: 71 additions & 0 deletions boards/shields/adafruit_lis3dh/doc/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
.. _adafruit_lis3dh:

Adafruit LIS3DH Shield
######################

Overview
********

The `Adafruit LIS3DH Triple-Axis Accelerometer Sensor Shield`_ features
a `ST LIS3DH 3-axis accelerometer`_ and two STEMMA QT connectors.

.. figure:: adafruit_lis3dh.webp
:align: center
:alt: Adafruit LIS3DH Shield

Adafruit LIS3DH Shield (Credit: Adafruit)


Requirements
************

This shield can be used with boards which provide an I2C connector, for
example STEMMA QT or Qwiic connectors.
The target board must define a ``zephyr_i2c`` node label.
See :ref:`shields` for more details.


Pin Assignments
===============

+--------------+------------------------------------------------------+
| Shield Pin | Function |
+==============+======================================================+
| SDA | LIS3DH I2C SDA |
+--------------+------------------------------------------------------+
| SCL | LIS3DH I2C SCL |
+--------------+------------------------------------------------------+
| INT | LIS3DH Interrupt out |
+--------------+------------------------------------------------------+
| SDO | LIS3DH I2C address selection. Pull down by default. |
+--------------+------------------------------------------------------+
| CS | LIS3DH Force I2C mode by setting it to high level. |
+--------------+------------------------------------------------------+
| I2 | LIS3DH Second interrupt out |
+--------------+------------------------------------------------------+
| A1-A3 | LIS3DH Analog-to-digital converter inputs. Not used. |
+--------------+------------------------------------------------------+

In order to use interrupts you need to connect a separate wire from the
shield to a GPIO pin on your microcontroller board. See
:dtcompatible:`st,lis3dh` for documentation on how to adjust the
devicetree file.


Programming
***********

Set ``--shield adafruit_lis3dh`` when you invoke ``west build``. For example
when running the :zephyr:code-sample:`accel_polling` sample:

.. zephyr-app-commands::
:zephyr-app: samples/sensor/accel_polling
:board: adafruit_qt_py_rp2040
:shield: adafruit_lis3dh
:goals: build

.. _Adafruit LIS3DH Triple-Axis Accelerometer Sensor Shield:
https://learn.adafruit.com/adafruit-lis3dh-triple-axis-accelerometer-breakout

.. _ST LIS3DH 3-axis accelerometer:
https://www.st.com/en/mems-and-sensors/lis3dh.html
10 changes: 10 additions & 0 deletions boards/shields/adafruit_lis3dh/shield.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# SPDX-License-Identifier: Apache-2.0
#
# Copyright (c) 2025, Jonas Berg

shield:
name: adafruit_lis3dh
full_name: Adafruit LIS3DH Triple-Axis Accelerometer Sensor Shield
vendor: adafruit
supported_features:
- sensor
6 changes: 6 additions & 0 deletions samples/sensor/accel_polling/sample.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -59,3 +59,9 @@ tests:
- SNIPPET="rtt-tracing;rtt-console"
platform_allow:
- apard32690/max32690/m4
sample.sensor.accel_polling.shields:
build_only: true
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
build_only: true

platform_allow:
- adafruit_qt_py_rp2040/rp2040
extra_args:
- platform:adafruit_qt_py_rp2040/rp2040:SHIELD="adafruit_lis3dh"