{"id":24808523,"url":"https://github.com/markroland/dotstar-sequences","last_synced_at":"2026-02-12T09:31:15.476Z","repository":{"id":142674544,"uuid":"180938422","full_name":"markroland/dotstar-sequences","owner":"markroland","description":"This project contains scripts that perform lighting effect sequences for Adafruit Dotstar LED strips","archived":false,"fork":false,"pushed_at":"2025-01-23T22:52:41.000Z","size":14015,"stargazers_count":4,"open_issues_count":5,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-13T10:33:57.680Z","etag":null,"topics":["dotstar","led","shader","threejs"],"latest_commit_sha":null,"homepage":"https://markroland.github.io/dotstar-sequences/","language":"Python","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/markroland.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2019-04-12T05:44:39.000Z","updated_at":"2025-08-24T19:39:14.000Z","dependencies_parsed_at":"2025-01-07T08:42:23.204Z","dependency_job_id":"515cc531-563f-4869-b5c5-0c8017a3b123","html_url":"https://github.com/markroland/dotstar-sequences","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/markroland/dotstar-sequences","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markroland%2Fdotstar-sequences","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markroland%2Fdotstar-sequences/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markroland%2Fdotstar-sequences/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markroland%2Fdotstar-sequences/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/markroland","download_url":"https://codeload.github.com/markroland/dotstar-sequences/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/markroland%2Fdotstar-sequences/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29362771,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-12T08:51:36.827Z","status":"ssl_error","status_checked_at":"2026-02-12T08:51:26.849Z","response_time":55,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["dotstar","led","shader","threejs"],"created_at":"2025-01-30T10:17:56.484Z","updated_at":"2026-02-12T09:31:15.457Z","avatar_url":"https://github.com/markroland.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Adafruit Dotstar Sequence Scripts\n\nThis project contains scripts that perform lighting effect sequences for Adafruit Dotstar LED strips.\n\n## \"Cuttlefish\" Sequence Video\n\n![Demo Video](demo/cuttlefish-video.gif)\n\n[See more video on YouTube](https://www.youtube.com/watch?v=jlwEHKuH5io)\n\n## Sequence Simulations\n\n### Acceleration\n![Cuttlefish](demo/acceleration.gif)\n\n### Breathe\n![Cuttlefish](demo/breathe.gif)\n\n### Clock\n![Clock](demo/clock.gif)\n\n### Crossing\n![Crossing](demo/crossing.gif)\n\n### Read from CSV file (Blink)\n![CSV](demo/csv.gif)\n\n### Cuttlefish\n![Cuttlefish](demo/cuttlefish.gif)\n\n### Fade\n![Fade](demo/fade.gif)\n\n### Read from PNG image file (Fire)\n![Fire](demo/fire.gif)\n\n### Points\n![Points](demo/points.gif)\n\n### Random\n![Random](demo/random.gif)\n\n### Sparkle\n![Sparkle](demo/sparkle.gif)\n\n### Spectrum Fade\n![Spectrum Fade](demo/spectrum-fade.gif)\n\n### Spectrum Slide\n![Spectrum Slide](demo/spectrum-slide.gif)\n\n### Spectrum Wipe\n![Spectrum Wipe](demo/spectrum-wipe.gif)\n\n### Stripes\n![Stripes](demo/stripes.gif)\n\n## Hardware Recommendations\n\n - [Raspberry Pi 3](https://www.adafruit.com/category/105)\n - [Adafruit Dotstar LED Strip](https://learn.adafruit.com/adafruit-dotstar-leds)\n - [Breadboard](https://www.adafruit.com/product/239)\n - [Jumper Wires](https://www.adafruit.com/category/306)\n - [5V Power Supply](https://www.adafruit.com/product/1466) (2-4 Amps recommended)\n\n## Software Recommendations\n\n - Python 3.5+\n - [Adafruit CircuitPython](https://github.com/adafruit/circuitpython)\n\n\n## Circuit\n\nThe Dotstar has four connections:\n\n1) **Ground** - Connect this to the common ground for the power supply and Raspberry Pi (i.e. ground rail of a breadboard)\n2) **Power** - Connect this to a +5V power supply. Make sure your supply has enough current for your LED strip.\n3) **Clock Input (CI)** - Connect this to Raspberry Pi's SPI SCLK Pin\n4) **Data Input (DI)** - Connect this to Raspberry Pi's SPI MOSI Pin\n\nSee [Adafruit's Power and Connections](https://learn.adafruit.com/adafruit-dotstar-leds/power-and-connections) guide for more information.\n\n## Usage\n\n### Setup\n\nCopy and set the .env Environment file for your configuration\n\n```\ncp .env.example .env\n```\n\n### Install\n\nThe Python scripts will likely need packages installed using a Python package manager like [PIP](https://packaging.python.org/en/latest/guides/tool-recommendations/).\n\n```\npip install -r requirements.txt\n```\n\n### Run\n\nRun the sequence on an LED strip.\n\n```\npython play.py cuttlefish\n```\n\n## Folder Descriptions\n\n##### 2d-simulator\n\nRun a browser-based 2D simulation of the Sequence with WebGL shader\n\n##### 3d-simulator\n\nRun a browser-based 3D simulation of the Sequence using [Three.js](https://threejs.org)\n\n##### data\n\nContains static data to be read in for rendering a sequence\n\n##### demo\n\nContains project documentation resources\n\n##### pattern\n\nPython modules for static lighting patterns\n\n##### renderings\n\nContain images created by render-sequence.py\n\n##### sequence\n\nPython modules for animated lighting sequences\n\n##### server\n\nA web server for controller lighting sequences remotely\n\n```\npython ./server/index.py\n```\n\n##### shows\n\nContains show definitions in JSON format. Used by schedule.py.\n\n\n## Script Descriptions\n\n##### demo.py\n\nRun a demonstration show on the LED strip. This will go through several sequences as defined in a JSON file.\n\n##### play.py\n\nRun a single sequence on an LED strip.\n\n##### render-sequence.py\n\nRender a Sequence to a static PNG image where each line represents a frame of the Sequence, and each column\nrepresents a single LED in the strand.\n\n##### schedule.py\n\nRun this script continuously with different sequences scheduled for each day. This should generally be run\nas a background process.\n\n##### simulate.py\n\nSimulate and save a Sequence as an animated GIF (as displayed in this readme file).\n\n## 2D Simulator (Shader)\n\n![Browser 2D Simulator](demo/2d-simulator.png)\n\nThis code runs a local webserver that will read a Sequence represented as a PNG image and render it as\na WebGL shader.\n\nFrom the `2d-simulator` directory:\n\n### Install Once:\n```\nnpm install\n```\n\n### Run:\n```\nnpm run dev\n```\n\n## 3D Simulator\n\n![Browser 3D Simulator](demo/3d-simulator.png)\n\nThis code includes a browser-based simulator to display the lighting sequences. It uses [Node](https://nodejs.org/)\nand [Three.js](https://threejs.org/). This reads sequences as PNG images, where each column of the image represents\na single LED in the strand, and each row represents a frame of the animated sequence.\n\nFrom the `3d-simulator` directory:\n\n### Install Once:\n```\nnpm install\n```\n\n### Run:\n```\nnpm run dev\n```\n\nRunning `npm run dev` will start a server using [Vite](https://vitejs.dev/) and provide a locally hosted URL to load in your browser to view the simulation.\n\n## Resources\n\n- [Adafruit DotStar LEDs](https://learn.adafruit.com/adafruit-dotstar-leds/overview)\n- [CircuitPython DotStar](https://learn.adafruit.com/circuitpython-essentials/circuitpython-dotstar)\n- [Blinka Test Script](https://learn.adafruit.com/circuitpython-on-raspberrypi-linux/installing-circuitpython-on-raspberry-pi)\n- [Gradient Generator Tool](https://learnui.design/tools/gradient-generator.html)\n\n## License\n\n[![Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)](https://i.creativecommons.org/l/by-nd/2.0/88x31.png)](https://creativecommons.org/licenses/by-nc-sa/4.0/)\n\nThis work is licensed under a [Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)](https://creativecommons.org/licenses/by-nc-sa/4.0/) License.\n\nThis project makes use of the [Adafruit CircuitPython DotStar](https://github.com/adafruit/Adafruit_CircuitPython_DotStar) library, Three.js and other third party code. When using this project,\nplease adhere to their respective licenses as necessary.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarkroland%2Fdotstar-sequences","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarkroland%2Fdotstar-sequences","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarkroland%2Fdotstar-sequences/lists"}