{"id":15416846,"url":"https://github.com/ussserrr/stepper-motor-stand","last_synced_at":"2025-08-02T15:08:27.174Z","repository":{"id":113442741,"uuid":"130362100","full_name":"ussserrr/stepper-motor-stand","owner":"ussserrr","description":"Arduino-based stepper motor driver with remote control via USART","archived":false,"fork":false,"pushed_at":"2018-04-20T23:17:42.000Z","size":11,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-08T16:02:44.083Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","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/ussserrr.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":"2018-04-20T12:56:22.000Z","updated_at":"2018-04-20T23:17:43.000Z","dependencies_parsed_at":null,"dependency_job_id":"aa64858d-73bf-48c4-a862-e403db5b8369","html_url":"https://github.com/ussserrr/stepper-motor-stand","commit_stats":{"total_commits":5,"total_committers":1,"mean_commits":5.0,"dds":0.0,"last_synced_commit":"3fd9740fe7ea948401dbc02b925055c0fd9420bb"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ussserrr%2Fstepper-motor-stand","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ussserrr%2Fstepper-motor-stand/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ussserrr%2Fstepper-motor-stand/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ussserrr%2Fstepper-motor-stand/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ussserrr","download_url":"https://codeload.github.com/ussserrr/stepper-motor-stand/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240779346,"owners_count":19856169,"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":[],"created_at":"2024-10-01T17:14:00.337Z","updated_at":"2025-02-26T02:26:18.173Z","avatar_url":"https://github.com/ussserrr.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# stepper-motor-stand\nArduino-based (ATmega328P MCU) stepper motor driver with remote control via USART (57600, 8N1). Motor is actuated via any switches. To see quick help, send `help`+ENTER command. It may be used as some sort of stand where alternate direction motion is needed.\n\n\n## Features\n  - 2 drive modes: wave and full-step (see [Wiki](https://en.wikipedia.org/wiki/Stepper_motor#Phase_current_waveforms)):\n    - wave - basic mode (one phase per period)\n    - full-step - increased torque (2 phases per period are driven simultaneously)\n  - Pulse duration adjustment (change speed and torque)\n  - 2 endstops for movement direction change\n  - Save parameters to the EEPROM non-volatile memory\n  - Built-in help for commands system\n  - Rotate on the specified number of steps\n\n\n## Connection\nDriver uses Timer2 to manually switches corresponding phases of 4-wire bipolar stepper motors. Plug in your motor to any switches (relays, discrete transistors, array of transistors, Darlington transistors, driver IC and so on). Correct order of phases' connection depends on your motor but generally is A-C-B-D, considering AB and CD as 2 coils.\n  - PC2, PC3, PC4, PC5: motor' phases\n  - PB2, PB3: endstops (active-low, should be pulled up to Vcc)\n  - USART serial connection: 57600 baud, 8N1, NL\u0026CR.\n\n\n## Build and flash\nIt's recommended to use [PlatformIO](https://platformio.org) for building and flashing as all-in-one solution.\n\n### CLI\nChange settings in `platformio.ini` file if needed (for example, specify whether use programming unit or not). Then in the same directory run:\n```bash\n$ pio run  # build\n\n$ pio run -t program  # flash using usbasp\nor\n$ pio run -t upload  # flash using on-board programmer\n\n$ pio run -t uploadeep  # write EEPROM\n```\n\n### IDE (Atom or VSCode)\n  1. Import project: `File` -\u003e `Add Project Folder`;\n  2. Change settings in `platformio.ini` file if needed (for example, specify whether use programming unit or not);\n  3. Build: `PlatformIO` -\u003e `Build`;\n  4. Open built-in terminal and run:\n     ```bash\n     $ pio run -t program; pio run -t uploadeep\n     ```\n     or for Arduino board:\n     ```bash\n     $ pio run -t upload; pio run -t uploadeep\n     ```\n\n\n## Commands system\nSuch help you can also get by sending `help` command to the driver itself.\n```\npulse [value]\n  Set the duration of the high-level pulse in microseconds (from 64us to 16384us, integer number). Values like '12345678' will be interpreted as 12345\n\nfullstep\n  Set full-step drive mode of stepper motor\n\nwave\n  Set wave drive mode of stepper motor\n\nmove/movenb [±steps]\n  Make [±steps] steps in blocking/non-blocking mode and stop (regardless of the previous state). Sign defines the direction\n\nstop\n  Stop the motor in the current position\n\ninfo\n  Get an information about a content of timer's registers (compare value and prescaler), current mode (full-step or wave) and movement direction\n\nsave\n  Save current configuration in EEPROM\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fussserrr%2Fstepper-motor-stand","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fussserrr%2Fstepper-motor-stand","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fussserrr%2Fstepper-motor-stand/lists"}