jeffallan/sistemas-embarcados

Use ao desenvolver firmware para microcontroladores, implementar aplicações RTOS ou otimizar consumo de energia. Invocar para STM32, ESP32, FreeRTOS, bare-metal, otimização de energia, sistemas em tempo real, configurar periféricos, escrever manipuladores de interrupção, implementar transferências DMA, depurar problemas de temporização.

O que é sistemas-embarcados?

A skill **jeffallan/embedded-systems** é especializada no desenvolvimento de firmware para microcontroladores e sistemas embarcados, abrangendo desde programação bare-metal até aplicações com RTOS (FreeRTOS). Ela oferece orientação para configuração de periféricos (como temporizadores, GPIOs, ADC, SPI, I2C), implementação de controladores de interrupção (ISRs), gerenciamento de transferências DMA e técnicas de otimização de consumo de energia para plataformas populares como STM32 e ESP32. Suporta a depuração de problemas relacionados a temporização e sincronismo em sistemas em tempo real, ajudando o desenvolvedor a evitar armadilhas comuns como condições de corrida e latência excessiva. Essa skill é ideal para engenheiros e entusiastas de eletrônica que trabalham com projetos de IoT, robótica, automação industrial ou dispositivos de baixa potência, atuando como um consultor técnico para projetar soluções eficientes e robustas. Ela se integra perfeitamente com agentes de IA como Claude Code, Cursor e Codex, fornecendo exemplos de código C/C++, diagramas de inicialização e estratégias de depuração diretamente no contexto do projeto.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/jeffallan/claude-skills/tree/main/skills/embedded-systems

Installed? Explore more Programação e Desenvolvimento skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

O que sistemas-embarcados faz?

Use ao desenvolver firmware para microcontroladores, implementar aplicações RTOS ou otimizar consumo de energia. Invocar para STM32, ESP32, FreeRTOS, bare-metal, otimização de energia, sistemas em tempo real, configurar periféricos, escrever manipuladores de interrupção, implementar transferências DMA, depurar problemas de temporização.

Visão Geral

Esta skill fornece orientação especializada para desenvolvimento de sistemas embarcados, cobrindo desde a inicialização de hardware (clock, GPIO, interrupções) até conceitos avançados como DMA, RTOS e gerenciamento de energia. Ela é útil tanto para iniciantes quanto para desenvolvedores experientes que precisam de um assistente para tarefas rotineiras ou depuração de problemas complexos.

Principais Recursos

  • Configuração de Periféricos: Auxilia na configuração de temporizadores (PWM, captura de entrada), UART, SPI, I2C, ADC, DAC e outros periféricos comuns.
  • Manipuladores de Interrupção (ISRs): Fornece exemplos e boas práticas para escrever ISRs eficientes, evitando bloqueios e minimizando latência.
  • Transferências DMA: Explica como configurar e usar DMA para transferir dados sem sobrecarregar a CPU.
  • Otimização de Consumo de Energia: Sugere modos de baixo consumo (sleep, deep sleep, standby) e técnicas para reduzir o consumo em projetos com bateria.
  • Sistemas em Tempo Real: Ajuda a projetar tarefas com FreeRTOS, gerenciar semáforos, filas e temporizadores, evitando deadlocks e starvation.
  • Depuração de Temporização: Identifica problemas como jitter, glitches de clock e violações de timing.

Plataformas Suportadas

  • STM32 (série F, G, H, L, etc.)
  • ESP32 (ESP-IDF, Arduino core)
  • FreeRTOS (qualquer port)
  • Bare-metal (sem RTOS)

Como Usar

Para ativar esta skill em seu agente (Claude Code, Cursor, Codex), simplesmente faça perguntas ou solicitações relacionadas ao contexto de sistemas embarcados. Exemplos:

  • "Configure um timer para gerar PWM no STM32F103 com frequência de 50 Hz."
  • "Como otimizar o consumo de energia no ESP32 durante o modo deep-sleep?"
  • "Escreva um handler de interrupção para o botão no FreeRTOS."
  • "Explique como implementar DMA para transferência de dados de ADC no STM32."

