AD74414H no-OS Project
Supported Evaluation Boards
Overview
The AD74414H is a quad-channel, software-configurable device designed for robust industrial control applications. It offers versatile analog and digital I/O capabilities for measuring voltage, current, RTD, and thermocouples while incorporating a 16-bit DAC and a 24-bit sigma-delta ADC with optional 50Hz/60Hz rejection. Each channel features an integrated HART modem that provides both HART and SPI communications using configurable pin assignments that support multiple operation modes. This is complemented by adaptive power switching, built-in diagnostics for open-circuit/short-circuit detection, a high-accuracy 2.5V reference, and auxiliary channels for sensing and power supply measurements.
Applications
Industrial control systems
Process control
Factory automation
No-OS Build Setup
Please see: No-OS Build Setup
No-OS Supported Examples
The initialization data used in the examples is taken from the Project Common Data Path. The macros used in Common Data are defined in platform-specific files found in: Platform Configuration Path.
Basic Example
The Basic Example demonstrates the fundamental initialization and configuration of the AD74414H device by setting up communication interfaces such as UART and SPI using common data structures in a no-OS environment. In order to build this example make sure you are using this command:
python tools/scripts/no_os_build.py build \
--project ad74414h --variant basic --board sdp-ck1z
Current Input External Power Example
The Current Input External Power Example demonstrates channel configuration in externally powered current input mode. It reads the ADC value and computes the input current. In order to build this example make sure you are using this command:
python tools/scripts/no_os_build.py build \
--project ad74414h --variant current_input_ext --board sdp-ck1z
Current Input Loop Power Example
The Current Input Loop Power Example demonstrates channel configuration in loop-powered current input mode. It reads the ADC value and computes the input current. In order to build this example make sure you are using this command:
python tools/scripts/no_os_build.py build \
--project ad74414h --variant current_input_loop --board sdp-ck1z
Current Output Example
The Current Output Example demonstrates channel configuration in current output mode. It sets a DAC code to drive a specified output current on the configured channel. In order to build this example make sure you are using this command:
python tools/scripts/no_os_build.py build \
--project ad74414h --variant current_output --board sdp-ck1z
Digital Input Logic Example
The Digital Input Logic Example demonstrates channel configuration in digital input mode with a fixed comparator threshold for logic-level detection. In order to build this example make sure you are using this command:
python tools/scripts/no_os_build.py build \
--project ad74414h --variant digital_input_logic --board sdp-ck1z
Digital Input Loop Example
The Digital Input Loop Example demonstrates channel configuration in digital input mode with loop-powered operation. In order to build this example make sure you are using this command:
python tools/scripts/no_os_build.py build \
--project ad74414h --variant digital_input_loop --board sdp-ck1z
Digital Output Example
The Digital Output Example demonstrates channel configuration in digital output mode with GPIO-based control of the output state. In order to build this example make sure you are using this command:
python tools/scripts/no_os_build.py build \
--project ad74414h --variant digital_output --board sdp-ck1z
No-OS Supported Platforms
STM32
Used Hardware
Connections
Connect the EVAL-AD74414H to the EVAL-SDP-CK1Z (SDP-K1) through the SDP connector. The SDP-K1 is powered and communicates with the host over its USB-C port, which also exposes the UART console.
Build Command
The STM32 platform uses the CMake/Ninja build system via the
no_os_build.py helper script. Available variants: basic,
current_input_ext, current_input_loop, current_output,
digital_input_logic, digital_input_loop, digital_output.
Available boards: sdp-ck1z.
For toolchain setup and prerequisites, see the STM32 CMake build guide.
# set the path to STM32CubeMX and STM32CubeIDE (only if they are not
# in a default install location)
export STM32CUBEMX=</path/to/stm32cubemx>
export STM32CUBEIDE=</path/to/stm32cubeide>
# PowerShell (Windows) equivalent:
# $env:STM32CUBEMX = "C:\ST\STM32CubeMX"
# $env:STM32CUBEIDE = "C:\ST\STM32CubeIDE"
cd no-OS
# build the example on the SDP-K1 board (replace --variant as needed)
python tools/scripts/no_os_build.py build \
--project ad74414h --variant basic --board sdp-ck1z
# build and flash (requires a connected debug probe)
python tools/scripts/no_os_build.py build \
--project ad74414h --variant basic --board sdp-ck1z \
--probe openocd --flash