Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

pymcu-avr

AVR (ATmega/ATtiny) backend for the PyMCU compiler. Free and open source.

Bundles the pymcuc-avr AOT binary that reads .mir IR files and emits AVR assembly, then drives the AVR toolchain to produce a flashable Intel HEX file.

Pipeline

pymcuc --emit-ir        →  firmware.mir    (target-agnostic IR)
pymcuc-avr (this pkg)   →  firmware.asm    (AVR assembly)
avr-as / avra           →  firmware.hex    (Intel HEX)

Installation

pip install pymcu-avr

The AVR toolchain (avr-gcc, avr-as, avr-objcopy) is sourced (in order) from the pymcu-avr-toolchain wheel cache, common system install paths, or PATH. A system avr-gcc also works with no extra package:

# macOS
brew tap osx-cross/avr && brew install avr-gcc

# Debian/Ubuntu
apt install gcc-avr binutils-avr avr-libc

Supported targets

Families: atmega, attiny, at90, atxmega.
Examples: ATmega328P, ATmega2560, ATmega32U4, ATtiny85.

Layout

src/python/pymcu/backend/avr/     backend plugin — wraps pymcuc-avr
src/python/pymcu/toolchain/avr/   AVR toolchain driver (assemble → HEX)
src/csharp/lib/                   AvrBackendProvider + codegen
src/csharp/cli/                   pymcuc-avr runner CLI
src/csharp/debugserver/           GDB-stub debug server
src/csharp/profiler/              cycle-accurate profiler

Status

Alpha (API) / stable (codegen). 700+ integration tests green across ATmega328P, ATmega2560, ATmega32U4, ATtiny85.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pymcu_avr-0.1.0a5-py3-none-win_arm64.whl (2.5 MB view details)

Uploaded Python 3Windows ARM64

pymcu_avr-0.1.0a5-py3-none-win_amd64.whl (2.6 MB view details)

Uploaded Python 3Windows x86-64

pymcu_avr-0.1.0a5-py3-none-manylinux_2_28_x86_64.whl (2.9 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ x86-64

pymcu_avr-0.1.0a5-py3-none-manylinux_2_28_aarch64.whl (2.7 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ ARM64

pymcu_avr-0.1.0a5-py3-none-macosx_14_0_arm64.whl (2.7 MB view details)

Uploaded Python 3macOS 14.0+ ARM64

pymcu_avr-0.1.0a5-py3-none-macosx_13_0_x86_64.whl (2.9 MB view details)

Uploaded Python 3macOS 13.0+ x86-64

File details

Details for the file pymcu_avr-0.1.0a5-py3-none-win_arm64.whl.

File metadata

  • Download URL: pymcu_avr-0.1.0a5-py3-none-win_arm64.whl
  • Upload date:
  • Size: 2.5 MB
  • Tags: Python 3, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pymcu_avr-0.1.0a5-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 38721925fd58293828bb4f8672d804f7dbdc189164a25bb6a8f6af7ed67149e5
MD5 6ebd93c9e9e6c84227b9d980ea977b0f
BLAKE2b-256 b76b4af8343aa14487231250c352b412fc10aea729facd57d5206d423ec2b47d

See more details on using hashes here.

File details

Details for the file pymcu_avr-0.1.0a5-py3-none-win_amd64.whl.

File metadata

  • Download URL: pymcu_avr-0.1.0a5-py3-none-win_amd64.whl
  • Upload date:
  • Size: 2.6 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pymcu_avr-0.1.0a5-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 042184a8456c5b6ef7d7b405f697b35faa1ddb87728e7b7a551051764b8328f3
MD5 f4acaf4154612549a57d51540c1a68cd
BLAKE2b-256 660ca27ce90ef1a08487578acdc1b5a4144b878a217d706c4a418e4ae3d47c13

See more details on using hashes here.

File details

Details for the file pymcu_avr-0.1.0a5-py3-none-manylinux_2_28_x86_64.whl.

File metadata

  • Download URL: pymcu_avr-0.1.0a5-py3-none-manylinux_2_28_x86_64.whl
  • Upload date:
  • Size: 2.9 MB
  • Tags: Python 3, manylinux: glibc 2.28+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pymcu_avr-0.1.0a5-py3-none-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f536e85eba3a14a2df5da50dc6e409c5f3169022f9fdee6a57908c4e74fb8dff
MD5 92222b8fd637b69acf81e2b35914e94e
BLAKE2b-256 08dc8396f25b662009c0411663c59ed78cfb195306708f9a6fc5a0eadb2abd3a

See more details on using hashes here.

File details

Details for the file pymcu_avr-0.1.0a5-py3-none-manylinux_2_28_aarch64.whl.

File metadata

  • Download URL: pymcu_avr-0.1.0a5-py3-none-manylinux_2_28_aarch64.whl
  • Upload date:
  • Size: 2.7 MB
  • Tags: Python 3, manylinux: glibc 2.28+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pymcu_avr-0.1.0a5-py3-none-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 925cd3ea258c35938b7083fba47f00b8362f971cfbd8841c3edbf2e822f786f7
MD5 346f834547a472b60e89551342ec09d7
BLAKE2b-256 be602e6d7c5a19cef6e41743e16937a8145eceff69e4bd756e9b2d86afbd8338

See more details on using hashes here.

File details

Details for the file pymcu_avr-0.1.0a5-py3-none-macosx_14_0_arm64.whl.

File metadata

  • Download URL: pymcu_avr-0.1.0a5-py3-none-macosx_14_0_arm64.whl
  • Upload date:
  • Size: 2.7 MB
  • Tags: Python 3, macOS 14.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pymcu_avr-0.1.0a5-py3-none-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 6dd302fd0d8111644ea480d978c49e464fbc07b26a744dafab2b3fc769d1e269
MD5 dce57f5d99c12ca192a304d6b274227e
BLAKE2b-256 f323b37ab6ce61b357cd4d532e53aede6b87a1cc354a65092a67d484af728ae7

See more details on using hashes here.

File details

Details for the file pymcu_avr-0.1.0a5-py3-none-macosx_13_0_x86_64.whl.

File metadata

  • Download URL: pymcu_avr-0.1.0a5-py3-none-macosx_13_0_x86_64.whl
  • Upload date:
  • Size: 2.9 MB
  • Tags: Python 3, macOS 13.0+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pymcu_avr-0.1.0a5-py3-none-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 ea6a4ab2a1c8719ee3ff96682d5dfde842d6034b9db58828c4e1beb050db712c
MD5 23ff2e1517e2cfd96feb46d338c6196c
BLAKE2b-256 88b2493b073a7c523e939820550a0a740fdb81817921057448e4569e149bbf3a

See more details on using hashes here.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page