{"id":38695403,"url":"https://github.com/monzelr/dmx","last_synced_at":"2026-01-17T10:39:35.658Z","repository":{"id":224031691,"uuid":"431057992","full_name":"monzelr/dmx","owner":"monzelr","description":"A python module to control one DMX Universe with a USB to RS-485 adapter.","archived":false,"fork":false,"pushed_at":"2024-06-25T11:51:30.000Z","size":28,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-06-25T13:15:29.667Z","etag":null,"topics":["dmx","dmx-interface","dmx512","python","rs-485"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/monzelr.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":"2021-11-23T10:33:07.000Z","updated_at":"2024-06-25T11:50:57.000Z","dependencies_parsed_at":"2024-06-25T13:14:53.998Z","dependency_job_id":null,"html_url":"https://github.com/monzelr/dmx","commit_stats":null,"previous_names":["monzelr/dmx"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/monzelr/dmx","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/monzelr%2Fdmx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/monzelr%2Fdmx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/monzelr%2Fdmx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/monzelr%2Fdmx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/monzelr","download_url":"https://codeload.github.com/monzelr/dmx/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/monzelr%2Fdmx/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28506593,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T10:25:30.148Z","status":"ssl_error","status_checked_at":"2026-01-17T10:25:29.718Z","response_time":85,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6: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":["dmx","dmx-interface","dmx512","python","rs-485"],"created_at":"2026-01-17T10:39:35.129Z","updated_at":"2026-01-17T10:39:35.649Z","avatar_url":"https://github.com/monzelr.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"USB-DMX512 Python Module\n========================\n\nThis python module supports actual the following USB-DMX interfaces (FT232R chip based):\n- EUROLITE USB-DMX512 PRO Cable Interface [(Link)](https://www.steinigke.de/en/mpn51860122-eurolite-usb-dmx512-pro-cable-interface.html)\n- EUROLITE USB-DMX512 PRO Interface MK2 [(Link)](https://www.steinigke.de/en/mpn51860121-eurolite-usb-dmx512-pro-interface-mk2.html)\n\n\nRequirements\n------------ \n- Python ≥ 3.6\n- numpy\n- pyserial\n\nNote: Tested on Windows 10, amd64, Python 3.8 \\\nShould also work on Linux, MacOS and on AARCH64 devices (ARM devices like Raspberry PI).\n\n\nInstallation\n------------\nMake sure to have git, python and pip in your environment path or activate your python environment.\\\nTo install enter in cmd/shell:\n\n    git clone https://github.com/monzelr/dmx.git\n\n    cd dmx\n\n    pip install .\n\nAlternative with python:\n\n    python setup.py install\n\nExample Code Snippets\n---------------------\nIf you want to dim 4 channels up and down:\n\n    from dmx import DMX\n    import time\n\n    dmx = DMX(num_of_channels=4)\n    dmx.set_data(1, 0)\n    dmx.set_data(2, 0)\n    dmx.set_data(3, 0)\n    dmx.set_data(4, 0)\n    \n    while True:\n        for i in range(0, 255, 5):\n            dmx.set_data(1, i, auto_send=False)\n            dmx.set_data(2, i, auto_send=False)\n            dmx.set_data(3, i, auto_send=False)\n            dmx.set_data(4, i)\n            time.sleep(0.01)\n    \n        for i in range(255, 0, -5):\n            dmx.set_data(1, i, auto_send=False)\n            dmx.set_data(2, i, auto_send=False)\n            dmx.set_data(3, i, auto_send=False)\n            dmx.set_data(4, i)\n            time.sleep(0.01)\n\nIf you want to add your own adapter or multiple adapter by serial number:\n\n\n    from dmx import DMX\n\n    dmx = DMX()\n    my_device_serial_number = dmx.use_device.serial_number\n    del dmx\n\n    my_device_sn = dmx.use_device.serial_number\n    del dmx\n\n    dmx2 = DMX(serial_number=my_device_sn)\n    dmx2.set_data(1, 100)\n    dmx2.send()\n    time.sleep(1)\n    del dmx2\n\nTechnical notes\n---------------\nto EUROLITE USB-DMX512 PRO Cable Interface / EUROLITE USB-DMX512 PRO Interface MK2 :\n\n- uses chip FTDI232R (like EUROLITE USB-DMX512 PRO Interface MK2)\n- the FTDI FT232R updates the DMX automatically - you do no need to refresh the DMX universe by yourself\n- if you only have 4 channels, set them at the DMX address start (1 to 4), thus sending updates to the FT232R chip is faster\n- 250000 baudrate for the FT232R is a must\n- needs 5 start bytes: [0x7E, 0x06, 0x01, 0x02, 0x00]\n  \n  - byte 1: signal start byte 0x7E\n  - byte 2: TX DMX packet: 0x06\n  - byte 3 \u0026 4: LSB of DMX length (in this case 513 -\u003e do not forget address 0): 0x01 and 0x02\n  - byte 5: address 0 of DMX signal: 0x00\n- supports only label 6: TX DMX Packet\n- needs one end byte [0xE7]\n\n\nBuilding the documentation\n--------------------------\nGo into the dmx root folder (where setup.py is) and type in the following command in the cmd/shell:\n\n    python setup.py build_sphinx\n\nThe documentation can than be found in dmx/build/sphinx/html.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmonzelr%2Fdmx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmonzelr%2Fdmx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmonzelr%2Fdmx/lists"}