{"id":22007751,"url":"https://github.com/rubberduck203/avr","last_synced_at":"2026-02-17T00:32:20.088Z","repository":{"id":83177966,"uuid":"105531046","full_name":"rubberduck203/avr","owner":"rubberduck203","description":"Dockerfile for avr development","archived":false,"fork":false,"pushed_at":"2021-06-18T13:18:34.000Z","size":4,"stargazers_count":9,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-09T04:34:13.968Z","etag":null,"topics":["avr","avr-development","avr-docker","avr-gcc","cpputest","gcc","make"],"latest_commit_sha":null,"homepage":null,"language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rubberduck203.png","metadata":{"files":{"readme":"README.md","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}},"created_at":"2017-10-02T12:21:27.000Z","updated_at":"2024-08-16T16:32:57.000Z","dependencies_parsed_at":null,"dependency_job_id":"c1d427c4-c29f-40d1-894f-40e1c268d58b","html_url":"https://github.com/rubberduck203/avr","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/rubberduck203/avr","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubberduck203%2Favr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubberduck203%2Favr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubberduck203%2Favr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubberduck203%2Favr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rubberduck203","download_url":"https://codeload.github.com/rubberduck203/avr/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rubberduck203%2Favr/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29526742,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-16T21:45:09.491Z","status":"ssl_error","status_checked_at":"2026-02-16T21:44:58.452Z","response_time":115,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["avr","avr-development","avr-docker","avr-gcc","cpputest","gcc","make"],"created_at":"2024-11-30T01:29:10.767Z","updated_at":"2026-02-17T00:32:20.041Z","avatar_url":"https://github.com/rubberduck203.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# rubberduck/avr\n\nDocker image for AVR development\n\nThis image contains all the dependencies you need for AVR development.\n\n- Make\n- CppUTest\n- gcc\n- avr-gcc\n\n## Build Image\n\ndocker build -t rubberduck/avr .\n\n## Run Container As Build Tool\n\nThis command will run the container and mount the current working directory to the working directory of the container. Mounting the current container means we leave the build artifacts behind on the host machine.\n\n```bash\ndocker run --rm -it -v ${PWD}:/mount rubberduck/avr bash\n```\n\nOnce inside the container, just run your makefile like you would if you had the dependencies installed on your local machine.\n\n```bash\nmake check\nmake \n# etc.\n```\n\n### Flashing\n\nThe container has [avrdude](https://www.nongnu.org/avrdude/user-manual/avrdude_10.html) installed and a default conf file located in `/root/.avrduderc`.\nBy default, it points to the `/dev/ttyUSB0` port.\n\n```bash\ndocker run --rm -it --device /dev/ttyUSB0 -v ${PWD}:/mount rubberduck/avr bash\n```\n\nIf you need to use a differenc avrdude conf file, you can mount it in like this.\n\n```bash\ndocker run --rm -it --device /dev/someOtherTty -v ${PWD}:/mount -v someOtherAvrdude.conf:/root/.avrduderc rubberduck/avr bash\n```\n\n#### Mac/Windows\n\nAccessing the host's USB ports can be difficult on non-Linux operating systems.\nYou need to use a virtual machine to host the docker daemon.\n\n[See this blog post for instructions on accessing USB ports inside the container on Mac](https://christopherjmcclellan.wordpress.com/2019/04/21/using-usb-with-docker-for-mac/).\n\n## CppUTest and Make\n\nThis image includes pkg-config.\nIt can be leveraged in your makefile to locate the CppUTest includes and libs.\n\n```bash\nCPPFLAGS += $(shell pkg-config --cflags cpputest)\nCXXFLAGS += -include CppUTest/MemoryLeakDetectorNewMacros.h\nCFLAGS += -include CppUTest/MemoryLeakDetectorMallocMacros.h\nLD_LIBRARIES = $(shell pkg-config --libs cpputest)\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frubberduck203%2Favr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frubberduck203%2Favr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frubberduck203%2Favr/lists"}