{"id":24326162,"url":"https://github.com/doomhammer/lasyoliwskie","last_synced_at":"2025-09-27T10:32:33.984Z","repository":{"id":151656265,"uuid":"573832452","full_name":"DoomHammer/lasyoliwskie","owner":"DoomHammer","description":"Physical LED visuals for a music track inspired by the Oliwa Woods","archived":false,"fork":false,"pushed_at":"2024-11-04T14:33:42.000Z","size":56,"stargazers_count":2,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-09-12T19:46:30.662Z","etag":null,"topics":["ableton-live","circuitpython","gdansk","led","midi","midi-","pico","raspberry-pi","rp2040","visualization","ws2812b"],"latest_commit_sha":null,"homepage":"","language":"Python","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/DoomHammer.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":"2022-12-03T15:19:43.000Z","updated_at":"2024-11-21T03:08:44.000Z","dependencies_parsed_at":null,"dependency_job_id":"f8b782fc-7db2-4db9-9916-85b97c6ec235","html_url":"https://github.com/DoomHammer/lasyoliwskie","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/DoomHammer/lasyoliwskie","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DoomHammer%2Flasyoliwskie","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DoomHammer%2Flasyoliwskie/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DoomHammer%2Flasyoliwskie/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DoomHammer%2Flasyoliwskie/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DoomHammer","download_url":"https://codeload.github.com/DoomHammer/lasyoliwskie/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DoomHammer%2Flasyoliwskie/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":277219186,"owners_count":25781447,"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-09-27T02:00:08.978Z","response_time":73,"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":["ableton-live","circuitpython","gdansk","led","midi","midi-","pico","raspberry-pi","rp2040","visualization","ws2812b"],"created_at":"2025-01-17T20:48:01.374Z","updated_at":"2025-09-27T10:32:33.719Z","avatar_url":"https://github.com/DoomHammer.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Lasy Oliwskie\n\nPhysical LED visuals for a music track inspired by the Oliwa Woods.\n\nThis fun project was built and recorded during the\n[MusicJam 2022](https://musicjam.pl/) musical hackathon. The theme of the\nhackathon was (un)usual sounds, particularly related to Gdańsk.\n\nOur team consisted of:\n\n- [tgbdc7](https://github.com/tgbdc7) and myself doing the hardware/software\n  part,\n- [Alek](https://github.com/gruszal) playing the solo,\n- [Ralph](https://soundcloud.com/ralphgpl) doing field recording in the Oliwa\n  Woods, composing music, and arranging it.\n\nDuring the 8 hours of the hackathon we worked on a project titled\n\"Lasy Oliwskie\" (\"Oliwa Woods\").\n\nWe used Ableton Live with MIDI out to Raspberry Pi Picos, some LED rings,\na LED matrix, two grocery bags as diffusers, and some paper cups.\n\nThe end result was a music track, an illuminated tree reacting to bass guitar,\nand illuminated \"moss\" reacting to the beat.\n\nYou can check the results here: https://youtu.be/wjZ24oi5ai4?t=96\n\n[![](https://img.youtube.com/vi/wjZ24oi5ai4/0.jpg)](https://youtu.be/wjZ24oi5ai4?t=96)\n\nThe code is based on\n[the excellent gist](https://gist.github.com/todbot/ec5c6ed9101fe25bc741e22599f30361)\ncreated by [Tod Kurt](https://github.com/todbot), here relicensed to\n[MIT license](https://opensource.org/licenses/MIT) by his permission.\n\n## Bill of Materials (BoM)\n\n- 2 Raspberry Pi Picos (or other similar microcontrollers compatible with\n  CircuitPython) (approx. cost: 20PLN, 5EUR, 5USD)\n- A 16x16 WS2812B LED matrix (approx cost: 70PLN, 30EUR, 30USD)\n- LED rings of decreasing diameter, we used: 45LED, 35LED, 24LED, 16LED, 8LED\n  (approx cost: 140PLN, 30EUR, 30USD).\n- something to base your LED rings tree on, we used a paper cup, and cardboard\n  together with hot glue\n- for better effects: some nice diffuser, we used cloth grocery bags that were\n  available at the spot\n- some wire or better yet JST 3-pin connectors\n\nTotal cost: around 250-300PLN, 70-80EUR, 70-80USD.\n\n## Assembling the Hardware\n\nSolder the wires (or JST connectors) to the Pi Picos. The red wire should go to\nVBUS, white one to GND, and green one to GP28 (pins 40, 38, 34 respectively).\n\nFor the moss, just place the LED matrix on a surface and connect it to one of\nthe Picos. Optionally add diffuser.\n\nThe tree is a little bit more complicated, but the general idea is to have the\nLED rings connected starting from the biggest one to the smallest one. We used\na paper cup as a base for the 35LED ring, pulled some cardboard through the\ncenter, and then attached the rest.\n\nFlash the Raspberry Pi Picos with [CircuitPython](https://circuitpython.org/board/raspberry_pi_pico/).\n\n## Programming the Raspberry Pi Pico\n\nThe code for the tree is in the `drzewo` subdirectory.\n\nThe code for the moss is in the `mech` subdirectory.\n\nDrzewo and mech are Polish for tree and moss.\n\nThe code is written in CircuitPython and uses some additional libraries. The\neasiest way to install them is with [circup](https://github.com/adafruit/circup)\n\nFor the moss controller run:\n\n```\ncircup install -r mech/requirements.txt\n```\n\nFor the tree controller run:\n\n```\ncircup install -r tree/requirements.txt\n```\n\nAfter that, install [smolmidi](https://github.com/wntrblm/Winterbloom_SmolMIDI)\nby copying it to the `lib` directory on your Picos.\n\nFinally, copy the `code.py` from both subdirectories onto the respective Picos.\n\n## Installing Ableton\n\nThis project requires you to have Ableton installed on your machine. Free\n90-day trial is available that lets you play and experiment, but you won't be\nable to save any changes to your project.\n\nOn MacOS, you can get it with `brew install ableton-live-standard`.\n\nIn Ableton Live (Standard or Suite, Lite does not have MIDI out),\nselect Live-\u003ePreferences on Mac (Options-\u003ePreferences on Windows).\n\nFind the MIDI tab and make sure Pi Pico has a checkmark next to the output\ndevice.\n\n![Ableton MIDI configuration](docs/img/ableton_midi.png)\n\n## Exploring the Project\n\n1. [Download the Ableton project](https://doomhammer.fra1.digitaloceanspaces.com/Music_Jam.alp)\n1. Import the Ableton Project (double clicking works fine)\n1. Open it\n1. Press play\n1. Enjoy\n\nThe tree should react to the guitar solo, the moss to the beat. If you get\ndifferent effects, you probably need to swap the devices connected as outputs\nto the Guitar MIDI and Drums MIDI tracks.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdoomhammer%2Flasyoliwskie","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdoomhammer%2Flasyoliwskie","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdoomhammer%2Flasyoliwskie/lists"}