Demo ESP no-OS Example Project

See projects/demo_esp (doxygen) for the Doxygen documentation.

Overview

The Demo ESP project demonstrates Wi-Fi connectivity and MQTT communication using an ESP Wi-Fi module with no-OS. The application connects to a Wi-Fi network, establishes a connection with an MQTT broker, and continuously publishes messages to a configured topic.

The initialization data used in the examples is taken out from the Project Common Data Path.

The macros used in Common Data are defined in platform specific files found in the Project Platform Configuration Path.

No-OS Supported Examples

Basic example

The basic example initializes the ESP Wi-Fi module, connects to a configured Wi-Fi network and MQTT broker, then continuously publishes messages to a specified MQTT topic.

This is the only example in this project, so it is selected with the basic variant (see the Build Command sections below).

No-OS Supported Platforms

ADuCM3029

Used Hardware

Connections

The EVAL-ADICUP3029 does not carry an on-board Wi-Fi module: an external ESP8266 module has to be connected to the P1 connector. Set the UART switch S2 to the "WiFi Module" (right) position to route UART0 to the P1 Wi-Fi connector; the module is driven over UART0 at 115200 baud and its reset line is not connected (the module is reset in software).

P1 Wi-Fi Net

ADuCM3029 Pin

Function

UART0_TX

P0.10 (UART0 TX)

Data from the ADuCM3029 to the module

UART0_RX

P0.11 (UART0 RX)

Data from the module to the ADuCM3029

Reset

Not connected

Module is reset in software

Power (pin 8)

+3.3V

Module power supply

Ground (pin 1)

DGND

Common ground

The ESP8266 must run AT firmware configured for 115200 baud, and its CH_PD/EN pin must be tied high (and GPIO0 left high at boot) for the module to start; otherwise no response is received and initialization times out.

Build Command

For toolchain setup and prerequisites, see the ADuCM3029 CMake build guide.

Available variants: basic. Available boards: eval-adicup3029. Replace --variant / --board accordingly.

# point at the CrossCore Embedded Studio install (only if not auto-detected)
export CCES_HOME=/opt/analog/cces/3.0.3
# Windows (PowerShell): $env:CCES_HOME = "C:\analog\cces\3.0.3"

cd no-OS

# build the basic example on the EVAL-ADICUP3029
python tools/scripts/no_os_build.py build \
   --project demo_esp --variant basic --board eval-adicup3029

# build and flash (requires a connected debug probe)
python tools/scripts/no_os_build.py build \
   --project demo_esp --variant basic --board eval-adicup3029 \
   --probe openocd --flash

Maxim

Used Hardware

  • MAX32690 platform (MAX32690EVKIT or AD-APARD32690-SL)

  • ESP Wi-Fi module (e.g., ESP8266); the AD-APARD32690-SL integrates an on-board Wi-Fi module

Connections

The Wi-Fi module is driven over UART2 at 115200 baud and, unlike the ADuCM3029, is reset through a hardware line wired to GPIO P3.9. The MAX32690 signals used by the firmware are listed below; connect them to the module UART, reset and power pins (on the AD-APARD32690-SL these are already routed on-board).

MAX32690 Signal

Pin

Function

UART2 TX

UART2 TX

Data from the MAX32690 to the module

UART2 RX

UART2 RX

Data from the module to the MAX32690

Reset

P3.9 (GPIO)

Hardware reset driven by the MAX32690

Power

3.3V

Module power supply

Ground

GND

Common ground

Build Command

For toolchain setup and prerequisites, see the Maxim CMake build guide.

Available variants: basic. Available boards: ad-apard32690-sl. Replace --variant / --board accordingly.

export MAXIM_LIBRARIES=</path/to/MaximSDK/Libraries>
# Windows (PowerShell): $env:MAXIM_LIBRARIES = "C:\MaximSDK\Libraries"

cd no-OS

# build the project (basic example on the ad-apard32690-sl board)
python tools/scripts/no_os_build.py build \
   --project demo_esp --variant basic --board ad-apard32690-sl

# build and flash (requires a connected debug probe)
python tools/scripts/no_os_build.py build \
   --project demo_esp --variant basic --board ad-apard32690-sl \
   --probe openocd --flash