{"id":16331142,"url":"https://github.com/robertoostenveld/wifimic","last_synced_at":"2025-10-25T22:30:19.521Z","repository":{"id":151933595,"uuid":"315439701","full_name":"robertoostenveld/wifimic","owner":"robertoostenveld","description":null,"archived":false,"fork":false,"pushed_at":"2024-03-03T12:20:59.000Z","size":826,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-01-31T10:51:15.945Z","etag":null,"topics":["esp32","microphone","skype","teams","wifi","zoom"],"latest_commit_sha":null,"homepage":"https://robertoostenveld.nl/wireless-classroom-conference-microphone-system/","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/robertoostenveld.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}},"created_at":"2020-11-23T21:00:58.000Z","updated_at":"2023-05-05T14:14:38.000Z","dependencies_parsed_at":"2023-08-01T16:00:28.866Z","dependency_job_id":null,"html_url":"https://github.com/robertoostenveld/wifimic","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robertoostenveld%2Fwifimic","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robertoostenveld%2Fwifimic/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robertoostenveld%2Fwifimic/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robertoostenveld%2Fwifimic/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/robertoostenveld","download_url":"https://codeload.github.com/robertoostenveld/wifimic/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238216906,"owners_count":19435614,"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":["esp32","microphone","skype","teams","wifi","zoom"],"created_at":"2024-10-10T23:25:46.686Z","updated_at":"2025-10-25T22:30:19.076Z","avatar_url":"https://github.com/robertoostenveld.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# wifimic\n\n![photo](./pictures/photo.jpg)\n\nSee my [blog](https://robertoostenveld.nl/wireless-classroom-conference-microphone-system/) for a series of posts that describes this in more detail.\n\n## Preparing the Raspberry Pi zero w\n\nI used the regular instructions to install Raspbian \"Buster\". Subsequently I did\n\n    sudo apt-get update\n    sudo apt-get upgrade\n\nand used `raspi-config` to enable ssh and set the hostname, timezone, wifi country, locale and keyboard.\n\nThe wifimic server is implemented with Python3 and requires some extra packages to be installed.\n\n    sudo apt-get install python3-pip\n    sudo apt-get install python3-pyaudio\n    sudo apt-get install python3-numpy\n\n## Enable audio\n\nTo enable the HifiBerry hat, I followed the instructions from [here](https://www.hifiberry.com/docs/software/configuring-linux-3-18-x/) and removed\n\n    dtparam=audio=on\n\nand added\n\n    dtoverlay=hifiberry-dac\n\nI also enabled alsa by creating an `/etc/asound.conf` file with\n\n    pcm.!default {\n      type hw card 0\n    }\n    ctl.!default {\n      type hw card 0\n    }\n\nThe device showed up like this\n\n    pi@wifimic:~ $ aplay -l\n    **** List of PLAYBACK Hardware Devices ****\n    card 0: sndrpihifiberry [snd_rpi_hifiberry_dac], device 0: HifiBerry DAC HiFi pcm5102a-hifi-0 [HifiBerry DAC HiFi pcm5102a-hifi-0]\n      Subdevices: 1/1\n      Subdevice #0: subdevice #0\n\nand was able to play a stereo wav file that I downloaded from [onlinetonegenerator.com](https://onlinetonegenerator.com).\n\n## Set up as wifi access point\n\nI followed the instructions [here](https://www.raspberrypi.org/documentation/configuration/wireless/access-point-routed.md) to set it up as a wireless access point. Since this involves downloading packages from internet, but also changing the wifi settings, I used an OTG adapter and a USB ethernet adapter to implement a wired network connection. This allows headless access via ssh to debug the wireless setup, downloading the required files and keeping up to date with the code on github.\n\n_Somehow my 2013 MacBook Pro will not connect to the wireless network of the RaspBerry Pi. Connecting to the access point with an iPad worked fine, and also the ESP32 modules don't show problems when connecting._\n\n## Running the wifimic server as service\n\nThe wifimic server should start with the system and should always be running. I am using `systemd` for that, following these [instructions](https://www.raspberrypi.org/documentation/linux/usage/systemd.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobertoostenveld%2Fwifimic","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frobertoostenveld%2Fwifimic","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobertoostenveld%2Fwifimic/lists"}