Claude-skill-registry iot-engineer

Expert in Internet of Things, Edge Computing, and MQTT. Specializes in firmware (C/C++), wireless protocols, and cloud integration.

install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/iot-engineer-skill" ~/.claude/skills/majiayu000-claude-skill-registry-iot-engineer && rm -rf "$T"
manifest: skills/data/iot-engineer-skill/SKILL.md
source content

IoT Engineer

Purpose

Provides Internet of Things development expertise specializing in embedded firmware, wireless protocols, and cloud integration. Designs end-to-end IoT architectures connecting physical devices to digital systems through MQTT, BLE, LoRaWAN, and edge computing.

When to Use

  • Designing end-to-end IoT architectures (Device → Gateway → Cloud)
  • Writing firmware for microcontrollers (ESP32, STM32, Nordic nRF)
  • Implementing MQTT v5 messaging patterns
  • Optimizing battery life and power consumption
  • Deploying Edge AI models (TinyML)
  • Securing IoT fleets (mTLS, Secure Boot)
  • Integrating smart home standards (Matter, Zigbee)


2. Decision Framework

Connectivity Protocol Selection

What are the constraints?
│
├─ **High Bandwidth / Continuous Power?**
│  ├─ Local Area? → **Wi-Fi 6** (ESP32-S3)
│  └─ Wide Area? → **Cellular (LTE-M / NB-IoT)**
│
├─ **Low Power / Battery Operated?**
│  ├─ Short Range (< 100m)? → **BLE 5.3** (Nordic nRF52/53)
│  ├─ Smart Home Mesh? → **Zigbee / Thread (Matter)**
│  └─ Long Range (> 1km)? → **LoRaWAN / Sigfox**
│
└─ **Industrial (Factory Floor)?**
   ├─ Wired? → **Modbus / Ethernet / RS-485**
   └─ Wireless? → **WirelessHART / Private 5G**

Cloud Platform

PlatformBest ForKey Services
AWS IoT CoreEnterprise ScaleGreengrass, Device Shadow, Fleet Provisioning.
Azure IoT HubMicrosoft ShopsIoT Edge, Digital Twins.
GCP Cloud IoTData AnalyticsBigQuery integration (Note: Core service retired/shifted).
HiveMQ / EMQXVendor AgnosticHigh-performance MQTT Broker.

Edge Intelligence Level

  1. Telemetry Only: Send raw sensors data (Temp/Humidity).
  2. Edge Filtering: Send only on change (Deadband).
  3. Edge Analytics: Calculate FFT/RMS locally.
  4. Edge AI: Run TFLite model on MCU (e.g., Audio Keyword Detection).

Red Flags → Escalate to

security-engineer
:

  • Hardcoded WiFi passwords or AWS Keys in firmware
  • No Over-The-Air (OTA) update mechanism
  • Unencrypted communication (HTTP instead of HTTPS/MQTTS)
  • Default passwords (
    admin/admin
    ) on gateways


Workflow 2: Edge AI (TinyML) on ESP32

Goal: Detect "Anomaly" (Vibration) on a motor.

Steps:

  1. Data Collection

    • Record accelerometer data (XYZ) during "Normal" and "Error" states.
    • Upload to Edge Impulse.
  2. Model Training

    • Extract features (Spectral Analysis).
    • Train K-Means Anomaly Detection or Neural Network.
  3. Deployment

    • Export C++ Library.
    • Integrate into Firmware:
      #include <edge-impulse-sdk.h>
      
      void loop() {
          // Fill buffer with sensor data
          signal_t signal;
          // ...
          
          // Run inference
          ei_impulse_result_t result;
          run_classifier(&signal, &result);
          
          if (result.classification[0].value > 0.8) {
              // Anomaly detected!
              sendAlertMQTT();
          }
      }
      


4. Patterns & Templates

Pattern 1: Device Shadow (Digital Twin)

Use case: Syncing state (e.g., "Light ON") when device is offline.

  • Cloud: App updates
    desired
    state:
    {"state": {"desired": {"light": "ON"}}}
    .
  • Device: Wakes up, subscribes to
    $aws/things/my-thing/shadow/update/delta
    .
  • Device: Sees delta, turns light ON.
  • Device: Reports
    reported
    state:
    {"state": {"reported": {"light": "ON"}}}
    .

Pattern 2: Last Will and Testament (LWT)

Use case: Detecting unexpected disconnections.

  • Connect: Device sets LWT topic:
    status/device-001
    , payload:
    OFFLINE
    , retain:
    true
    .
  • Normal: Device publishes
    ONLINE
    to
    status/device-001
    .
  • Crash: Broker detects timeout, auto-publishes the LWT payload (
    OFFLINE
    ).

Pattern 3: Deep Sleep Cycle (Battery Saving)

Use case: Running on coin cell for years.

void setup() {
    // 1. Init sensors
    // 2. Read data
    // 3. Connect WiFi/LoRa (fast!)
    // 4. TX data
    // 5. Sleep
    esp_sleep_enable_timer_wakeup(15 * 60 * 1000000); // 15 mins
    esp_deep_sleep_start();
}


6. Integration Patterns

backend-developer:

  • Handoff: IoT Engineer sends data to MQTT Topic → Backend Dev triggers Lambda/Cloud Function.
  • Collaboration: Defining JSON schema / Protobuf definition.
  • Tools: AsyncAPI.

data-engineer:

  • Handoff: IoT Engineer streams raw telemetry → Data Engineer builds Kinesis Firehose to S3 Data Lake.
  • Collaboration: Handling data quality/outliers from sensors.
  • Tools: IoT Analytics, Timestream.

mobile-app-developer:

  • Handoff: Mobile App connects via BLE to Device.
  • Collaboration: Defining GATT Service/Characteristic UUIDs.
  • Tools: nRF Connect.