Dicas e Boas Práticas

  • Sempre verifique a folha de dados do microcontrolador para pinagem e registros específicos.
  • Use semáforos binários no FreeRTOS para sincronizar ISRs com tarefas.
  • Em projetos de baixo consumo, evite polling e prefira interrupções ou DMA.
  • Para depuração de timing, utilize um osciloscópio ou analisador lógico para medir sinais reais.

Limitações

  • Esta skill não substitui a leitura da documentação oficial do fabricante (ex: RM0008, ESP32 Technical Reference).
  • Ela oferece orientações genéricas; ajustes finos podem ser necessários dependendo da versão do hardware ou do SDK.

Contribuição

Reporte issues ou sugestões no repositório jeffallan/embedded-systems.

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

jeffallan/angular-architect

Generates Angular 17+ standalone components, configures advanced routing with lazy loading and guards, implements NgRx state management, applies RxJS patterns, and optimizes bundle performance. Use when building Angular 17+ applications with standalone components or signals, setting up NgRx stores, establishing RxJS reactive patterns, performance tuning, or writing Angular tests for enterprise apps.

jeffallan/api-designer

Use when designing REST or GraphQL APIs, creating OpenAPI specifications, or planning API architecture. Invoke for resource modeling, versioning strategies, pagination patterns, error handling standards.

jeffallan/architecture-designer

Use when designing new high-level system architecture, reviewing existing designs, or making architectural decisions. Invoke to create architecture diagrams, write Architecture Decision Records (ADRs), evaluate technology trade-offs, design component interactions, and plan for scalability. Use for system design, architecture review, microservices structuring, ADR authoring, scalability planning, and infrastructure pattern selection — distinct from code-level design patterns or database-only design tasks.

jeffallan/atlassian-mcp

Integrates with Atlassian products to manage project tracking and documentation via MCP protocol. Use when querying Jira issues with JQL filters, creating and updating tickets with custom fields, searching or editing Confluence pages with CQL, managing sprints and backlogs, setting up MCP server authentication, syncing documentation, or debugging Atlassian API integrations.

jeffallan/chaos-engineer

Designs chaos experiments, creates failure injection frameworks, and facilitates game day exercises for distributed systems — producing runbooks, experiment manifests, rollback procedures, and post-mortem templates. Use when designing chaos experiments, implementing failure injection frameworks, or conducting game day exercises. Invoke for chaos experiments, resilience testing, blast radius control, game days, antifragile systems, fault injection, Chaos Monkey, Litmus Chaos.

jeffallan/cli-developer

Use when building CLI tools, implementing argument parsing, or adding interactive prompts. Invoke for parsing flags and subcommands, displaying progress bars and spinners, generating bash/zsh/fish completion scripts, CLI design, shell completions, and cross-platform terminal applications using commander, click, typer, or cobra.

jeffallan/cloud-architect

Designs cloud architectures, creates migration plans, generates cost optimization recommendations, and produces disaster recovery strategies across AWS, Azure, and GCP. Use when designing cloud architectures, planning migrations, or optimizing multi-cloud deployments. Invoke for Well-Architected Framework, cost optimization, disaster recovery, landing zones, security architecture, serverless design.

jeffallan/code-documenter

Generates, formats, and validates technical documentation — including docstrings, OpenAPI/Swagger specs, JSDoc annotations, doc portals, and user guides. Use when adding docstrings to functions or classes, creating API documentation, building documentation sites, or writing tutorials and user guides. Invoke for OpenAPI/Swagger specs, JSDoc, doc portals, getting started guides.

jeffallan/code-reviewer

Analyzes code diffs and files to identify bugs, security vulnerabilities (SQL injection, XSS, insecure deserialization), code smells, N+1 queries, naming issues, and architectural concerns, then produces a structured review report with prioritized, actionable feedback. Use when reviewing pull requests, conducting code quality audits, identifying refactoring opportunities, or checking for security issues. Invoke for PR reviews, code quality checks, refactoring suggestions, review code, code quality. Complements specialized skills (security-reviewer, test-master) by providing broad-scope review across correctness, performance, maintainability, and test coverage in a single pass.

jeffallan/cpp-pro

