{"id":21305811,"url":"https://github.com/themozg/avr-pc-beeper","last_synced_at":"2025-07-11T21:31:12.817Z","repository":{"id":83706251,"uuid":"121870834","full_name":"TheMozg/avr-pc-beeper","owner":"TheMozg","description":"PC speaker which plays Imperial March on boot","archived":false,"fork":false,"pushed_at":"2018-06-07T21:55:10.000Z","size":3138,"stargazers_count":13,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-06T09:06:49.238Z","etag":null,"topics":["avr","imperial-march","morrowind","pci","star-wars"],"latest_commit_sha":null,"homepage":"","language":"C","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/TheMozg.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":"2018-02-17T16:24:42.000Z","updated_at":"2024-12-06T22:45:27.000Z","dependencies_parsed_at":null,"dependency_job_id":"602a8edb-2e63-44dc-a1bd-0a779548ccbf","html_url":"https://github.com/TheMozg/avr-pc-beeper","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/TheMozg/avr-pc-beeper","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheMozg%2Favr-pc-beeper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheMozg%2Favr-pc-beeper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheMozg%2Favr-pc-beeper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheMozg%2Favr-pc-beeper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TheMozg","download_url":"https://codeload.github.com/TheMozg/avr-pc-beeper/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheMozg%2Favr-pc-beeper/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264902237,"owners_count":23681026,"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":["avr","imperial-march","morrowind","pci","star-wars"],"created_at":"2024-11-21T16:19:33.027Z","updated_at":"2025-07-11T21:31:12.808Z","avatar_url":"https://github.com/TheMozg.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AVR PC Beeper\nReplace boring POST beep with Imperial March or Morrowind theme!\n\n![PCI and mini-ITX builds](docs/pic.jpg)\n\n## Features\n* 2 boards with integrated speaker, which play selected tune on boot\n* 4 modes (controlled by 2 switches):\n  * (0b00) - passthrough, POST beep is played as-is\n  * (0b01) - Star Wars Imperial March\n  * (0b10) - Morrowind theme (aka Nerevar Rising / Call of Magic)\n  * (0b11) - Russian anthem\n* Adjustable volume (blue potentiometer)\n\n## Hardware\nTo detect POST signal AVR microcontroller reads motherboard speaker ground pin `-SP`.\nI've created 2 devices in different form factors.\nBoth are based on `ATtiny85` microcontroller\n(simply because I had these lying around, you may use a different one).\n\nSchematic for both boards is mostly the same\n(mini-ITX board doesn't have `SW3` switch):\n\n![Schematic](docs/schematic.jpg)\n\n### PCI board\nLarge board which plugs directly into PCI port.\nHas an external panel, which exposes 2 toggle switches (`SW1` and `SW2`) and a potentiometer shaft (`P1`).\nNote that when installed, back panel may be flipped. To select passthrough/tune\ncorrectly, orient the panel so that volume shaft is the left side.\n\nThis board also has a dedicated dip switch (`SW3`) which disables POST trigger.\nWhen this dip switch is ON, avr doesn't read motherboard speaker pin (`-SP`).\nInstead, it plays selected tune once after being powered.\nThis means the tune may be played after waking from sleep mode.\nThis dip switch is ignored when passthrough is selected.\n\n### Mini-ITX board\nTiny board, suitable for mini-ITX builds where space is at premium.\nTune/passthrough is selected with 2 on-board dip switches (`SW1` and `SW2`).\nUnlike PCI build, there is no dip switch to disable POST trigger (`SW3`).\nThe board must be manually connected to a 5v power source with wires.\n\nPin order (top-down, board is positioned so that pins are on the left side):\n1. `+5V` - power source, you can use speaker+ pin on the motherboard\n2. `-SP` - trigger pin, connects to speaker- pin on the motherboard\n3. `gnd` - you can use ground pin from any free port on the motherboard\n\nKnown issue: when volume is set above ~90%, the board may start playing satanic\nscreeches or otherwise behave strangely.\n\n## Software\n\n### How to build\nInstall required packages:\n\n* `avr-gcc`\n* `avr-libc`\n* `avrdude`\n\nRun `make` to build `.hex` file.\n\n### How to flash\nYou can use any AVR ISP programmer supported by `avrdude`.\nI am using Arduino as ISP,\nto use other programmer modify `PROGR` variable in `Makefile`.\n\nConnect the programmer and run `make flash PORT=\u003cusbport\u003e` to upload `.hex` file to AVR.\nYou may need superuser privileges,\nfor example when using Windows Subsystem for Linux:\n\n`sudo make flash PORT=/dev/ttyS3`\n\n## Revisions\n* rev. 2 (current)\n* [rev. 1](https://github.com/TheMozg/avr-pc-beeper/tree/rev.1) - first 2 boards, see corresponding branch\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthemozg%2Favr-pc-beeper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthemozg%2Favr-pc-beeper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthemozg%2Favr-pc-beeper/lists"}