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
An external ESP8266 Wi-Fi module
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