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

Uploaded Python 3Windows ARM64

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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3manylinux: glibc 2.28+ ARM64

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

Uploaded Python 3macOS 14.0+ ARM64

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

File metadata

  • Download URL: pymcu_avr-0.1.0a9-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.5 {"installer":{"name":"uv","version":"0.12.5","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.0a9-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 a698ec8e4fa0c09fffd3871533b0cd7e45a17b73ab7151c36b38b09da6589477
MD5 de84b04dcbd32a60ae65bc92e739fc91
BLAKE2b-256 e6b0946181e2e25149e18b733bedcd6d581b9cd3446b77cb789caf7dc73d23f7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymcu_avr-0.1.0a9-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.5 {"installer":{"name":"uv","version":"0.12.5","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.0a9-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 b2f76e7cb27de72e6f5173f05c51be86fcdb5fdf280da92f14344292936032e7
MD5 835cf585c00b6a692f4f78e322c56509
BLAKE2b-256 ee3275c3ded7be13d595ac55437ca6051b769a91abec5c26e0420e2da97494a9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymcu_avr-0.1.0a9-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.5 {"installer":{"name":"uv","version":"0.12.5","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.0a9-py3-none-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 02e9fa538786789b8a04b985db65d95ef1dea88e71aabb7acd6e3f958c1c49ba
MD5 e8b4c24dac27ebaefbfadbde72de0f65
BLAKE2b-256 17857fe7e60f8148709a72f1ad87f342adb8a5a26a24291981f8e3a782ca49bf

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymcu_avr-0.1.0a9-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.5 {"installer":{"name":"uv","version":"0.12.5","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.0a9-py3-none-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 b8dec8ad805e93d305fd78a34a5e93438ddccaf584a44bf6aee374b13c9efe04
MD5 6d2ae08a03f3785df1a165d524fb6345
BLAKE2b-256 f4d9294fcaf7cce5bb2a1759e625ec09accc030d895ed732266c936d63465958

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymcu_avr-0.1.0a9-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.5 {"installer":{"name":"uv","version":"0.12.5","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.0a9-py3-none-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 95262e148c075362d01ce987de43d0494c7b3982bafe615fb3d901d49f570206
MD5 3d23f10bb356346915d513416b2de78c
BLAKE2b-256 f5d6f541466a7b86e66b3b37bb10616fc20c162d621cd03c018a21f9851c0e92

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymcu_avr-0.1.0a9-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.5 {"installer":{"name":"uv","version":"0.12.5","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.0a9-py3-none-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 6052e17e8f48b75ed594af8604eafe86d18faaf46bbf00cf70539d390b603cc8
MD5 5f3d35f5365bfbef55a16578091e4f42
BLAKE2b-256 4d0dd4442826a96d23bab1678ed1bd4752f668ea90db7f099538994435300da9

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