{"id":19277884,"url":"https://github.com/samuelnoesslboeck/robot_driver","last_synced_at":"2026-06-15T08:31:54.472Z","repository":{"id":152922091,"uuid":"624056537","full_name":"SamuelNoesslboeck/robot_driver","owner":"SamuelNoesslboeck","description":"A simple robot driver unit for controlling up to four stepper motors, some measurement systems and advanced tools","archived":false,"fork":false,"pushed_at":"2023-09-21T13:04:04.000Z","size":1687,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-05T16:08:21.182Z","etag":null,"topics":["electronics","robotics","robotics-control"],"latest_commit_sha":null,"homepage":"","language":null,"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/SamuelNoesslboeck.png","metadata":{"files":{"readme":"README.md","changelog":"changelog.md","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":"2023-04-05T16:47:10.000Z","updated_at":"2023-09-21T06:42:27.000Z","dependencies_parsed_at":null,"dependency_job_id":"89284bff-5c75-4919-a70c-e07d964d5f86","html_url":"https://github.com/SamuelNoesslboeck/robot_driver","commit_stats":null,"previous_names":["samuelnoesslboeck/robot_driver"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SamuelNoesslboeck%2Frobot_driver","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SamuelNoesslboeck%2Frobot_driver/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SamuelNoesslboeck%2Frobot_driver/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SamuelNoesslboeck%2Frobot_driver/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SamuelNoesslboeck","download_url":"https://codeload.github.com/SamuelNoesslboeck/robot_driver/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":232608317,"owners_count":18549525,"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":["electronics","robotics","robotics-control"],"created_at":"2024-11-09T21:07:10.916Z","updated_at":"2025-01-05T16:08:24.681Z","avatar_url":"https://github.com/SamuelNoesslboeck.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Robot driver\n\n![The main image](./documentation/images/general.PNG)\n\n*Documentation for version: Mk3.0.0*  \n*Schmatic version: Mk3.0.0*  \n*Last updated: 21/09/2023*\n\n## Overview\n\n- [Summary](#summary)\n- [Power supply](#power-supply-j1-plug)\n- [Controller unit](#controller-unit)\n- [Devices section](#devices-section)\n- [Tool supply unit](#tool-supply-unit)\n- [KiCad use](#kicad-use)\n\n## Summary\n\nA basic robot driver for controlling up to four stepper motors, a large number of devices like endstop switches or servo motors.\n\nNOTE: This diagram does not include voltage/current limits, as they depend on which components are actually being used.\n\nThe GPIO pin requirements have been designed to fit a raspberry pi, so it is recommended to use a raspberry pi 3 or newer for this driver.\n\n## Power supply (J1 plug)\n\n![Power supply](./documentation/images/power_supply.PNG)\n\nThe driver needs two different supply sources: A control voltage with about 5V and a power voltage, usually between 12-48V. Both grounds are unified to a single one and the microcontroller, that sends the logical signals for the drivers, has to be connected to the ground and control voltage.\n\n## Controller unit\n\n![Control unit](./documentation/images/controller_unit.PNG)\n\nWhen it comes to precise movements, the controller unit is the main part in play. Each motor is connected with a plug (**J3 - J10**), so it can be easily changed or replaced.\n\nLogic control happens over the [J2 plug](#j2-plug).\n\n### J2 plug\n\nThe [J2 plug](#j2-plug) consists of 10 pins, where 9 of them are GPIO ones (one GND). All motors can be disabled using the enable pin, as they have been unified to a single one.\n\nThe remaining eight pins are four PWM-pins (often referenced as \"step\"-pins too) and four DIR-pins, both for each controller. The maximum frequency of the PWM-signal depends on the controllers used.\n\n## Devices section\n\n![Devices section](./documentation/images/devices_section.PNG)\n\nThe devices section is equipped with a lot of 3pin connectors which can be used to power servo motors or measurement units.\n\n## Tool supply unit\n\n![Tool supply](./documentation/images/tool_supply.PNG)\n\nWhen it comes to completing more complex tasks, then advanced tools are required, which can take a lot of resources to maintain. Therefore, the tool supply has to be as flexible as possible to cover most of the different applications.\n\nThe tool supply has one input plug (**J12**) and three output plugs, two of them being servo output plugs (**J14**, **J15**) and one general purpose one (**J16**).\n\nUsing the PWM pins on the input plug (1 and 2 on **J12**), up to two servos can be controlled, as it is often required. Furthermore, the general purpose plug is equipped with both control and power voltage and, as it is required, a GND.\n\n## KiCad use\n\n![KiCad Symbol](./documentation/images/symbol.PNG)\n\nTo include the driver into a KiCad circuit diagram, simply import the symbol found in the \"export\" folder. Once imported, it can be found in the \"Driver_Motor\" library under the name \"SYRD_MK3\".\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamuelnoesslboeck%2Frobot_driver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsamuelnoesslboeck%2Frobot_driver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsamuelnoesslboeck%2Frobot_driver/lists"}