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

Uploaded Python 3Windows ARM64

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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3manylinux: glibc 2.28+ ARM64

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

Uploaded Python 3macOS 26.0+ ARM64

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

File metadata

  • Download URL: pymcu_avr-0.1.0a4-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.0a4-py3-none-win_arm64.whl
Algorithm Hash digest
SHA256 841f4d7a53e05045a5b19d2284a27a6a46aced5fa967259f2cd4a54c62024d0a
MD5 b38d7f99721f33b378d1211ff56671b6
BLAKE2b-256 eeb81224df98b55a0a3a02f51da7c83715380d8c7a74ad2a0aec700a029e4f91

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymcu_avr-0.1.0a4-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.0a4-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 4458081f993052710801afd77202fdfefca1d2ada56f3f9ee0a040604a8c7e15
MD5 c599ad30144f4ad65993563abfc3dcfe
BLAKE2b-256 0b0c0878749e94d2590d5e77994181c7d195207a26cf9af0d41c415c0d0bb8c5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymcu_avr-0.1.0a4-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.0a4-py3-none-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b4a3611a106fe59db8795a6dd8924c6ad53694a7deb5e198b9593a775bfae366
MD5 04f691f7ebd5001d16264d5b93d8336f
BLAKE2b-256 db4c17a085a5917dbdc8efd69922ab58e5654eaf6c9ff2d4beb55901e6ff1ad6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymcu_avr-0.1.0a4-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.0a4-py3-none-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 bc4402fecfc1917e36ed7f85aeab8b6a3216230ec90d53e6e603a5a7c6d9b62a
MD5 d0928d35d667c0a008d2246059292a27
BLAKE2b-256 ed88ee70d3e935871ca759c283ad7ce2057a8d6b46bef3a90a14d6c24df658fd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymcu_avr-0.1.0a4-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.0a4-py3-none-macosx_26_0_arm64.whl
Algorithm Hash digest
SHA256 adc7d7a596af7fce9e0df9b5928543111d75986bd95ef68bbdcaf7e6c3b71aef
MD5 53ee3c629b834fd429c8bbb20c9717e8
BLAKE2b-256 3a8fa84873c8c6326c52034b00b88c6f3d5d6309c6b6856148eecca069279086

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymcu_avr-0.1.0a4-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.0a4-py3-none-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 959ffe24c7e3eb665609c0f2a2608b4a55723119d6ad11ced00c000e8bb139c7
MD5 8a442dfc5b62bce33fc5dca8fec7d5e3
BLAKE2b-256 c7d052eb24a531f8fe9c5b6b2858615891004dbd9bfa50ac64f5c0687692085b

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