# arduino-code-generator

Генерирует код на C++ для плат UNO, ESP32 и RP2040: от опроса датчиков и устранения дребезга кнопок до конечных автоматов и сохранения в EEPROM.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 429 установок · ★ 26
- Автор: wedsamuel1230
- Лицензия: MIT · policy=mirror · начало файла — в конце страницы
- Исходник: https://github.com/wedsamuel1230/embedded-engineering-skills/tree/HEAD/skills/arduino-code-generator/SKILL.md
- Обновлён: 2026-10-15
- HTML: https://affpapa.org/nevibecode/skills/arduino-code-generator

## Что делает

Скилл добавляет набор шаблонов и скриптов для написания прошивок под микроконтроллеры. В репозиторий входят готовые примеры под девять категорий задач: фильтрация шумов АЦП (медиана, Калман, скользящее среднее), шины I2C и SPI, планировщик задач на `millis()` без задержек `delay()`, а также запись в память EEPROM и на SD-карты.

Генерация опирается на утилиту `scripts/generate_snippet.py`, которую можно запускать через `uv run` в интерактивном режиме или с передачей флагов `--pattern` и `--board`. Для проверки компиляции под UNO, ESP32 и RP2040 встроены скрипты `verify_patterns.sh` и `verify_patterns.ps1`.

Флаг целевой платы в шаблонизаторе выбирает заготовки, но не гарантирует работу на похожих микросхемах других ревизий. Перед генерацией коду требуются точные параметры оборудования: рабочее напряжение, номера пинов, версии библиотек и ограничения памяти SRAM.

## Установка

### Claude Code (родная платформа)

1. **Через Skills CLI (Vercel)**
```bash
npx skills add wedsamuel1230/embedded-engineering-skills --skill arduino-code-generator -a claude-code
```

2. **Вручную: положить файлы**
- Файл: `~/.claude/skills/arduino-code-generator/SKILL.md` — Папка скилла целиком; для одного проекта — .claude/skills/arduino-code-generator/

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add wedsamuel1230/embedded-engineering-skills --skill arduino-code-generator -a codex
```

2. **Вручную: положить файлы**
- Файл: `.agents/skills/arduino-code-generator/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add wedsamuel1230/embedded-engineering-skills --skill arduino-code-generator -a cursor
```

2. **Вручную: положить файлы**
- Файл: `.cursor/skills/arduino-code-generator/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install wedsamuel1230/embedded-engineering-skills arduino-code-generator
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/arduino-code-generator/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add wedsamuel1230/embedded-engineering-skills --skill arduino-code-generator -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/wedsamuel1230/embedded-engineering-skills --path skills/arduino-code-generator
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/arduino-code-generator/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add wedsamuel1230/embedded-engineering-skills --skill arduino-code-generator -a opencode
```

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/wedsamuel1230/embedded-engineering-skills/tree/HEAD/skills/arduino-code-generator/SKILL.md

## Когда брать
- Настроить неблокирующий опрос датчиков и задач через `millis()` без вызовов `delay()`
- Добавить программный антидребезг кнопок с отслеживанием длинных нажатий
- Отфильтровать шум аналоговых входов скользящим средним, медианой или алгоритмом Калмана
- Наладить запись логов в EEPROM с контролем CRC или на карту памяти FAT32

## Примеры запросов агенту
- Сгенерируй для ESP32 чтение датчика BME280 по шине I2C без блокирующих вызовов delay
- Создай скетч для Arduino UNO с программным антидребезгом кнопки на пине D2
- Сделай конечный автомат для платы RP2040 с записью показаний в EEPROM

## Похожие
- [Arduino MCP Server](https://affpapa.org/nevibecode/mcp/arduino-mcp-server.md) — MCP-сервер · ★ 23
- [esp32-ai-agent-skill](https://affpapa.org/nevibecode/plugins/esp32-ai-agent-skill.md) — плагин · ★ 52
- [ESP32 UI Library Development](https://affpapa.org/nevibecode/prompts/esp32-ui-library-development.md) — промпт · ★ 174676
- [arduino-azure-iot-edge-integration](https://affpapa.org/nevibecode/skills/arduino-azure-iot-edge-integration.md) — скилл · 100 установок
- [embedded-systems](https://affpapa.org/nevibecode/skills/embedded-systems.md) — скилл · 6800 установок
- [iot-developer](https://affpapa.org/nevibecode/skills/iot-developer.md) — скилл · 385 установок

Из того же набора: [wedsamuel1230/embedded-engineering-skills](https://affpapa.org/nevibecode/by/wedsamuel1230/embedded-engineering-skills.md) — 2 карточки

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
