platformio-env

Configure ESP32 PlatformIO environments with platformio.ini and library pinning.

25|7|Updated Mar 4, 2019
One-click install
npx skills add https://github.com/smart-swimmingpool/pool-controller --skill platformio-env
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: platformio-env
Source: https://github.com/smart-swimmingpool/pool-controller/tree/main/.opencode/skills/platformio-env
Command: npx skills add https://github.com/smart-swimmingpool/pool-controller --skill platformio-env

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

PlatformIO environment configuration for ESP32 pool-controller projects; this skill documents build environments, platformio.ini configuration, library management, Python venv usage, and CI integration to reduce setup time and mistakes.

Core Features & Use Cases

  • PlatformIO.ini deep dive covering default_envs, [env] blocks, and build flags; explains how to add new targets and override settings.
  • Library management and version pinning strategies for ESP32 projects (ArduinoJson, PubSubClient, OneWire, etc.).
  • Python virtual environment management for PlatformIO CLI and CI with a sample venv layout.
  • CI/CD integration guidance for GitHub Actions, GitLab CI, and CI hints for local development.
  • PlatformIO static checks (pio check) and debugging workflows.

Quick Start

Run the skill to review and configure the ESP32 PlatformIO environment for the pool-controller project.

Frequently Asked Questions about platformio-env

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I configure platformio.ini for ESP32 builds?

Configuring platformio.ini for ESP32 builds involves structuring default_envs, [env] blocks, and build flags to define targets and override settings for reproducible environments.

What's the best way to pin library versions in PlatformIO?

The best way to pin library versions in PlatformIO is specifying library names and version tags within the lib_deps section, ensuring consistent dependencies like ArduinoJson and PubSubClient across ESP32 projects.

Does PlatformIO CLI need a Python venv for CI integration?

Yes, PlatformIO CLI needs a Python venv for CI integration to isolate dependencies and ensure reproducible builds, providing a sample venv layout that maintains consistent environments across local development and CI workflows.

Can I use GitHub Actions for ESP32 PlatformIO CI workflows?

Yes, you can use GitHub Actions for ESP32 PlatformIO CI workflows by defining build steps that leverage Python venv setup and PlatformIO CLI commands, ensuring automated, reproducible builds upon repository commits.

Why does my ESP32 PlatformIO build fail due to environment inconsistencies?

Your ESP32 PlatformIO build fails due to environment inconsistencies if platformio.ini lacks proper version pinning or Python venv isolation, causing mismatched library dependencies or conflicting build flags across different development machines.

How do I run static checks and debugging in PlatformIO?

To run static checks and debugging in PlatformIO, use the pio check command for static analysis and configure debugging workflows within your environment definitions to identify ESP32 code issues before deployment.