Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
travisjneuman avatar

Embedded Iot

  • 161 installs
  • 86 repo stars
  • Updated July 17, 2026
  • travisjneuman/.claude

Helps with ai & agent building tasks during AI-assisted development.

About

embedded-iot is a Claude Code skill for ai & agent building. It helps solo builders move faster with AI-assisted coding.

  • embedded-iot
  • AI & Agent Building
  • AI-coding skill

Embedded Iot by the numbers

  • 161 all-time installs (skills.sh)
  • +9 installs in the week ending Aug 5, 2026 (Skillselion tracking)
  • Ranked #3,231 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/travisjneuman/.claude --skill embedded-iot

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs161
repo stars86
Last updatedJuly 17, 2026
Repositorytravisjneuman/.claude

What it does

Helps with ai & agent building tasks during AI-assisted development.

Files

SKILL.mdMarkdownGitHub ↗

Embedded Systems & IoT

Microcontroller Platforms

PlatformBest ForLanguageIDE
ESP32WiFi/BLE IoT devicesC/C++, MicroPythonPlatformIO, Arduino IDE
STM32Industrial, real-timeC/C++STM32CubeIDE, PlatformIO
ArduinoPrototyping, learningC++ (Arduino)Arduino IDE, PlatformIO
Raspberry Pi PicoRP2040, dual-coreC/C++, MicroPythonThonny, VS Code
nRF52BLE-focused IoTC, ZephyrnRF Connect SDK

Firmware Patterns

GPIO & Peripherals

// ESP-IDF GPIO example
gpio_config_t io_conf = {
    .pin_bit_mask = (1ULL << GPIO_NUM_2),
    .mode = GPIO_MODE_OUTPUT,
    .pull_up_en = GPIO_PULLUP_DISABLE,
    .pull_down_en = GPIO_PULLDOWN_DISABLE,
    .intr_type = GPIO_INTR_DISABLE,
};
gpio_config(&io_conf);
gpio_set_level(GPIO_NUM_2, 1);

I2C Communication

// Read sensor via I2C
i2c_cmd_handle_t cmd = i2c_cmd_link_create();
i2c_master_start(cmd);
i2c_master_write_byte(cmd, (SENSOR_ADDR << 1) | I2C_MASTER_WRITE, true);
i2c_master_write_byte(cmd, REG_TEMP, true);
i2c_master_start(cmd);
i2c_master_write_byte(cmd, (SENSOR_ADDR << 1) | I2C_MASTER_READ, true);
i2c_master_read(cmd, data, 2, I2C_MASTER_LAST_NACK);
i2c_master_stop(cmd);
i2c_master_cmd_begin(I2C_NUM_0, cmd, pdMS_TO_TICKS(1000));
i2c_cmd_link_delete(cmd);

RTOS (FreeRTOS)

// Task creation
void sensor_task(void *pvParameters) {
    while (1) {
        float temp = read_temperature();
        xQueueSend(data_queue, &temp, portMAX_DELAY);
        vTaskDelay(pdMS_TO_TICKS(1000));
    }
}
xTaskCreate(sensor_task, "sensor", 4096, NULL, 5, NULL);

// Mutex for shared resources
SemaphoreHandle_t spi_mutex = xSemaphoreCreateMutex();
if (xSemaphoreTake(spi_mutex, pdMS_TO_TICKS(100)) == pdTRUE) {
    spi_transfer(data);
    xSemaphoreGive(spi_mutex);
}

IoT Protocols

MQTT

// ESP-IDF MQTT client
esp_mqtt_client_config_t mqtt_cfg = {
    .broker.address.uri = "mqtt://broker.hivemq.com",
};
esp_mqtt_client_handle_t client = esp_mqtt_client_init(&mqtt_cfg);
esp_mqtt_client_start(client);
esp_mqtt_client_publish(client, "/sensors/temp", "23.5", 0, 1, 0);

Key IoT Protocols

ProtocolTransportUse Case
MQTTTCP/TLSPub/sub messaging, telemetry
CoAPUDP/DTLSConstrained devices, REST-like
BLERadioShort-range, low power
LoRaWANRadioLong-range, low data rate
MatterIPSmart home interoperability

Best Practices

  • Power management: Deep sleep modes, wake-on-interrupt, duty cycling
  • Watchdog timers: Always enable, reset periodically, catch firmware hangs
  • OTA updates: Dual partition scheme, rollback on boot failure, signature verification
  • Memory: Static allocation preferred, avoid heap fragmentation, use memory pools
  • Testing: Hardware-in-the-loop (HIL), mock hardware interfaces for unit tests

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.