diff --git a/boards/shields/mikroe_stepper_18_click/Kconfig.shield b/boards/shields/mikroe_stepper_18_click/Kconfig.shield new file mode 100644 index 00000000000..267be0d1f2a --- /dev/null +++ b/boards/shields/mikroe_stepper_18_click/Kconfig.shield @@ -0,0 +1,5 @@ +# Copyright (c) 2025 Navimatix GmbH +# SPDX-License-Identifier: Apache-2.0 + +config SHIELD_MIKROE_STEPPER_18_CLICK + def_bool $(shields_list_contains,mikroe_stepper_18_click) diff --git a/boards/shields/mikroe_stepper_18_click/doc/index.rst b/boards/shields/mikroe_stepper_18_click/doc/index.rst new file mode 100644 index 00000000000..3fc3cb9100f --- /dev/null +++ b/boards/shields/mikroe_stepper_18_click/doc/index.rst @@ -0,0 +1,48 @@ +.. _mikroe_stepper_18_click_shield: + +MikroElektronika Stepper 18 Click +################################# + +Overview +******** + +Stepper 18 Click shield has a TI DRV426 stepper driver accessed via GPIO. +It also features a Microchip MCP4726 DAC to allow for current control. The +micro-step pins are controlled via physical switches, making them unavailable +in Zephyr. +The DRV8426 uses the work-queue timing source by default. + +Note that the MCP4726 is compatible with the MCP4725 driver. + +More information about the shield can be found at +`Mikroe Stepper 18 click`_. + +.. figure:: stepper_18_click.webp + :align: center + :alt: MikroElektronika Stepper 18 Click + + MikroElektronika Stepper 18 Click (Credit: MikroElektronika) + +Requirements +************ + +The shield uses a mikroBUS interface. The target board must define +a ``mikrobus_i2c`` and ``mikrobus_header`` node labels +(see :ref:`shields` for more details). + +Programming +*********** + +.. zephyr-app-commands:: + :zephyr-app: samples/drivers/stepper/generic/ + :board: + :shield: mikroe_stepper_18_click + :goals: build flash + +References +********** + +.. target-notes:: + +.. _Mikroe Stepper 18 click: + https://www.mikroe.com/stepper-18-click diff --git a/boards/shields/mikroe_stepper_18_click/doc/stepper_18_click.webp b/boards/shields/mikroe_stepper_18_click/doc/stepper_18_click.webp new file mode 100644 index 00000000000..0da2202834b Binary files /dev/null and b/boards/shields/mikroe_stepper_18_click/doc/stepper_18_click.webp differ diff --git a/boards/shields/mikroe_stepper_18_click/mikroe_stepper_18_click.overlay b/boards/shields/mikroe_stepper_18_click/mikroe_stepper_18_click.overlay new file mode 100644 index 00000000000..69534c7e48e --- /dev/null +++ b/boards/shields/mikroe_stepper_18_click/mikroe_stepper_18_click.overlay @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2025 Navimatix GmbH + * SPDX-License-Identifier: Apache-2.0 + */ + +/ { + aliases { + stepper = &drv8426_mikroe_stepper_18_click; + }; +}; + +&mikrobus_i2c { + status = "okay"; + + mcp4726_mikroe_stepper_18_click: mcp4726@70 { + status = "okay"; + compatible = "microchip,mcp4725"; + reg = < 0x60 >; + + #io-channel-cells = <1>; + }; +}; + +/ { + drv8426_mikroe_stepper_18_click: drv8426 { + status = "okay"; + compatible = "ti,drv84xx"; + + dir-gpios = <&mikrobus_header 0 0>; + step-gpios = <&mikrobus_header 6 0>; + sleep-gpios = <&mikrobus_header 1 GPIO_ACTIVE_LOW>; + en-gpios = <&mikrobus_header 2 0>; + fault-gpios = <&mikrobus_header 7 GPIO_ACTIVE_LOW>; + }; +}; diff --git a/boards/shields/mikroe_stepper_18_click/shield.yml b/boards/shields/mikroe_stepper_18_click/shield.yml new file mode 100644 index 00000000000..af0497fdac3 --- /dev/null +++ b/boards/shields/mikroe_stepper_18_click/shield.yml @@ -0,0 +1,6 @@ +shield: + name: mikroe_stepper_18_click + full_name: Stepper 18 Click + vendor: mikroe + supported_features: + - stepper