This devcontainer configuration enables running FastLED development in the cloud using GitHub Codespaces or Gitpod.
- Navigate to the FastLED repository
- Click Code → Codespaces → Create codespace on main
- Wait 2-3 minutes for the container to build
- Start developing! All dependencies are pre-installed
Click this button or visit https://gitpod.io/#https://github.com/FastLED/FastLED:
- Python 3.11 with uv package manager
- PlatformIO for embedded development
- C++ toolchain (clang, gcc, ninja, meson)
- QEMU for ESP32 emulation
- VS Code extensions:
- PlatformIO IDE
- Python + Pylance
- C/C++ tools
All commands from the main repo work in the cloud environment:
# Run unit tests
uv run test.py
# Run C++ tests only
uv run test.py --cpp
# Run QEMU emulation tests
uv run test.py --qemu esp32s3
# Compile for specific platforms
uv run ci/ci-compile.py uno --examples Blink
uv run ci/ci-compile.py esp32s3 --examples Blink
# Lint code
bash lint
# Compile WASM
uv run ci/wasm_compile.py examples/Blink --just-compileCloud environments cannot access physical USB devices, so:
- ✅ Full compilation support for all 50+ platforms
- ✅ Unit tests run perfectly
- ✅ QEMU emulation for ESP32 testing
- ✅ WASM compilation and testing
- ❌ Physical device flashing requires local setup
For FastLED development, QEMU emulation provides excellent hardware validation without physical devices.
- Build speed: Cloud instances use 2-4 cores (free tier)
- Caching: PlatformIO cache is mounted for faster rebuilds
- First build: May take 5-10 minutes for initial dependency downloads
- Subsequent builds: Much faster due to caching
- Free tier: 120 core-hours/month (60 hours on 2-core)
- Paid tier: $0.18/hour for 4-core after free tier
- Free tier: 50 hours/month
- Paid tier: $0.36/hour for standard workspace
- Check that Python 3.11 feature is properly specified
- Ensure Dockerfile has correct base image
- Run
pio --versionto verify installation - Try reinstalling:
pip install --upgrade platformio
- First build takes longer - wait for complete dependency installation
- Check internet connection for package downloads
- Review test output for specific errors
To use this devcontainer locally with VS Code:
- Install Docker Desktop
- Install "Dev Containers" VS Code extension
- Open FastLED folder in VS Code
- Press
F1→ "Dev Containers: Reopen in Container"
This devcontainer configuration is designed for cloud-based FastLED development. If you encounter issues or have improvements, please open an issue or PR on the FastLED repository.