{"id":19517759,"url":"https://github.com/shaybox/riden","last_synced_at":"2025-07-28T10:41:00.756Z","repository":{"id":53397856,"uuid":"358096452","full_name":"ShayBox/Riden","owner":"ShayBox","description":"A python library for Riden RD power supplies","archived":false,"fork":false,"pushed_at":"2024-09-05T02:14:25.000Z","size":36,"stargazers_count":56,"open_issues_count":5,"forks_count":12,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-31T19:21:29.346Z","etag":null,"topics":["python","python3","riden","ruideng"],"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/ShayBox.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},"funding":{"github":"ShayBox"}},"created_at":"2021-04-15T01:58:04.000Z","updated_at":"2025-03-24T02:13:22.000Z","dependencies_parsed_at":"2025-01-10T12:42:27.874Z","dependency_job_id":"8876ac1e-1d02-4ebe-9fc8-b902efa44bf1","html_url":"https://github.com/ShayBox/Riden","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ShayBox%2FRiden","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ShayBox%2FRiden/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ShayBox%2FRiden/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ShayBox%2FRiden/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ShayBox","download_url":"https://codeload.github.com/ShayBox/Riden/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253165517,"owners_count":21864444,"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","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":["python","python3","riden","ruideng"],"created_at":"2024-11-11T00:06:10.169Z","updated_at":"2025-05-08T23:34:04.432Z","avatar_url":"https://github.com/ShayBox.png","language":"Python","readme":"# Riden\n\nA python library for Riden RD power supplies  \nThis library is based on [Baldanos/rd6006](https://github.com/Baldanos/rd6006)\n\n#### Custom Firmware\nIt appears Ruiden has changed something in recent stock firmware versions that may break modbus communication.  \nI would recommend using UniSoft's custom firmware which is based on older stock firmware, but adds many, many new features.  \n\n#### Installation\nOptional:\n- [Firmware] UniSoft's custom firmware\n\nRequirements:\n- [Python] 3.7 or later\n```\n$ pip install --user git+https://github.com/shaybox/riden.git\n```\n\nAdding to an existing poetry project:\n```\n$ poetry add git+https://github.com/shaybox/riden.git\n```\n\n#### Usage\nThere's a script to print out basic information about the power supply:\n```\n$ riden --port=/dev/ttyUSB0 --baudrate 115200\nID      : 60181\nSN      : 00011608\nFW      : 136\nTYPE    : RD6018\nINT_C   : 29\nINT_F   : 84\nV_SET   : 0.0\nI_SET   : 0.0\nV_OUT   : 0.0\nI_OUT   : 0.0\nP_OUT   : 0.0\nV_IN    : 68.07\nKEYPAD  : False\nOVP_OCP : None\nCV_CC   : CV\nOUTPUT  : False\nPRESET  : 0\nBAT_MODE: False\nV_BAT   : 0.0\nEXT_C   : -89\nEXT_F   : -128\nAH      : 0.0\nWH      : 0.0\nDATETIME: 2022-02-13 11:26:02\nTAKE_OK : True\nTAKE_OUT: False\nBOOT_POW: False\nBUZZ    : False\nLOGO    : False\nLANG    : 0\nLIGHT   : 5\n```\n```python\nfrom riden import Riden\n\n# These are the default values for port, baudrate, and address\nr = Riden(port=\"/dev/ttyUSB0\", baudrate=115200, address=1)\n\n# Getters and Setters are available\nr.set_v_set(4.20)\nr.set_i_set(0.69)\nprint(r.get_v_set())\nprint(r.get_i_set())\n\n# Mass polling is available as well\n# This reduces the number of reads to the device\nr.update()\nprint(r.v_set)\nprint(r.i_set)\n```\n\nThere's also a `Bootloader` class that can be used to update the firmware.  \nThis is based on [tjko/riden-flashtool](https://github.com/tjko/riden-flashtool)\n```\n$ riden --port=/dev/ttyUSB0 --baudrate 115200 --firmware path/to/firmware.bin\n```\n```python\nfrom riden import Bootloader\n# Address is only required to reboot the device into bootloader mode via modbus\n# These values are the defaults\nBootloader(port=\"/dev/ttyUSB0\", baudrate=115200, address=1).flash(\"path/to/firmware.bin\")\n```\n\n#### [List of Modbus RTU registers](https://github.com/Baldanos/rd6006/blob/master/registers.md)\n| Reg ID | Description                             |   |\n|--------|-----------------------------------------|---|\n| 0      | ID                                      |   |\n| 1      | Serial number high bytes                |   |\n| 2      | Serial number low bytes                 |   |\n| 3      | Firmware version                        |   |\n| 4      | Temperature °c sign (0=+, 1=-)          |   |\n| 5      | Temperature °c                          |   |\n| 6      | Temperature F sign (0=+, 1=-)           |   |\n| 7      | Temperature F                           |   |\n| 8      | Voltage set value                       |   |\n| 9      | Current set value                       |   |\n| 10     | Voltage display value                   |   |\n| 11     | Current display value                   |   |\n| 12     | AH display value                        |   |\n| 13     | Power display value                     |   |\n| 14     | Voltage input                           |   |\n| 15     | Keypad lock                             |   |\n| 16     | Protection status (1=OVP, 2=OCP)        |   |\n| 17     | CV/CC (0=CV, 1=CC)                      |   |\n| 18     | Output enable                           |   |\n| 19     | Change preset                           |   |\n| 20     | Current range (On RD6012p 0=6A, 1=12A)  |   |\n| 32     | Battery mode active                     |   |\n| 33     | Battery voltage                         |   |\n| 34     | External temperature °c sign (0=+, 1=-) |   |\n| 35     | External temperature °c                 |   |\n| 36     | External temperature F sign (0=+, 1=-)  |   |\n| 37     | External temperature F                  |   |\n| 38     | Ah high bytes                           |   |\n| 39     | Ah low bytes                            |   |\n| 40     | Wh high bytes                           |   |\n| 41     | Wh low bytes                            |   |\n| 48     | Year                                    |   |\n| 49     | Month                                   |   |\n| 50     | Day                                     |   |\n| 51     | Hour                                    |   |\n| 52     | Minute                                  |   |\n| 53     | Second                                  |   |\n| 55     | Output Voltage Zero                     |   |\n| 56     | Output Voltage Scale                    |   |\n| 57     | Back Voltage Zero                       |   |\n| 58     | Back Voltage Scale                      |   |\n| 59     | Output Current Zero                     |   |\n| 60     | Output Current Scale                    |   |\n| 61     | Back Current Zero                       |   |\n| 62     | Back Current Scale                      |   |\n| 66     | Settings Take ok                        |   |\n| 67     | Settings Take out                       |   |\n| 68     | Settings Boot pow                       |   |\n| 69     | Settings Buzzer                         |   |\n| 70     | Settings Logo                           |   |\n| 71     | Settings Language                       |   |\n| 72     | Settings Backlight                      |   |\n| 80     | M0 V                                    |   |\n| 81     | M0 A                                    |   |\n| 82     | M0 OVP                                  |   |\n| 83     | M1 OCP                                  |   |\n| 84     | M1 V                                    |   |\n| 85     | M1 A                                    |   |\n| 86     | M1 OVP                                  |   |\n| 87     | M1 OCP                                  |   |\n| 88     | M2 V                                    |   |\n| 89     | M2 A                                    |   |\n| 90     | M2 OVP                                  |   |\n| 91     | M2 OCP                                  |   |\n| 92     | M3 V                                    |   |\n| 93     | M3 A                                    |   |\n| 94     | M3 OVP                                  |   |\n| 95     | M3 OCP                                  |   |\n| 96     | M4 V                                    |   |\n| 97     | M4 A                                    |   |\n| 98     | M4 OVP                                  |   |\n| 99     | M4 OCP                                  |   |\n| 100    | M5 V                                    |   |\n| 101    | M5 A                                    |   |\n| 102    | M5 OVP                                  |   |\n| 103    | M5 OCP                                  |   |\n| 104    | M6 V                                    |   |\n| 105    | M6 A                                    |   |\n| 106    | M6 OVP                                  |   |\n| 107    | M6 OCP                                  |   |\n| 108    | M7 V                                    |   |\n| 109    | M7 A                                    |   |\n| 110    | M7 OVP                                  |   |\n| 111    | M7 OCP                                  |   |\n| 112    | M8 V                                    |   |\n| 113    | M8 A                                    |   |\n| 114    | M8 OVP                                  |   |\n| 115    | M8 OCP                                  |   |\n| 116    | M9 V                                    |   |\n| 117    | M9 A                                    |   |\n| 118    | M9 OVP                                  |   |\n| 119    | M9 OCP                                  |   |\n| 256    | SYSTEM                                  |   |\n\n[Python]: https://python.org\n[Firmware]: https://drive.google.com/file/d/1FKAXFBIbRVujsal-6V2Ta0ogtcvQAIPd/view\n","funding_links":["https://github.com/sponsors/ShayBox"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshaybox%2Friden","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshaybox%2Friden","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshaybox%2Friden/lists"}