Embedded Library Entry

SkillDev tools

Use when integrating, porting, configuring, or debugging third-party MCU embedded C libraries in bare-metal or RTOS projects

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Embedded Library Entry skill

What this skill tells your AI

The instructions your AI receives, as published by easyzoom/aix-skills in skills/embedded-library-entry/SKILL.md and read by ahel’s review.

Overview

Use this skill as the entry point for MCU library integration work. Classify the library type, target platform, runtime model, resource limits, and required porting layer before routing to a specific library skill.

When To Use

Use this skill when:

  • The user wants to add, port, configure, or debug an embedded C library.
  • The task involves MCU storage, logging, crash diagnosis, shell commands, filesystems, protocol stacks, UI, parsers, buttons, timers, queues, or state machines.
  • The target may be bare metal, RTOS-based, or resource-constrained.

Do not use this skill when the problem is only board bring-up, flashing, serial logs, or architecture faults. Use the embedded debug skills first.

First Questions

Ask only what is needed to route:

  • Library name and version or source repository.
  • Target MCU/SoC, compiler, and build system.
  • Runtime model: bare metal, FreeRTOS, RT-Thread, Zephyr, Linux, or unknown.
  • Memory/storage resources: RAM, flash, block device, filesystem, heap, stack, and whether dynamic allocation is allowed.
  • Existing porting layer: file I/O, flash driver, UART, timebase, mutex, malloc, display, network, or shell transport.
  • Current task: first integration, compile error, link error, runtime failure, performance issue, or data corruption.

Routing Guide

Storage & Filesystem

Library or taskPrefer
littlefs filesystem or block devicelittlefs-integration
FatFs disk I/O, FAT/exFATfatfs-integration
FlashDB KV/time-series databaseflashdb-integration

Logging & Diagnosis

Library or taskPrefer
EasyLogger output, filters, async logseasylogger-integration
CmBacktrace Cortex-M crash backtracecmbacktrace-integration
SEGGER RTT logs, control block, J-Link I/Osegger-rtt-integration

Shell & CLI

Library or taskPrefer
letter-shell command shellletter-shell-integration
nr_micro_shell tiny CLInr-micro-shell-integration
zoom-shell embedded consolezoom-shell-integration

Networking & Protocols

Library or taskPrefer
lwIP netif, DHCP, TCP, UDPlwip-integration
FreeRTOS+TCP network driver, socketsfreertos-plus-tcp-integration
MQTT client, keepalive, QoS, TLSmqtt-embedded-integration
FreeModbus RTU, ASCII, TCPfreemodbus-integration
OpenThread radio, mesh, commissioningopenthread-integration
CAN bus library, MCP2515, bit timingcanbus-integration
CANopen OD, NMT, SDO, PDO, heartbeatcanopen-integration
BLE GATT services, characteristics, MTUble-gatt-integration

UI & Display

Library or taskPrefer
LVGL display, input, tick, draw bufferslvgl-integration
U8g2 monochrome display, fontsu8g2-integration
E-paper EPD, busy timing, refresh modesepd-integration
TJpgDec embedded JPEG decodingtjpgd-integration

Security & Crypto

Library or taskPrefer
mbedTLS entropy, certificates, TLS handshakembedtls-integration
micro-ecc ECDH, ECDSA, keys, signaturesmicro-ecc-integration
TinyCrypt AES, SHA, HMAC, ECCtinycrypt-integration

Data & Serialization

Library or taskPrefer
cJSON, jsmn, inih parsersembedded-data-parsing-libs
nanopb Protocol Buffersnanopb-integration
CRC, checksum, integrity checkscrc-checksum-integration

USB & Transfer

Library or taskPrefer
TinyUSB device, host, CDC, MSC, HIDtinyusb-integration
XMODEM/YMODEM serial transfer, bootloaderymodem-xmodem-integration

Boot & OTA

Library or taskPrefer
MCUboot secure boot, slots, signingmcuboot-integration
OTA package, transport, rollbackota-update-integration

Compression

Library or taskPrefer
miniz DEFLATE, zlib, ZIPminiz-integration
heatshrink streaming compressionheatshrink-integration

DSP & ML

Library or taskPrefer
CMSIS-DSP math, FFT, filterscmsis-dsp-integration
TinyMaix MCU inference, model loadingtinymaix-integration

Input, Timers & State Machines

Library or taskPrefer
MultiButton, FlexibleButtonembedded-input-libs
MultiTimer, software timersembedded-timing-libs
Ring buffer, FIFO, MCU queuesembedded-buffer-queue-libs
State machine librariesembedded-state-machine-libs

Frameworks & Patterns

Library or taskPrefer
PLOOC object-oriented Cplooc-integration
Avem event-driven componentsavem-integration
Power management frameworkpower-management-integration
Embedded app examples adaptationembedded-app-example-libs

Testing

Library or taskPrefer
Unity, Ceedling, CMock embedded C testsunity-ceedling-integration

Fallback (not a library issue)

SymptomPrefer
MCU flash, erase, verify failuremcu-flashing-debug
UART transport or missing logsembedded-serial-log-debug
RTOS task, mutex, queue, stack issuertos-debug
Board power, reset, pin, or signal issuehardware-interface-debug

Workflow

  1. Route by library responsibility. Identify whether the library depends on storage, UART, RTOS primitives, heap, timers, display, network, or flash erase/program operations.

  2. Confirm platform contracts. Ask for the porting hooks the library expects and the project already provides.

  3. Preserve data and flash. Formatting filesystems, erasing database partitions, wiping logs, or changing flash layout requires explicit user approval.

  4. Keep integration minimal. Bring up one smallest working path before enabling optional features such as async logging, wear leveling stress tests, shell authentication, or compression.

  5. Verify with a target-relevant scenario. A library compiles successfully only proves syntax. Require a read/write, log, shell command, or crash capture that exercises the port layer.

Verification

Before moving to a specific library workflow:

  • State the selected library skill and why.
  • State target MCU/RTOS/compiler/build system if known.
  • Identify required porting hooks and missing inputs.
  • Confirm no data-destructive action has been recommended without approval.

Common Failures

  • Treating a library as portable because it compiles on desktop.
  • Enabling all optional features before the minimal port works.
  • Ignoring flash erase size, write alignment, and power-fail behavior.
  • Debugging library logic before validating the porting layer.
  • Assuming malloc, mutexes, time functions, or file APIs exist on bare metal.

Example

User:

我想在 STM32 项目里加 littlefs 保存配置。

Agent:

  1. Routes to littlefs-integration.
  2. Asks for flash layout, erase/program sizes, bad block assumptions, RTOS locking, and whether formatting is allowed.
  3. Verifies mount, format-if-approved, file write, sync, reboot, and readback.

Signals

GitHub stars
31
Forks
3
Last commit
Jul 2026
Advanced
Catalog kind
skill
Gateway key
embedded-library-entry
Source
github.com/easyzoom/aix-skills