{"id":29633689,"url":"https://github.com/tibordp/shiny-avr","last_synced_at":"2025-07-21T14:06:09.898Z","repository":{"id":54641278,"uuid":"328449217","full_name":"tibordp/shiny-avr","owner":"tibordp","description":"USB programmer for ATtiny25/45/85/24/44/84","archived":false,"fork":false,"pushed_at":"2021-04-11T13:28:36.000Z","size":9824,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-07-14T03:59:58.762Z","etag":null,"topics":["attiny85","avr-isp","openhardware","stm32"],"latest_commit_sha":null,"homepage":"https://github.com/tibordp/shiny-avr","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tibordp.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}},"created_at":"2021-01-10T18:17:13.000Z","updated_at":"2025-04-10T19:04:19.000Z","dependencies_parsed_at":"2022-08-13T22:31:10.001Z","dependency_job_id":null,"html_url":"https://github.com/tibordp/shiny-avr","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/tibordp/shiny-avr","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tibordp%2Fshiny-avr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tibordp%2Fshiny-avr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tibordp%2Fshiny-avr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tibordp%2Fshiny-avr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tibordp","download_url":"https://codeload.github.com/tibordp/shiny-avr/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tibordp%2Fshiny-avr/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266315763,"owners_count":23909802,"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","status":"online","status_checked_at":"2025-07-21T11:47:31.412Z","response_time":64,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"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":["attiny85","avr-isp","openhardware","stm32"],"created_at":"2025-07-21T14:06:08.017Z","updated_at":"2025-07-21T14:06:09.878Z","avatar_url":"https://github.com/tibordp.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Shiny AVR Programmer\n\nUSB AVR ISP programmer specifically designed for ATtiny25/45/85 and ATtiny24/44/84/241/441/841 microcontroller families in DIP packages.\n\nBlasphemeously designed with an STM32 microcontroller instead of an another AVR.\n\nShiny AVR programmer provides an 16 MHz clock signal, which allows programming chips that have had their fuse bits set to require an external crystal or clock signal.\n\n![render](./docs/render.png)\n\n# Usage\n\nInsert the ATtiny into the DIP socket on the programmer. Please make sure it is oriented the right way. It should also work for programming the ATtinys in circuit (unless there is circuitry wired to it that would interfere, which is likely, since ATtinys don't have dedicated programming pins), but since there is no standard ISP header on the board, you will need to provide an adapter cable.\n\nShiny AVR powers ATtinys with 3.3V.\n\n## Arduino\n\nShiny AVR Programmer will present to the host computer as a virtual USB serial port. It can be used seamlessly from Arduino IDE by\nselecting **Tools \u003e Programmer \u003e Arduino as ISP** and selecting the appropriate serial port.\n\n## avrdude\n\nUse `-c arduino` command-line parameter.\n\n## PlatformIO\n\nIt requires some modifications to use the [avrdude.conf from ATTinyCore](https://github.com/SpenceKonde/ATTinyCore/blob/master/avr/avrdude.conf) instead of the default one bundled with PlatformIO (`chip_erase_delay` is too low in the stock one).\n\nExample config for ATtiny85\n\n```ini\n[env:attiny85]\nplatform = atmelavr\nboard = attiny85\nupload_protocol = custom\nupload_flags =\n    -C$PROJECT_PACKAGES_DIR/framework-arduino-avr-attiny/avrdude.conf\n    -p$BOARD_MCU\n    -P$UPLOAD_PORT\n    -b$UPLOAD_SPEED\n    -carduino\nupload_command = avrdude $UPLOAD_FLAGS -U flash:w:$SOURCE:i\n\nupload_port = \u003cyour serial port device here\u003e\nupload_speed = 19200\nboard_build.f_cpu = 16000000L\nboard_fuses.lfuse = 0xD1\nboard_fuses.hfuse = 0xDF\nboard_fuses.efuse = 0xFF\n```\n\nExample config for ATtiny84\n\n```ini\n[env:attiny84]\nplatform = atmelavr\nboard = attiny84\nupload_protocol = custom\nupload_flags =\n    -C$PROJECT_PACKAGES_DIR/framework-arduino-avr-attiny/avrdude.conf\n    -p$BOARD_MCU\n    -P$UPLOAD_PORT\n    -b$UPLOAD_SPEED\n    -carduino\nupload_command = avrdude $UPLOAD_FLAGS -U flash:w:$SOURCE:i\n\nupload_port = \u003cyour serial port device here\u003e\nupload_speed = 19200\nboard_build.f_cpu = 8000000L\nboard_fuses.lfuse = 0x62\nboard_fuses.hfuse = 0xDF\nboard_fuses.efuse = 0xFF\n```\n\n# Hardware\n\nThe schematic and PCB layout are in the [kicad](./kicad) folder.\n\n![schematic](./docs/schematic.png)\n![signals](./docs/signals.png)\n\n# Firmware\n\nFirmware is based on [ArduinoISP](https://github.com/arduino/arduino-examples/blob/main/examples/11.ArduinoISP/ArduinoISP/ArduinoISP.ino) with the \nappropriate modifications for the specifics of hardware (LEDs, SPI parameters, ...) and it adds the capability to provide external clock to be able\nto program ATtinys that have had their fuses set to rely on external clock or crystal.\n\n# Roadmap\n\n- High voltage programming support for chips `RSTDISBL` or debugWIRE fuse bits set  \n- Managed power supply or a PTC to prevent damaging the chips \n  that are inserted upside down in the socket.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftibordp%2Fshiny-avr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftibordp%2Fshiny-avr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftibordp%2Fshiny-avr/lists"}