{"id":39802062,"url":"https://github.com/melchiorrecaruso/xy-plot","last_synced_at":"2026-01-18T12:34:29.322Z","repository":{"id":87273529,"uuid":"269075983","full_name":"melchiorrecaruso/xy-plot","owner":"melchiorrecaruso","description":"XY Plotter - Arduino Project","archived":false,"fork":false,"pushed_at":"2025-01-15T17:50:32.000Z","size":74713,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-15T20:10:05.527Z","etag":null,"topics":["pascal","pen-plotter","plotter","xy-plotter"],"latest_commit_sha":null,"homepage":"","language":"Pascal","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/melchiorrecaruso.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":"2020-06-03T11:58:32.000Z","updated_at":"2025-01-15T17:50:34.000Z","dependencies_parsed_at":"2025-01-15T19:08:39.859Z","dependency_job_id":"24447a4c-c1f0-4ce9-8946-0e5dcf0cee27","html_url":"https://github.com/melchiorrecaruso/xy-plot","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/melchiorrecaruso/xy-plot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/melchiorrecaruso%2Fxy-plot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/melchiorrecaruso%2Fxy-plot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/melchiorrecaruso%2Fxy-plot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/melchiorrecaruso%2Fxy-plot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/melchiorrecaruso","download_url":"https://codeload.github.com/melchiorrecaruso/xy-plot/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/melchiorrecaruso%2Fxy-plot/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28536002,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-18T10:13:46.436Z","status":"ssl_error","status_checked_at":"2026-01-18T10:13:11.045Z","response_time":98,"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":["pascal","pen-plotter","plotter","xy-plotter"],"created_at":"2026-01-18T12:34:29.222Z","updated_at":"2026-01-18T12:34:29.285Z","avatar_url":"https://github.com/melchiorrecaruso.png","language":"Pascal","funding_links":[],"categories":[],"sub_categories":[],"readme":"# **XY-Plot**\n\nA plotter is a printer designed for printing vector graphics. Instead of printing individual dots on the paper, plotters draw continuous lines.\nThis makes plotters ideal for printing architectural blueprints, engineering designs, and other CAD drawings. \n\n\u003cimg src=\"./images/Machine.png\" alt=\"drawing\" width=\"600\"/\u003e\n\n## **XY-Plot hardware requirements**\n\nThe main components are:\n\n\u003e-  1x Arduino Uno R3 board or Mega 2560 R3;\n\u003e-  1x CNC Shield V3 expansion board;\n\u003e-  4x DRV8825 stepper motor driver;\n\u003e-  4x Stepper motor Nema-17 (min torque 40 Ncm);\n\u003e-  3x Timing belt pulley GT2 20T 5mmn bore;\n\u003e- 12x Smooth idler pulley with bearings GT2 20T 5mm bore;\n\u003e- 10m GT2 timming belt;\n\u003e-  1x 12V/5A power supplier;\n\u003e-  1x 3D-Printer for printing all hardware parts;\n\u003e-  40x40 beams, carriages. See [OpenBuilds parts store](https://openbuildspartstore.com/);\n\u003e-  Washers, bolts and nuts.\n\n### **X Linear Actuator**\nPrints parts and assembly two X axis linear actuator.\n\n\u003cimg src=\"./images/X-Axis.png\" alt=\"drawing\" width=\"400\"/\u003e\n\n### **Y Linear Actuator \u0026 Pen Holder**\nPrints parts, assembly one Y axis linear actuator and pen holder.\n\n\u003cimg src=\"./images/Y-Axis.png\" alt=\"drawing\" width=\"400\"/\u003e\n\n## **XY-Plot software requirements**\n\nFor compiling XY-Plot Client use [Lazarus IDE and FreePascal compiler](https://www.lazarus-ide.org/index.php?page=downloads).\n\n**Libraries**:\n\n\u003e- [BGRA Controls Library](https://bgrabitmap.github.io/)\n\u003e- [LNet Library](https://lnet.wordpress.com/)\n\nUse integrated [Online Package Manager](https://wiki.freepascal.org/Online_Package_Manager ) for installing all libraries.\n\n**Build Client**:\n\n```console\nlazbuild --build-mode=Release xyplot.lpi\nlazbuild --build-mode=Debug xyplot.lpi\n```\n\n**Build Server**:\n\nFor building and loading server sketch on Arduino board use [Arduino IDE](https://www.arduino.cc/en/Main/Software).\n\n## **Before assembling**\n\nSet the Vref current on DRV8825 stepper drivers. See the guide\n\n\u003e- [How to control a stepper motor with DRV8825](https://www.makerguides.com/drv8825-stepper-motor-driver-arduino-tutorial/)\n\n## **Connecting to Arduino**\n\nNema 17 motors have 200 steps for rotation but by enabling microsteps on the Pololu drivers we can obtain up to 3200 steps for rotation which allows for much more precision. For doing that add four jumpers on green pins. \n\n\u003cimg src=\"./images/Jumpers.png\" alt=\"drawing\" width=\"400\"/\u003e\n\n**Then**\n- Mount the stepper drivers on CNC schield board;\n- Apply two jumpers on green pins for clonig X axis;\n- Connect X motors to the blue pins;\n- Connect Y motor to red pins;\n- Connect Z motor to yellow pins.\n\n\u003cimg src=\"./images/Drivers.png\" alt=\"drawing\" width=\"400\"/\u003e\n\n**Then**\n- Mount CNC Shield on arduino board;\n- Connect Arduino board to PC by usb port;\n- Connect 12V power supply to CNC schield.\n\n## **Starting**\n\nOpen XY-Plot client for connecting and controlling Plotter.\n\n\u003cimg src=\"./images/Client.png\" alt=\"drawing\" width=\"400\"/\u003e\n\n## **Boards Box**\n\nBelow a boards box example.\n\n\u003cimg src=\"./images/Box.png\" alt=\"drawing\" width=\"400\"/\u003e\n\n## **LICENSE**\n[GNU General Public License v3.0](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmelchiorrecaruso%2Fxy-plot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmelchiorrecaruso%2Fxy-plot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmelchiorrecaruso%2Fxy-plot/lists"}