Writes, optimizes, and debugs C++ applications using modern C++20/23 features, template metaprogramming, and high-performance systems techniques. Use when building or refactoring C++ code requiring concepts, ranges, coroutines, SIMD optimization, or careful memory management — or when addressing performance bottlenecks, concurrency issues, and build system configuration with CMake.

jeffallan/csharp-developer

Use when building C# applications with .NET 8+, ASP.NET Core APIs, or Blazor web apps. Builds REST APIs using minimal or controller-based routing, configures database access with Entity Framework Core, implements async patterns and cancellation, structures applications with CQRS via MediatR, and scaffolds Blazor components with state management. Invoke for C#, .NET, ASP.NET Core, Blazor, Entity Framework, EF Core, Minimal API, MAUI, SignalR.

jeffallan/database-optimizer

Optimizes database queries and improves performance across PostgreSQL and MySQL systems. Use when investigating slow queries, analyzing execution plans, or optimizing database performance. Invoke for index design, query rewrites, configuration tuning, partitioning strategies, lock contention resolution.

jeffallan/debugging-wizard

Parses error messages, traces execution flow through stack traces, correlates log entries to identify failure points, and applies systematic hypothesis-driven methodology to isolate and resolve bugs. Use when investigating errors, analyzing stack traces, finding root causes of unexpected behavior, troubleshooting crashes, or performing log analysis, error investigation, or root cause analysis.

jeffallan/devops-engineer

Creates Dockerfiles, configures CI/CD pipelines, writes Kubernetes manifests, and generates Terraform/Pulumi infrastructure templates. Handles deployment automation, GitOps configuration, incident response runbooks, and internal developer platform tooling. Use when setting up CI/CD pipelines, containerizing applications, managing infrastructure as code, deploying to Kubernetes clusters, configuring cloud platforms, automating releases, or responding to production incidents. Invoke for pipelines, Docker, Kubernetes, GitOps, Terraform, GitHub Actions, on-call, or platform engineering.

jeffallan/django-expert

Use when building Django web applications or REST APIs with Django REST Framework. Invoke when working with settings.py, models.py, manage.py, or any Django project file. Creates Django models with proper indexes, optimizes ORM queries using select_related/prefetch_related, builds DRF serializers and viewsets, and configures JWT authentication. Trigger terms: Django, DRF, Django REST Framework, Django ORM, Django model, serializer, viewset, Python web.

jeffallan/dotnet-core-expert

Use when building .NET 8 applications with minimal APIs, clean architecture, or cloud-native microservices. Invoke for Entity Framework Core, CQRS with MediatR, JWT authentication, AOT compilation.

jeffallan/fastapi-expert

Use when building high-performance async Python APIs with FastAPI and Pydantic V2. Invoke to create REST endpoints, define Pydantic models, implement authentication flows, set up async SQLAlchemy database operations, add JWT authentication, build WebSocket endpoints, or generate OpenAPI documentation. Trigger terms: FastAPI, Pydantic, async Python, Python API, REST API Python, SQLAlchemy async, JWT authentication, OpenAPI, Swagger Python.

jeffallan/feature-forge

Conducts structured requirements workshops to produce feature specifications, user stories, EARS-format functional requirements, acceptance criteria, and implementation checklists. Use when defining new features, gathering requirements, or writing specifications. Invoke for feature definition, requirements gathering, user stories, EARS format specs, PRDs, acceptance criteria, or requirement matrices.

jeffallan/fine-tuning-expert

Use when fine-tuning LLMs, training custom models, or adapting foundation models for specific tasks. Invoke for configuring LoRA/QLoRA adapters, preparing JSONL training datasets, setting hyperparameters for fine-tuning runs, adapter training, transfer learning, finetuning with Hugging Face PEFT, OpenAI fine-tuning, instruction tuning, RLHF, DPO, or quantizing and deploying fine-tuned models. Trigger terms include: LoRA, QLoRA, PEFT, finetuning, fine-tuning, adapter tuning, LLM training, model training, custom model.

jeffallan/flutter-expert

Use when building cross-platform applications with Flutter 3+ and Dart. Invoke for widget development, Riverpod/Bloc state management, GoRouter navigation, platform-specific implementations, performance optimization.

Habilidades Relacionadas