{"id":34061295,"url":"https://github.com/clesav/yasimavr","last_synced_at":"2026-06-10T13:00:27.942Z","repository":{"id":44521173,"uuid":"461312643","full_name":"clesav/yasimavr","owner":"clesav","description":"Yet another simulator for Microchip AVR microcontrollers","archived":false,"fork":false,"pushed_at":"2026-06-03T12:38:40.000Z","size":1662,"stargazers_count":1,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-06-03T14:18:36.503Z","etag":null,"topics":["atmel-avr","avr","avr-simulator","debugger","embedded","microchip"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/clesav.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-02-19T21:03:26.000Z","updated_at":"2026-05-17T18:14:42.000Z","dependencies_parsed_at":"2023-09-26T20:40:23.903Z","dependency_job_id":"cf63d169-29b2-4e00-b5b9-38d1cda7d860","html_url":"https://github.com/clesav/yasimavr","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/clesav/yasimavr","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clesav%2Fyasimavr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clesav%2Fyasimavr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clesav%2Fyasimavr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clesav%2Fyasimavr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/clesav","download_url":"https://codeload.github.com/clesav/yasimavr/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/clesav%2Fyasimavr/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34153483,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-10T02:00:07.152Z","response_time":89,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["atmel-avr","avr","avr-simulator","debugger","embedded","microchip"],"created_at":"2025-12-14T04:47:14.460Z","updated_at":"2026-06-10T13:00:27.936Z","avatar_url":"https://github.com/clesav.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"yasimavr\n========\n\nYet another simulator for Microchip AVR microcontrollers, inspired from simavr\n------------------------------------------------------------------------------\n\n`yasimavr` is a simulator for AVR 8-bits microcontrollers.\nIt is mainly aimed at the Mega0 and later XT series (ATmega80x-160x-320x-480x and others)\nwith a possibility to work with older series. (ATMega48/88/168/328 and others)\n\nIt is composed of 2 layers:\n\n* a C++ layer for the core API and the various peripheral simulation models\n* a Python layer to handle the configuration, utilities, data recording, and external components\n\nInstallation\n------------\n\nPrerequisites:\n**************\n\n* Python (\u003e=3.9) and PIP\n* For Linux distributions, libelf is required: (for example: ``sudo apt-get install libelf-dev``)\n\nInstall:\n********\n\n* execute: ``pip install yasimavr``\n\nThe python bindings for the C++ librairies are built with the SIP tool from RiverbankComputing\n(https://www.riverbankcomputing.com)\n\nThanks\n------\n\nQuite a few ideas in this software - and even big chunks of code - originate from simavr.\n(https://github.com/buserror/simavr)\nBig thanks to the simavr authors for this great tool !\n\nSupported IOs\n--------------\n\n* GPIO\n* SPI\n* TWI\n* USART\n\nSupported Cores\n---------------\n\nThe package includes a predefined set of MCU models:\n\n* ATMegaxx8 series (ATMega48/88/168/328)\n* ATTinyx4 series (ATTiny24/44/84)\n* ATMega 0-series (ATMega808/809/1608/1609/3208/3209/4808/4809)\n* ATTiny 0-series (ATTiny202/204/402/404/406/804/806/807/1604/1606/1607)\n\nOther device models can be easily simulated by creating a YAML config file.\nA template is provided, and the example `atgiga4809` shows how to load and use a customised device configuration.\nNew simulation models for peripherals can be created in Python or C++ using the provided API.\n\nFeatures\n--------\n\n* Real-time/Fast mode : yasimavr can try to sync the simulated time with system time or run as fast as possible\n* AVR-GDB integration : yasimavr can acts as a GDB backend stub, with support for breakpoints and watchpoints\n* VCD export : yasimavr can export traces of pin states, GPIO ports, interrupt vectors, memory locations or generic signals in Value Change Dump (VCD) files\n* MCU dump : at any point of the simulation, yasimavr can create a snapshot of the state of the MCU model, including all registers and memories and save it in a text file.\n* \"Zombie\" mode : yasimavr can directly interact with simulated peripherals by acting as the CPU. This is useful to verify customised peripheral models or a test script.\n* Probing : yasimavr can read/write CPU registers or memories on-the-fly. This is useful to force the firmware into certain branches for example, improving test coverage.\n\nHow to use\n----------\n\n`yasimavr` can be used as a Python package to run a prepared simulation script.\n(See the examples for how it looks like)\n\nIt also supports direct command line use:\n\n* python -m yasimavr [options] [firmware]\n\nFor the list of command line options, execute python -m yasimavr -h\n\nSome simple script examples are available here:\nhttps://github.com/clesav/yasimavr/tree/main/examples\n\nDocumentation\n-------------\n\nThe documentation is still a work in progress but will be progressively completed.\nThe online version, including an API reference, can be read on the Read the Docs:\n\n* [Development documentation] http://yasimavr.readthedocs.io/en/latest/\n* [Stable documentation] http://yasimavr.readthedocs.io/en/stable/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclesav%2Fyasimavr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fclesav%2Fyasimavr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclesav%2Fyasimavr/lists"}