{"id":16021981,"url":"https://github.com/tfry-git/led-cube-3x3x3","last_synced_at":"2026-04-27T22:31:38.570Z","repository":{"id":215634471,"uuid":"168818411","full_name":"tfry-git/LED-Cube-3x3x3","owner":"tfry-git","description":"Alternative Firmware for Attiny-based 3x3x3 LED-Cube","archived":false,"fork":false,"pushed_at":"2019-02-02T10:22:15.000Z","size":18,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-05T04:16:40.306Z","etag":null,"topics":["3x3x3-led-cube","arduino","attiny"],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tfry-git.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}},"created_at":"2019-02-02T10:03:27.000Z","updated_at":"2019-02-02T10:23:17.000Z","dependencies_parsed_at":"2024-01-05T16:02:09.028Z","dependency_job_id":null,"html_url":"https://github.com/tfry-git/LED-Cube-3x3x3","commit_stats":null,"previous_names":["tfry-git/led-cube-3x3x3"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/tfry-git/LED-Cube-3x3x3","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tfry-git%2FLED-Cube-3x3x3","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tfry-git%2FLED-Cube-3x3x3/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tfry-git%2FLED-Cube-3x3x3/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tfry-git%2FLED-Cube-3x3x3/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tfry-git","download_url":"https://codeload.github.com/tfry-git/LED-Cube-3x3x3/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tfry-git%2FLED-Cube-3x3x3/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32358509,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-27T20:07:02.737Z","status":"ssl_error","status_checked_at":"2026-04-27T20:07:00.910Z","response_time":128,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":["3x3x3-led-cube","arduino","attiny"],"created_at":"2024-10-08T18:06:37.203Z","updated_at":"2026-04-27T22:31:38.555Z","avatar_url":"https://github.com/tfry-git.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# LED-Cube-3x3x3\nThis code was written for the 3x3x3-cube sold by German electronics discounter \"Pollin\".\nIt is based on an ATtiny2313 . However it should be relatively easy to adjust the code\nto any other 3x3x3 cube with different wiring, and even different MCU, as the hardware\ndependent code is in a few dedicated functions, only. The code will be of rather little\nuse for 4x4x4 or larger cubes, however, as it is quite optimized for th3 3x3x3 case.\n\n## Basic design\nAt the heart of this sketch a timer interrupt is used to \"scan\" through the three layers\nor LEDs. At any time, the LEDs on only one layer are lit up, but due to a fast refresh rate,\nand persistence of vision, the LEDs appear to be lit on all three layers at once, i.e.\nas 27 LEDs addressable in parallel.\n\n## Programming animations\nSince memory is scarce, an effort is made to store the animations in as few bytes as\npossible. Mostly we rely on \"packed Frames\", which include bits for all 27 LEDS, and\na delay timing inside a 32bit storage. Two workhorse functions are provided in this\nfile: playMovie() to play a sequence of arbitrary frames, and dropDown() for layers\ndropping down from the top.\n\nAnimations can also be \"programmed\" using for()-loops, custom functions, and whatever\nelse you can think up. However, keep in mind that there is always a trade off between\nthe flash saved on data, vs. the flash used for code. If you want to squeeze the most into\nflash, it is recommended to compile often, keeping a close eye on the reported flash\nusage after each change.\n\nFor low-level access to the scan buffer, the setLayer() function can be used.\n\n## Further reading\nFurther documentation is available inline in the sketch.\n\n## Licence and credits\nWritten Thomas Friedrichsmeier, provided under the GNU GPL v3.0. Should you find this\ncode useful, I'll be happy to accept donations via paypal to thomas.friedrichsmeier@gmx.de .\n\nShould you port this to a different MCU, consider sharing your work.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftfry-git%2Fled-cube-3x3x3","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftfry-git%2Fled-cube-3x3x3","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftfry-git%2Fled-cube-3x3x3/lists"}