8051-mcu-debug
Use when debugging 8051-compatible microcontrollers, 51 MCU firmware, STC download issues, Keil C51 projects, interrupts, timers,…
Use when integrating or debugging cellular AT modems (Quectel, SIMCom, u-blox) over UART for CREG/CEREG registration, CGDCONT APN/PDP, TCP/UDP sockets, or URC parsing
Claude Code
$ npx -y skills add easyzoom/aix-skills --skill cellular-at-modem-integration --agent claude-code
Codex
$ npx skills add easyzoom/aix-skills --skill cellular-at-modem-integration -a codex -y
Cursor
$ npx skills add easyzoom/aix-skills --skill cellular-at-modem-integration -a cursor -y
Gemini CLI
$ npx skills add easyzoom/aix-skills --skill cellular-at-modem-integration -a gemini-cli -y
GitHub Copilot
$ npx skills add easyzoom/aix-skills --skill cellular-at-modem-integration -a github-copilot -y
OpenCode
$ npx skills add easyzoom/aix-skills --skill cellular-at-modem-integration -a opencode -y
Windsurf
$ npx skills add easyzoom/aix-skills --skill cellular-at-modem-integration -a windsurf -y
name: cellular-at-modem-integration description: Use when integrating or debugging cellular AT modems (Quectel, SIMCom, u-blox) over UART for CREG/CEREG registration, CGDCONT APN/PDP, TCP/UDP sockets, or URC parsing
Use this skill to drive a 2G/4G/NB-IoT/LTE-M cellular modem from an MCU over UART with the AT command set. The hard parts are parsing unsolicited result codes (URCs) that interleave with command responses on one serial line, choosing the right registration command per radio access technology, using the correct socket command set for the specific module family, and getting PWRKEY boot timing right before any AT works.
Use this skill when:
Do not use this skill when the UART link itself is unproven; confirm the modem echoes `AT` with `OK` at the configured baud first.
Ask for:
1. Bring up the modem. Assert `PWRKEY` for the module's specified pulse width, wait for boot (often signalled by an `RDY` URC), then confirm `AT` returns `OK` and disable echo with `ATE0`.
1. Unlock and check signal. `AT+CPIN?` must return `+CPIN: READY`; `AT+CSQ` RSSI must be non-`99` (0-31 valid). Set `AT+CFUN=1` if radio is off.
1. Confirm registration on the right command. Use `AT+CREG?` for 2G/CS registration, `AT+CGREG?` for GPRS/PS, and `AT+CEREG?` for LTE/Cat-M1/NB-IoT (EPS). `<stat>` must be `1` (home) or `5` (roaming).
1. Define and activate the PDP context. `AT+CGDCONT=1,"IP","<apn>"`, then `AT+CGATT=1` to attach and `AT+CGACT=1,1` to activate. Verify an assigned IP with `AT+CGPADDR`.
1. Open the socket with the correct vendor stack for the module family.
1. Build a URC-aware parser. Run a line-based state machine that classifies each line as echo, intermediate (`>`), final (`OK`/`ERROR`/`+CME ERROR`), or URC (`RING`, `+CMTI:`, `+QIURC:`), and route URCs to callbacks instead of the command waiter.
Before claiming the link works:
User:
BG96 用 AT+CEREG? 一直返回 0,2,连不上网,该怎么查?
Agent:
1. Confirms boot done, `ATE0` set, then checks `AT+CPIN?` = `READY` and `AT+CSQ` is not `99`. 1. Verifies `AT+CFUN=1` and the APN via `AT+CGDCONT?`; fixes APN if wrong for the IoT SIM. 1. Waits for `+CEREG: 0,1`/`0,5`, then runs `AT+CGACT=1,1` and `AT+CGPADDR` before opening a socket with `AT+QIOPEN`.
AIX Skills is a public collection of Agent Skills, templates, and references for building repeatable AI workflows.
Use when debugging 8051-compatible microcontrollers, 51 MCU firmware, STC download issues, Keil C51 projects, interrupts, timers,…
Use when integrating, evaluating, configuring, or debugging Avem embedded C framework modules, event-driven components, drivers,…
Use when integrating or debugging Li-ion charger/fuel gauge ICs (BQ24295, BQ27441, MAX17048) over I2C, covering charge start,…
Use when integrating, designing, or debugging BLE GATT services, characteristics, descriptors, MTU, notifications, indications,…
Use when debugging embedded bootloaders, application jumps, vector table offsets, firmware upgrade flow, OTA state, image…
Use when integrating, porting, configuring, or debugging CAN bus libraries, CANBus-Triple, MCP2515, CAN frames, bit timing,…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.