{"id":13580051,"url":"https://github.com/dfu-programmer/dfu-programmer","last_synced_at":"2025-10-21T05:05:33.342Z","repository":{"id":11031129,"uuid":"13363549","full_name":"dfu-programmer/dfu-programmer","owner":"dfu-programmer","description":"dfu-programmer is a Device Firmware Update based USB programmer for Atmel chips with a USB bootloader","archived":false,"fork":false,"pushed_at":"2024-01-20T17:17:49.000Z","size":991,"stargazers_count":439,"open_issues_count":12,"forks_count":127,"subscribers_count":28,"default_branch":"master","last_synced_at":"2025-03-08T03:46:14.274Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dfu-programmer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-10-06T14:39:14.000Z","updated_at":"2025-03-07T01:27:54.000Z","dependencies_parsed_at":"2024-01-14T09:11:51.124Z","dependency_job_id":"39d27d82-11df-4327-b0b0-8dbb1b8e9187","html_url":"https://github.com/dfu-programmer/dfu-programmer","commit_stats":{"total_commits":496,"total_committers":16,"mean_commits":31.0,"dds":"0.44758064516129037","last_synced_commit":"c2047393b1849ab5061e978bfcb06fd96971f848"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfu-programmer%2Fdfu-programmer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfu-programmer%2Fdfu-programmer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfu-programmer%2Fdfu-programmer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dfu-programmer%2Fdfu-programmer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dfu-programmer","download_url":"https://codeload.github.com/dfu-programmer/dfu-programmer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247419597,"owners_count":20936009,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-08-01T15:01:46.581Z","updated_at":"2025-10-21T05:05:33.289Z","avatar_url":"https://github.com/dfu-programmer.png","language":"C","funding_links":[],"categories":["C"],"sub_categories":[],"readme":"# dfu-programmer\n\ndfu-programmer is an implementation of the Device Firmware Upgrade class USB driver that enables firmware upgrades for various USB enabled (with the correct bootloader) Atmel chips.\nThis program was created because the Atmel \"FLIP\" program for flashing devices does not support flashing via USB on Linux, and because standard DFU loaders do not work for Atmel's chips.\n\nCheck out the Atmel website for more information.\nThey are kind enough to provide generally correct specifications this implementation is based on.\n\nThe project website is http://dfu-programmer.github.io and you can use that to check for updates.\n\nAll official [builds](https://github.com/dfu-programmer/dfu-programmer/actions) and [releases](https://github.com/dfu-programmer/dfu-programmer/releases) are on [GitHub](https://github.com/dfu-programmer/dfu-programmer).\n\n[![Build dfu-programmer](https://github.com/dfu-programmer/dfu-programmer/actions/workflows/build.yml/badge.svg)](https://github.com/dfu-programmer/dfu-programmer/actions/workflows/build.yml)\n[![Coverage Status](https://coveralls.io/repos/github/dfu-programmer/dfu-programmer/badge.svg?branch=master)](https://coveralls.io/github/dfu-programmer/dfu-programmer?branch=master)\n\n## Simple install procedure for Unix/Linux/MAC\n\n```bash\ntar -xzf dfu-programmer-\u003cversion\u003e.tar.gz # unpack the sources\n```\n\n_or_\n\n```bash\ngit clone https://github.com/dfu-programmer/dfu-programmer.git\n```\n\n```bash\ncd dfu-programmer # change to the top-level directory\n```\n\n\u003e If the source was checked-out from GitHub, run the following command.\n\u003e You may also need to do this if your libusb is in a non-standard location, or if the build fails to find it for some reason.\n\u003e This command requires that `autoconf` is installed (`sudo apt-get install autoconf`).\n\u003e \n\u003e ```bash\n\u003e ./bootstrap.sh # regenerate base config files\n\u003e ```\n\n```bash\n./configure # regenerate configure and run it\n```\n\n\u003e Optionally you can specify where dfu-programmer gets installed using the `--prefix=` option to the `./configure` command.\n\u003e See `./configure --help` for more details.\n\n\u003e If usb library is not available try getting `sudo apt-get install libusb-1.0-0-dev`.\n\n```bash\nmake # build dfu-programmer\nsudo make install # install dfu-programmer\n```\n\n\u003e Instructions for installing autocompletion will also be displayed during `make` (or `make bash-completion`).\n\n## Build procedure for Windows\n\nBuilding Windows apps from source is never quite as simple...\nFirstly you need to have MinGW and MSys with developer tools.\nGet them from http://sourceforge.net/projects/mingw/files/.\nSee `.github/workflows/build.yml` for examples of building on Windows and the needed tools.\n\nIf you install the correct package with `pacman`, header and lib files will be installed in the correct locations.\n\n- **32-bit:** `pacman -S mingw-w64-i686-libusb`\n- **64-bit:** `pacman -S mingw-w64-x86_64-libusb`\n\nFollow the same install instructions as above.\n\n## Windows Driver Files\n\nWindows's built-in WinUSB driver should work out of the box.\n\n### Atmel FLIP\n\nAtmel's [FLIP programmer](https://www.microchip.com/en-us/development-tool/flip) also uses libusb-win32, so we can take advantage of Atmel's official certified drivers.\n\n### Zadig\n\n[Zadig](https://zadig.akeo.ie) is another popular tool for managing the current USB driver for devices on your system.\nIt can be used to install the libusb-win32, libusbK, WinUSB, or \"USB Serial (CDC)\" drivers.\nAll but \"USB Serial (CDC)\" will work with dfu-programmer.\n\n## Testing \u0026 Coverage\n\nSince most testing depends on hardware, we've set up a custom GitHub Action Runner on a dedicated Raspberry Pi.\nRead more about the tests [here](test/README.md).\n\n## Currently Supported Chips\n\n\u003cdetails\u003e\u003csummary\u003e8051 based controllers\u003c/summary\u003e\n\n- at89c51snd1c\n- at89c51snd2c\n- at89c5130\n- at89c5131\n- at89c5132\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\u003csummary\u003eAVR based controllers\u003c/summary\u003e\n\n- at90usb1287\n- at90usb1286\n- at90usb1287-4k\n- at90usb1286-4k\n- at90usb647\n- at90usb646\n- at90usb162\n- at90usb82\n- atmega32u6\n- atmega32u4\n- atmega32u2\n- atmega16u4\n- atmega16u2\n- atmega8u2\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\u003csummary\u003eAVR32 based controllers\u003c/summary\u003e\n\n- at32uc3a0128\n- at32uc3a1128\n- at32uc3a0256\n- at32uc3a1256\n- at32uc3a0512\n- at32uc3a1512\n- at32uc3a0512es\n- at32uc3a1512es\n- at32uc3a364\n- at32uc3a364s\n- at32uc3a3128\n- at32uc3a3128s\n- at32uc3a3256\n- at32uc3a3256s\n- at32uc3a4256s\n- at32uc3b064\n- at32uc3b164\n- at32uc3b0128\n- at32uc3b1128\n- at32uc3b0256\n- at32uc3b1256\n- at32uc3b0256es\n- at32uc3b1256es\n- at32uc3b0512\n- at32uc3b1512\n- at32uc3c064\n- at32uc3c0128\n- at32uc3c0256\n- at32uc3c0512\n- at32uc3c164\n- at32uc3c1128\n- at32uc3c1256\n- at32uc3c1512\n- at32uc3c264\n- at32uc3c2128\n- at32uc3c2256\n- at32uc3c2512\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\u003csummary\u003eXMEGA based controllers\u003c/summary\u003e\n\n- atxmega64a1u\n- atxmega128a1u\n- atxmega64a3u\n- atxmega128a3u\n- atxmega192a3u\n- atxmega256a3u\n- atxmega16a4u\n- atxmega32a4u\n- atxmega64a4u\n- atxmega128a4u\n- atxmega256a3bu\n- atxmega64b1\n- atxmega128b1\n- atxmega64b3\n- atxmega128b3\n- atxmega64c3\n- atxmega128c3\n- atxmega256c3\n- atxmega384c3\n- atxmega16c4\n- atxmega32c4\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\u003csummary\u003eExperimental support for ST cortex M4\u003c/summary\u003e\n\n- stm32f4_B\n- stm32f4_C\n- stm32f4_E\n- stm32f4_G\n\n\u003c/details\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdfu-programmer%2Fdfu-programmer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdfu-programmer%2Fdfu-programmer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdfu-programmer%2Fdfu-programmer/lists"}