{"id":14963439,"url":"https://github.com/onolab-tmu/blinky","last_synced_at":"2025-09-04T18:45:13.680Z","repository":{"id":49933954,"uuid":"142418498","full_name":"onolab-tmu/blinky","owner":"onolab-tmu","description":"Hardware design files and software for a flexible and portable sound-to-light conversion device.","archived":false,"fork":false,"pushed_at":"2022-04-28T06:06:21.000Z","size":84654,"stargazers_count":7,"open_issues_count":0,"forks_count":4,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-31T04:51:31.620Z","etag":null,"topics":["blinky","esp32","hardware","leds","microphone","pcb","sound","sound-to-light"],"latest_commit_sha":null,"homepage":null,"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/onolab-tmu.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}},"created_at":"2018-07-26T09:21:55.000Z","updated_at":"2024-06-04T08:40:22.000Z","dependencies_parsed_at":"2022-08-27T16:52:25.952Z","dependency_job_id":null,"html_url":"https://github.com/onolab-tmu/blinky","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onolab-tmu%2Fblinky","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onolab-tmu%2Fblinky/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onolab-tmu%2Fblinky/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onolab-tmu%2Fblinky/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/onolab-tmu","download_url":"https://codeload.github.com/onolab-tmu/blinky/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238059129,"owners_count":19409601,"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":["blinky","esp32","hardware","leds","microphone","pcb","sound","sound-to-light"],"created_at":"2024-09-24T13:31:30.480Z","updated_at":"2025-02-10T04:31:13.246Z","avatar_url":"https://github.com/onolab-tmu.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"Blinky Hardware\n===============\n\n\u003e **Blinky**\n\u003e\n\u003e Blinkies are small electronic devices that make very bright light (usually flashing) light using LEDs and small batteries.\n\u003e\n\u003e -- Wikipedia\n\nThe **Blinky** is a sound-to-light conversion device. When many blinkies are used together, it becomes possible to do large scale\naudio array processing by acquiring the light from all devices simultaneously with a camera. We described the devices and a couple\nof applications in a [paper](http://www.apsipa.org/proceedings/2018/pdfs/0001899.pdf). Applications are, for example\n\n* Monitoring \n* Speech enhancement\n* Sound source localization in very large and challenging environment\n* Blind Source Separation [arxiv](https://arxiv.org/abs/1904.02334)\n\nHardware\n--------\n\nThe hardware is based on the ESP32 with a custom extension PCB bearing two MEMS\nmicrophones and a few LEDs.\nDetails and necessary files are provided in the `hardware` folder.\n\nFirmwares\n---------\n\nThe folder `firmware` contains three different firmwares for the device.\n\n### Blinky OTA Firmware\n\nThis is our working firmware that we have used for the device in our experiments.\nIt allows to do OTA updates and uses the DIP switch. This firmware reads sound\nsamples from the left microphone, compute the power for frames of 4 ms and apply\na non-linear transformation to map the value to the PWM range of the LED.\nA few of the modes are for calibration only and just sweep the PWM duty cycles of the LED.\n\n#### Quick Start\n\nThis section explains how to get the firmware running in a few commands.\nFor more detailed instructions, including over-the-air (OTA) updates, \nsee `firmware/blinky_ota/README.md`.\n\n1. Install the ESP-IDF by following the official instructions\n    ([stable](https://docs.espressif.com/projects/esp-idf/en/stable/get-started/index.html))\n    ([latest](https://docs.espressif.com/projects/esp-idf/en/latest/get-started/index.html)).\n    In case it the first time working with the ESP32, it is recommended to try\n    out a few example projects to learn how to compile and upload firmware to\n    the device.\n\n2. Build the firmware.\n\n        cd firmware/blinky_ota/firmware\n        \n        # configure\n        #  - serial port\n        #  - device number\n        #  - wireless network\n        make menuconfig\n        \n        # compile and upload to device\n        make flash\n\n### Recorder Firmware\n\nThis firmware turns the device into a wireless stereo microphone.\nThe instructions to use this firmware are in `firmware/recorder/BlinkyRecorder_REAMDE_jp.pdf` (japanese only for now).\n\n### Blank Firmware\n\nThis firmware is a stripped down version of the regular Blinky firmware. Its role\nis to highlight how to read samples from one or both microphones and control the LEDs.\n\nSoftware\n--------\n\nThe `python` folder contains the `blinkytools` python package. This package\noffers a graphical user interface (GUI) to easily capture the signals from\nmultiple Blinkies using a video camera, or from a pre-recorded video.\n\nThe package can be install from [pypi](https://pypi.org/project/blinkytools/) directly.\n\n    pip install blinkytools\n\nAuthors\n-------\n\n* The board was designed by [Evixar](https://www.evixar.com/) under directions from Robin Scheibler.\n* The code was written by Robin Scheibler and [Evixar](https://www.evixar.com/).\n\nLicense\n-------\n\nMIT License for all the software, see `LICENSE.\n\nCC-BY-SA 4.0 for the hardware.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fonolab-tmu%2Fblinky","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fonolab-tmu%2Fblinky","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fonolab-tmu%2Fblinky/lists"}