{"id":20833383,"url":"https://github.com/reala10001986/sid-dmx","last_synced_at":"2026-04-15T23:31:14.578Z","repository":{"id":281997337,"uuid":"762383512","full_name":"realA10001986/SID-DMX","owner":"realA10001986","description":"DMX Firmware for CircuitSetup's SID kit, known from the Delorean Time Machine ","archived":false,"fork":false,"pushed_at":"2024-08-10T17:26:38.000Z","size":474,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-25T20:16:17.326Z","etag":null,"topics":["bttf","circuitsetup","delorean","deloreantimemachine","esp32","sid","timemachine"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":false,"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/realA10001986.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}},"created_at":"2024-02-23T17:03:11.000Z","updated_at":"2025-02-16T21:34:53.000Z","dependencies_parsed_at":"2025-03-12T08:45:09.555Z","dependency_job_id":"285e0580-d958-4673-b708-81d61f41e043","html_url":"https://github.com/realA10001986/SID-DMX","commit_stats":null,"previous_names":["reala10001986/sid-dmx"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/realA10001986/SID-DMX","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/realA10001986%2FSID-DMX","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/realA10001986%2FSID-DMX/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/realA10001986%2FSID-DMX/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/realA10001986%2FSID-DMX/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/realA10001986","download_url":"https://codeload.github.com/realA10001986/SID-DMX/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/realA10001986%2FSID-DMX/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31864921,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-15T15:24:51.572Z","status":"ssl_error","status_checked_at":"2026-04-15T15:24:39.138Z","response_time":63,"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":["bttf","circuitsetup","delorean","deloreantimemachine","esp32","sid","timemachine"],"created_at":"2024-11-18T00:15:21.930Z","updated_at":"2026-04-15T23:31:14.560Z","avatar_url":"https://github.com/realA10001986.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# Firmware for SID - DMX controlled\n\nThis repository holds a firmware for CircuitSetup's [Status Indicator Display](https://circuitsetup.us/product/delorean-time-machine-status-indicator-display-sid/) (SID) kit which allows control through DMX. It is designed to work using the [Sparkfun LED-to-DMX](https://www.sparkfun.com/products/15110) shield. (DMX control is also available for [Time Circuits Display](https://github.com/realA10001986/Time-Circuits-Display-DMX) and [Flux Capacitor](https://github.com/realA10001986/Flux-Capacitor-DMX))\n\nCircuitSetup's SID with this firmware was used in this musical:\n\n| [![Watch the video](https://img.youtube.com/vi/IywO5m0-ziw/0.jpg)](https://youtu.be/IywO5m0-ziw?si=xcBQazYC4C0hpwi8) |\n|:--:|\n| Click to watch the video |\n\n### DMX channels\n\n\u003ctable\u003e\n    \u003ctr\u003e\u003ctd\u003eDMX channel\u003c/td\u003e\u003ctd\u003eFunction\u003c/td\u003e\u003c/tr\u003e\n    \u003ctr\u003e\u003ctd\u003e34\u003c/td\u003e\u003ctd\u003eBrightness (0=off; 1-255=darkest-brightest)\u003c/td\u003e\u003c/tr\u003e\n    \u003ctr\u003e\u003ctd\u003e35\u003c/td\u003e\u003ctd\u003eAuto-animate (1-255=lowest-highest=tt; 0=off, use ch36-45)\u003c/td\u003e\u003c/tr\u003e\n    \u003ctr\u003e\u003ctd\u003e36\u003c/td\u003e\u003ctd\u003eColumn 1 height\u003c/td\u003e\u003c/tr\u003e\n    \u003ctr\u003e\u003ctd\u003e37\u003c/td\u003e\u003ctd\u003eColumn 2 height\u003c/td\u003e\u003c/tr\u003e\n    \u003ctr\u003e\u003ctd\u003e38\u003c/td\u003e\u003ctd\u003eColumn 3 height\u003c/td\u003e\u003c/tr\u003e\n    \u003ctr\u003e\u003ctd\u003e39\u003c/td\u003e\u003ctd\u003eColumn 4 height\u003c/td\u003e\u003c/tr\u003e\n    \u003ctr\u003e\u003ctd\u003e40\u003c/td\u003e\u003ctd\u003eColumn 5 height\u003c/td\u003e\u003c/tr\u003e\n    \u003ctr\u003e\u003ctd\u003e41\u003c/td\u003e\u003ctd\u003eColumn 6 height\u003c/td\u003e\u003c/tr\u003e\n    \u003ctr\u003e\u003ctd\u003e42\u003c/td\u003e\u003ctd\u003eColumn 7 height\u003c/td\u003e\u003c/tr\u003e\n    \u003ctr\u003e\u003ctd\u003e43\u003c/td\u003e\u003ctd\u003eColumn 8 height\u003c/td\u003e\u003c/tr\u003e\n    \u003ctr\u003e\u003ctd\u003e44\u003c/td\u003e\u003ctd\u003eColumn 9 height\u003c/td\u003e\u003c/tr\u003e\n    \u003ctr\u003e\u003ctd\u003e45\u003c/td\u003e\u003ctd\u003eColumn 10 height\u003c/td\u003e\u003c/tr\u003e\n\u003c/table\u003e\n\n#### Packet verification\n\nThe DMX protocol uses no checksums. Therefore, transmission errors cannot be detected. Typically, such errors manifest themselves in flicker or a corrupted display for short moments. Since the SID is no ordinary light fixture, this can be an issue.\n\nIn order to at least filter out grossly malformed/corrupt DMX data packets, the firmware supports a simple DMX packet verifier: For a DMX data packet to be considered valid, _channel 46 must be at value 100_. If a packet contains any other value for this channel, the packet is ignored. \n\nTo enable this filter, DMX_USE_VERIFY must be #defined in sid_global.h. This feature is disabled by default, because it hinders a global \"black out\". If your DMX controller can exclude channels from \"black out\" (or this function is not to be used), and you experience flicker, you can try to activate this packet verifier.\n\n### Firmware update\n\nTo update the firmware without Arduino IDE/PlatformIO, copy a pre-compiled binary (filename must be \"sidfw.bin\") to a FAT32 formatted SD card, insert this card into the SID, and power up. The SID will show an egg timer while it updates its firmware. Afterwards it will reboot.\n\n### Build information\n\nRequires [esp_dmx](https://github.com/someweisguy/esp_dmx) library v4.0.1 or later.\n\n### Hardware: Pin mapping\n\nThe SID control board has a row of solder pads next to the ESP32 dev board. All below pins are accessible on this row of solder pads:\n\n\u003cimg src=\"img/SID.png\"\u003e\n\nThe pin numbers listed below in SID column refer to above picture:\n\n\u003ctable\u003e\n    \u003ctr\u003e\n     \u003ctd align=\"center\"\u003eSID\u003c/td\u003e\u003ctd align=\"center\"\u003eLED-to-DMX shield\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n     \u003ctd align=\"center\"\u003eGPIO35 (pin 14)\u003c/a\u003e\u003c/td\u003e\n     \u003ctd align=\"center\"\u003eJ1 P14\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n     \u003ctd align=\"center\"\u003eGPIO14 (pin 8)\u003c/td\u003e\n     \u003ctd align=\"center\"\u003eJ1 P15\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n     \u003ctd align=\"center\"\u003eGPIO32 (pin 13)\u003c/td\u003e\n     \u003ctd align=\"center\"\u003eJ1 P16\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n     \u003ctd align=\"center\"\u003e3V3 (pin 19)\u003c/td\u003e\n     \u003ctd align=\"center\"\u003eJ1 P2\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n     \u003ctd align=\"center\"\u003e5V (pin 1)\u003c/td\u003e\n     \u003ctd align=\"center\"\u003eJ12 +\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n     \u003ctd align=\"center\"\u003eGND (pin 6)\u003c/td\u003e\n     \u003ctd align=\"center\"\u003eJ12 -\u003c/td\u003e\n    \u003c/tr\u003e\n \u003c/table\u003e\n\n\u003cimg src=\"img/DMXshield-SID.jpg\"\u003e\n\nFor some mysterious reason, the SID sometimes experiences transmission errors which go away when an SD card is in the SID's card slot.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freala10001986%2Fsid-dmx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Freala10001986%2Fsid-dmx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Freala10001986%2Fsid-dmx/lists"}