mcpField
I
iot-engineer

iot-engineer

github.com/404kidwizDevelopment170 installs
Repository

About iot-engineer

iot-engineer is a development skill for designing IoT systems, embedded firmware, and device connectivity. It covers the path from device to cloud, including power management, edge AI, and security considerations.

Key features

  1. 01End-to-end IoT architecture guidance
  2. 02Firmware for ESP32, STM32, and Nordic nRF
  3. 03MQTT v5 and wireless protocol selection
  4. 04Battery and power optimization
  5. 05TinyML deployment guidance
  6. 06IoT security review guidance

Use cases

  1. 01Planning a device-to-gateway-to-cloud system
  2. 02Implementing MQTT messaging patterns
  3. 03Reducing power use in battery devices
  4. 04Deploying anomaly detection on ESP32

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/404kidwiz/claude-supercode-skills --skill iot-engineer

After installing, type/iot-engineerin Claude Code to confirm it loaded.

Details

From the project README

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.

Comments

Markdown supported