Sign inSign up

bbaskovc/esp-idf

By bbaskovc

•Updated 4 months ago

ESP-IDF X.X.X development image with Node.js 20, npm tooling, ccache, and OpenOCD udev rules.

Image
Developer tools
0

224

bbaskovc/esp-idf repository overview

⁠ESP-IDF X.X.X Docker Image

Docker image for ESP-IDF X.X.X development and builds.

The image is based on:

espressif/idf:vX.X.X

It includes the standard Espressif ESP-IDF environment plus extra tools for embedded development, changelog workflows, and USB/JTAG access.

⁠Included In The Image

The base Espressif image already includes:

  • ESP-IDF X.X.X
  • ESP-IDF Python environment
  • Xtensa/RISC-V toolchains
  • CMake
  • Ninja
  • OpenOCD
  • Standard Espressif build tools

This image additionally installs:

  • git
  • udev
  • curl
  • usbutils
  • build-essential
  • ccache
  • Node.js 20 with npm

Global npm packages installed in the image:

  • conventional-changelog-cli
  • commitizen
  • cz-conventional-changelog

OpenOCD udev rules are copied to:

/etc/udev/rules.d/60-openocd.rules

⁠Pull The Image

docker pull bbaskovc/esp-idf:X.X.X

⁠Run An Interactive Shell

docker run --rm -it bbaskovc/esp-idf:X.X.X

⁠Build An ESP-IDF Project

Run this from an ESP-IDF project directory:

docker run --rm -it \
  -v "$PWD:/project" \
  -w /project \
  bbaskovc/esp-idf:X.X.X \
  idf.py build

⁠Flash Or Monitor Hardware

Example with a serial device:

docker run --rm -it \
  --device=/dev/ttyACM0 \
  -v "$PWD:/project" \
  -w /project \
  bbaskovc/esp-idf:X.X.X \
  idf.py -p /dev/ttyACM0 flash monitor

For USB/JTAG debugging with OpenOCD, the container may need broader USB access:

docker run --rm -it \
  --privileged \
  -v /dev/bus/usb:/dev/bus/usb \
  -v "$PWD:/project" \
  -w /project \
  bbaskovc/esp-idf:X.X.X \
  /bin/bash

⁠Notes

  • ESP-IDF ccache support is enabled with IDF_CCACHE_ENABLE=1.
  • The default working directory is /workspaces.
  • The default command is /bin/bash.
  • The official Espressif entrypoint is preserved: /opt/esp/entrypoint.sh.
  • This image does not include local project npm dependencies because the repository does not contain a package.json.

Tag summary

Content type

Image

Digest

sha256:2e7cae226…

Size

3.7 GB

Last updated

4 months ago

docker pull bbaskovc/esp-idf:v6.1