Skip to content

Why Greengrass?

Each ESP32-S3
Espressif ESP32-S3 — Wi‑Fi microcontroller used here as the Greengrass client device (not a second core).
has an IoT certificate. You can publish straight to IoT Core
AWS IoT Core — cloud MQTT and device identity service. Client devices use it for discovery; the MQTT bridge forwards zone topics here, where IoT rules route them to other AWS services.
, or connect to a local Greengrass core first. This lab uses the hub.

Direct IoT Core

ESP32
ESP32
→
IoT Core

Each board talks to the cloud; decisions run in the cloud or on every MCU.

Greengrass hubthis lab

ESP32
ESP32
→
NUC core
⇢
IoT Core

Boards decide on the LAN via the core; cloud mirror is optional.

  • Direct: fewer moving parts; no local decisions if the cloud is unreachable.
  • Hub: closed loop on the LAN, shared components — but the core is a single point of failure.
NeedDirect IoT CoreGreengrass hub
Local decide with cloud down / high RTTFails or needs on-device logic

Closed loop
Sense → decide → actuate on the LAN — zone sensor events on gg-edge/sensor become actuator commands on gg-edge/actuator via a custom component.
on the LAN

Many boards, one place for policy / MLLogic in cloud or on every MCU

Components on the core
Greengrass core device — the Linux host running Nucleus (this lab: Intel NUC6CAY). Client devices discover and connect to it.

Cloud-managed edge software versionsDevice OTA only

Component
Greengrass component — a versioned unit of software on the core (AWS public components or custom recipes such as GgEdgeLoop / ZoneAnomaly).
deployments + config merge

Simplest cloud MQTT telemetryFewer moving partsExtra Nucleus + broker stack
Hub host diesBoards can still reach cloud (if online)

Local path through that core is a single point of failure

One Nucleus
Greengrass Nucleus — the edge runtime on the core device. Installs components, talks to AWS, and hosts the local client-device stack.
+ Moquette
aws.greengrass.clientdevices.mqtt.Moquette — local MQTT broker on the core. Not Mosquitto; client devices connect here over mTLS.
on one NUC is a SPOF for local MQTT and for components that decide there. This walkthrough does not build multi-core HA.

AWS also offers Nucleus lite for constrained hosts. This lab uses classic Nucleus on Ubuntu x86. See the developer guide if you need lite later.

Next: Identities.