{"id":15145309,"url":"https://github.com/zoroxide/pi-fm_transmitter","last_synced_at":"2026-01-20T02:00:53.052Z","repository":{"id":216176625,"uuid":"740633222","full_name":"zoroxide/Pi-Fm_transmitter","owner":"zoroxide","description":"Rapsberry pi Fm Transmitter script","archived":false,"fork":false,"pushed_at":"2024-09-13T12:48:15.000Z","size":2428,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-06T19:22:20.008Z","etag":null,"topics":["arm","cpp","embedded-linux","embedded-systems","fm","raspberry-pi","rf","sdr"],"latest_commit_sha":null,"homepage":"https://zoroxide.medium.com/diy-fm-transmitter-using-only-a-raspberry-pi-ed99617c5a27","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zoroxide.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2024-01-08T18:39:14.000Z","updated_at":"2024-09-13T12:48:19.000Z","dependencies_parsed_at":"2024-01-20T13:26:06.677Z","dependency_job_id":"a71f5527-c517-4bdb-8746-b618a2b2d936","html_url":"https://github.com/zoroxide/Pi-Fm_transmitter","commit_stats":{"total_commits":10,"total_committers":1,"mean_commits":10.0,"dds":0.0,"last_synced_commit":"552f9553f718adc1f02c0d30c87a949dca37f867"},"previous_names":["zoroxide/pi-fm_transmitter"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/zoroxide/Pi-Fm_transmitter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zoroxide%2FPi-Fm_transmitter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zoroxide%2FPi-Fm_transmitter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zoroxide%2FPi-Fm_transmitter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zoroxide%2FPi-Fm_transmitter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zoroxide","download_url":"https://codeload.github.com/zoroxide/Pi-Fm_transmitter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zoroxide%2FPi-Fm_transmitter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28593763,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-20T01:57:22.592Z","status":"online","status_checked_at":"2026-01-20T02:00:07.325Z","response_time":117,"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":["arm","cpp","embedded-linux","embedded-systems","fm","raspberry-pi","rf","sdr"],"created_at":"2024-09-26T11:23:07.719Z","updated_at":"2026-01-20T02:00:53.008Z","avatar_url":"https://github.com/zoroxide.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# PiFM\n\nUse the Raspberry Pi as an FM transmitter. Works on every Raspberry Pi board.\nJust get an FM receiver, connect a 20 - 40 cm plain wire to the Raspberry Pi's GPIO4 (PIN 7 on GPIO header) to act as an antenna, and you are ready for broadcasting.\n\n![img1](https://github.com/zoroxide/Pi-Fm_transmitter/assets/72279810/43ff9291-ad54-4d39-89ff-68ad3c7be392)\n\n## Installation and usage\nInstall all required files by running this bash file, if your board is from Raspberry pi 1 to 3, use ```install_rpi1-3.sh```, or if your board is Raspberry pi 4 use ```install_rpi4.sh```\n```\nsudo sh install_rpi1-3.sh\n```\nor you have raspberry pi 4 use :\n```\nsudo sh install_rpi4.sh\n```\nadding file to exce.\n```\nsudo chmod +x fm_transmitter\n```\nafter a  succssefull installing and connecting a wire to GPIO 4 to the GPIO, run a test with:\n```\nsudo ./fm_transmitter -f 100.6 acoustic_guitar_duet.wav\n```\n\nNotice:\n* -f frequency - Specifies the frequency in MHz, 100.0 by default if not passed\n* acoustic_guitar_duet.wav - Sample WAV file, you can use your own\n\nOther options:\n* -d dma_channel - Specifies the DMA channel to be used (0 by default), type 255 to disable DMA transfer, CPU will be used instead\n* -b bandwidth - Specifies the bandwidth in kHz, 100 by default\n* -r - Loops the playback\n\nAfter transmission has begun, simply tune an FM receiver to chosen frequency, you should hear the playback.\n\n### Supported audio formats\nnote: only a wav file with these specification are supported:\n- Sample rate: 96000.0 Hz\n- Bit depth: 24 bit\n- Channels: Stereo\n\nYou can transmit uncompressed WAV (.wav) files directly or read audio data from stdin, eg. using MP3 file:\n```\nsudo apt-get install sox libsox-fmt-mp3\nsox example.mp3 -r 22050 -c 1 -b 16 -t wav - | sudo ./fm_transmitter -f 100.6 -\n```\nPlease note only uncompressed WAV files are supported. If you receive the \"corrupted data\" error try converting the file, eg. by using SoX:\n```\nsudo apt-get install sox libsox-fmt-mp3\nsox example.mp3 -r 22050 -c 1 -b 16 -t wav converted-example.wav\nsudo ./fm_transmitter -f 100.6 converted-example.wav\n```\nOr you could also use FFMPEG:\n```\nffmpeg -i example.webm -f wav -bitexact -acodec pcm_s16le -ar 22050 -ac 1 converted-example.wav\nsudo ./fm_transmitter -f 100.6 converted-example.wav\n```\n## Legal note\nPlease keep in mind that transmitting on certain frequencies without special permissions may be illegal in your country.\n## New features\n* DMA peripheral support\n* Allows custom frequency and bandwidth settings\n* Works on every Raspberry Pi model\n* Reads mono and stereo files\n* Reads data from stdin\n\n## TO DO:\n\n- [x] adding install bash files\n- [ ] making a dashboard webpage (soon)\n- [ ] Adding Raspberry pi 5 support\n\nIncluded sample audio was created by [graham_makes](https://freesound.org/people/graham_makes/sounds/449409/) and published on [freesound.org](https://freesound.org/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzoroxide%2Fpi-fm_transmitter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzoroxide%2Fpi-fm_transmitter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzoroxide%2Fpi-fm_transmitter/lists"}