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.0a3-py3-none-win_arm64.whl (2.5 MB view details)

Uploaded Python 3Windows ARM64

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

Uploaded Python 3Windows x86-64

pymcu_avr-0.1.0a3-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.0a3-py3-none-manylinux_2_28_aarch64.whl (2.7 MB view details)

Uploaded Python 3manylinux: glibc 2.28+ ARM64

pymcu_avr-0.1.0a3-py3-none-macosx_26_0_arm64.whl (2.6 MB view details)

Uploaded Python 3macOS 26.0+ ARM64

pymcu_avr-0.1.0a3-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.0a3-py3-none-win_arm64.whl.

File metadata

  • Download URL: pymcu_avr-0.1.0a3-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.1 {"installer":{"name":"uv","version":"0.12.1","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.0a3-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 c1b58f8f53060c0dbd197edd83ef6be7dac5521171edeafaa9f047b474585a0f
MD5 8bc11037061e4222ef0e97515df0d4f0
BLAKE2b-256 4b7bdedf5cf7c87918c389232e5621f2d0332e3e21c1b506dfbca037b9c54f98

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymcu_avr-0.1.0a3-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.1 {"installer":{"name":"uv","version":"0.12.1","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.0a3-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 3d13d25e47e3828bfcc0236d4a7408a63fc6c490071125ecb33e484844775dc6
MD5 48aa9ca27422d559fa383efc2d8c9b1a
BLAKE2b-256 456d58ce6d3725702cee28a4ec217faf2ae2c2543c46118eb07aec508df75ccf

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymcu_avr-0.1.0a3-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.1 {"installer":{"name":"uv","version":"0.12.1","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.0a3-py3-none-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ffbf8326d513122f29ab185304ad324fabd83ed2eaf6de9fdf579b5cc9f9881b
MD5 12a1c604cbf781259fda8f11e673b31f
BLAKE2b-256 b6a280ea576cae7869da727aaf586f1d16062453d6efbf52d2deb6624ba02aa3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymcu_avr-0.1.0a3-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.1 {"installer":{"name":"uv","version":"0.12.1","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.0a3-py3-none-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 325823caa997807699fb0b13019dd9f3da40ec9ee38e1af35b969b5da65c6870
MD5 b38433ec9dfd66b3b56778d42838069e
BLAKE2b-256 1380e448fe163ce01fd856f47e9e630eb0c96c2b96d0f439c469b17a457d2621

See more details on using hashes here.

File details

Details for the file pymcu_avr-0.1.0a3-py3-none-macosx_26_0_arm64.whl.

File metadata

  • Download URL: pymcu_avr-0.1.0a3-py3-none-macosx_26_0_arm64.whl
  • Upload date:
  • Size: 2.6 MB
  • Tags: Python 3, macOS 26.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","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.0a3-py3-none-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 93f1c4bca73377765fb9fc43f81ae34aaba5aac5997baa185495d3211394afe6
MD5 317c2ef89eead2ab800c414c24880141
BLAKE2b-256 a1e018e3de13724a2144ae8525819ef647c1d35a30811ef7ce6b6ec9954e9473

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymcu_avr-0.1.0a3-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.1 {"installer":{"name":"uv","version":"0.12.1","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.0a3-py3-none-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 545ee41895defbd9c92de3c85d764a86252d7a62b5221f0157ed576252308b38
MD5 f4d2fa1cd99a04f4eabcfb260aa53877
BLAKE2b-256 d19568f2d0aaea52fedd3b5ba6b83eba8043695a9d1d8dbfa35033b51ce27303

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