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.
pymcuc --emit-ir → firmware.mir (target-agnostic IR)
pymcuc-avr (this pkg) → firmware.asm (AVR assembly)
avr-as / avra → firmware.hex (Intel HEX)
pip install pymcu-avrThe 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-libcFamilies: atmega, attiny, at90, atxmega.
Examples: ATmega328P, ATmega2560, ATmega32U4, ATtiny85.
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
Alpha (API) / stable (codegen). 700+ integration tests green across ATmega328P, ATmega2560, ATmega32U4, ATtiny85.