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
- fbuild for embedded development
- C++ toolchain (clang, gcc, ninja, meson)
- fbuild's native QEMU runner for ESP32 emulation
- VS Code extensions:
- 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 via fbuild's native runner
uv run ci/stage_fbuild_project.py --board esp32s3 --example Blink --define FASTLED_ESP32_IS_QEMU
uv run fbuild test-emu --emulator qemu --environment esp32s3 --timeout 120 \
--halt-on-success 'Blink setup complete - starting blink loop' \
--halt-on-error 'Guru Meditation|abort\(\)|Backtrace:|TEST_SUITE_COMPLETE: FAIL|QEMU_LCD_CLOCKLESS_REGISTRATION: FAIL' \
.build/fbuild/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: fbuild's
~/.fastledcache 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
uv run fbuild --versionto verify the pinned installation - Run
uv syncto restore the repository-managed toolchain
- 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.