EVAL-ADE9153A no-OS Example Project

Supported Evaluation Boards

Overview

The ADE9153A is an energy metering integrated circuit featuring autocalibration using a shunt resistor, eliminating the need for a reference meter during calibration. It adheres to IEC 62053-21 standards for active energy and IEC 62053-23 for reactive energy. The IC includes three high-performance ADCs with an 88 dB signal-to-noise ratio, suitable for applications such as single-phase energy meters, smart power distribution, and machine health monitoring. The operational temperature ranges from -40°C to +85°C, supporting various industrial applications.

Applications

  • Single-phase energy meters

  • Energy and power measurement

  • Street lighting

  • Smart power distribution system

  • Machine health

Hardware Specifications

Power Supply Requirements

The EV-ADE9153ASHIELDZ can be powered using a 5V or 3.3V DC supply, depending on the outputs of the connected Arduino board. It integrates with the Arduino's power infrastructure through headers, requiring specific jumper settings to select the appropriate voltage. The shield supports standard Arduino form factors, ensuring compatibility with a variety of microcontrollers, including the ESP8266 SoC, allowing for flexible connection to additional sensors and hardware. Current specifications are not detailed, but the design supports seamless integration with the target environment.

Pin Description

Arduino Pin

ADE9153A Signal

Type

ICSP-SCK

SCLK

SPI

ICSP-MISO

MISO

SPI

ICSP-MOSI

MOSI

SPI

GPIO 8

SS (pulled up)

SPI output

GPIO 4

RESET

Output

GPIO 5

User button input

Input

GPIO 2

ZX/DREADY/CF2

Input (interrupt)

GPIO 3

IRQ

Input (interrupt)

5 V

Not applicable

Power

3.3 V

Not applicable

Power

No-OS Build Setup

Please see: https://wiki.analog.com/resources/no-os/build

No-OS Supported Examples

The initialization data used in the examples is taken out from the Project Data Source Path </projects/eval-ade9153a/src/common>.

Basic example

The eval-ade9153a no-OS example project demonstrates how to interface with and operate the ADE9153A energy metering IC using the no-OS platform. The application, implemented in main.c, initializes hardware interfaces such as UART, GPIO, SPI, and interrupt controllers to establish communication with the ADE9153A. It configures device parameters like PGA gain, frequency settings, and energy accumulation, and performs device-specific initialization.

After setup, the main loop periodically reads measurement data from the ADE9153A and toggles an LED to indicate activity. The code also handles device autocalibration, temperature sampling configuration, and error management.

No-OS Supported Platforms

Maxim

Hardware Used

  • EV-ADE9153ASHIELDZ

  • MAX32690 (AD-APARD32690-SL Development Platform)

  • MAX32625PICO microcontroller (flashed with firmware image)

Connections

Mounting the Shield:

  • The EV-ADE9153ASHIELDZ is mechanically and electrically compatible with Arduino R3 headers.

  • Align the shield with the Arduino-compatible headers on the AD-APARD32690-SL and press it firmly into place.

Power Configuration:

  • By default, the shield is set for 5V operation (Arduino Uno). The AD-APARD32690-SL supplies 3.3V on its Arduino headers. Therefore, remove the 5V SPI jumper on the shield and fit the 3V SPI jumper to provide the correct voltage to the SPI interface.

Signal Connections:

  • The ADE9153A shield uses the following header pins:

Arduino Header Pin

ADE9153A Signal

Type

ICSP-SCK

SCLK

SPI clock

ICSP-MISO

MISO

SPI MISO

ICSP-MOSI

MOSI

SPI MOSI

D8

SS (pulled up)

SPI chip select

D4

RESET

Output

D2

ZX/DREADY/CF2

Input (interrupt)

D3

IRQ

Input (interrupt)

5V

Power (if needed)

3.3V

Power

GND

Ground

Power Supply:

  • Connect a 5V to 28V external power supply to the AD-APARD32690-SL (via P14 for external power or P10 for USB-C).

Programming:

  • Use a MAX32625PICO or compatible programmer to program the AD-APARD32690-SL via its SWD connector (P9).

Build Command

# to delete current build
make reset
# to build the project
make TARGET=max32690
# to flash the code
make run