{"title":"Brands - Gearotons","description":"","products":[{"product_id":"gearotons-m17-34-compact-servo","title":"Gearotons M17-34 Compact Servo Motor | 0.25Nm Torque 560RPM 12–24V","description":"\u003cp\u003eThe \u003cstrong\u003eGearotons M17-34 Compact Servo Motor\u003c\/strong\u003e is a compact integrated servo motor for projects that need precise motion control in a NEMA 17-class form factor. According to the product title, this variant is rated for \u003cstrong\u003e0.25Nm torque\u003c\/strong\u003e, \u003cstrong\u003e560RPM\u003c\/strong\u003e maximum speed, and a \u003cstrong\u003e12-24V\u003c\/strong\u003e operating supply range.\u003c\/p\u003e\n\n\u003cp\u003eAs part of the Gearotons M17 motion-control ecosystem, it is designed for controller-driven applications where the motor, driver, motion controller, and encoder are integrated into one unit. Gearotons M17 documentation describes an \u003cstrong\u003eRS-485\u003c\/strong\u003e communication interface, command-based control, closed-loop operation, trapezoid motion profiles, self-calibration, and software support for host platforms such as Mac, PC, Raspberry Pi, Arduino, and ESP32.\u003c\/p\u003e\n\n\u003cp\u003eThe \u003cstrong\u003eM17-34\u003c\/strong\u003e is useful when the system requires a smaller torque option than higher-torque M17 variants while keeping the same RS-485 control workflow. Variant-specific mechanical details such as height, shaft length, weight, current, and rated power should be verified from the actual module documentation or product label before mechanical design.\u003c\/p\u003e\n\n\u003chr style=\"border: 0; border-top: 1px solid #e0e0e0; margin: 24px 0;\"\u003e\n\n\u003ch2\u003eFeatures\u003c\/h2\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eCompact integrated servo\u003c\/strong\u003e - Combines motor-drive and motion-control functions in a compact servo motor module for embedded motion projects.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003e0.25Nm torque rating\u003c\/strong\u003e - Product title identifies the M17-34 variant as a \u003cstrong\u003e0.25Nm\u003c\/strong\u003e torque option for lighter-load mechanisms.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003e560RPM maximum speed\u003c\/strong\u003e - Product title lists a maximum speed of \u003cstrong\u003e560RPM\u003c\/strong\u003e, matching the speed value used across the public M17 series specification table.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003e12-24V operating range\u003c\/strong\u003e - Supports a wide \u003cstrong\u003e12-24V\u003c\/strong\u003e supply range for flexible bench and embedded system power designs.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eRS-485 communication\u003c\/strong\u003e - Gearotons M17 documentation describes RS-485 communication for host-to-motor control and daisy-chain style system layouts.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eClosed-loop motion control\u003c\/strong\u003e - M17 series documentation describes closed-loop operation with encoder feedback and PID control.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eTrapezoid motion profiles\u003c\/strong\u003e - Supports higher-level command workflows such as trapezoid moves, reducing the need for timing-critical step\/direction pulse control.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eSelf-calibration support\u003c\/strong\u003e - Gearotons documentation describes onboard calibration functions for preparing the motor for closed-loop operation.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eMulti-platform control\u003c\/strong\u003e - Can be controlled from common development environments using an RS-485 adapter and the appropriate Gearotons software library or protocol.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eUseful for lightweight automation\u003c\/strong\u003e - Suitable for compact robotics, test fixtures, educational motion-control projects, and small mechatronic mechanisms.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003chr style=\"border: 0; border-top: 1px solid #e0e0e0; margin: 24px 0;\"\u003e\n\n\u003ch2\u003eSpecifications\u003c\/h2\u003e\n\u003ctable border=\"1\" cellpadding=\"8\" cellspacing=\"0\" style=\"border-collapse: collapse; width: 100%;\"\u003e\n  \u003ctr style=\"background: #f5f5f5;\"\u003e\n    \u003cth\u003eParameter\u003c\/th\u003e\n    \u003cth\u003eValue\u003c\/th\u003e\n  \u003c\/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cstrong\u003eProduct Name\u003c\/strong\u003e\u003c\/td\u003e\n    \u003ctd\u003eGearotons M17-34 Compact Servo Motor\u003c\/td\u003e\n  \u003c\/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cstrong\u003eModel\u003c\/strong\u003e\u003c\/td\u003e\n    \u003ctd\u003eM17-34\u003c\/td\u003e\n  \u003c\/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cstrong\u003eRated Torque\u003c\/strong\u003e\u003c\/td\u003e\n    \u003ctd\u003e0.25Nm\u003c\/td\u003e\n  \u003c\/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cstrong\u003eMaximum Speed\u003c\/strong\u003e\u003c\/td\u003e\n    \u003ctd\u003e560RPM\u003c\/td\u003e\n  \u003c\/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cstrong\u003eOperating Voltage\u003c\/strong\u003e\u003c\/td\u003e\n    \u003ctd\u003e12-24V\u003c\/td\u003e\n  \u003c\/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cstrong\u003eMotor Type\u003c\/strong\u003e\u003c\/td\u003e\n    \u003ctd\u003eIntegrated compact servo motor\u003c\/td\u003e\n  \u003c\/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cstrong\u003eCommunication Interface\u003c\/strong\u003e\u003c\/td\u003e\n    \u003ctd\u003eRS-485, based on Gearotons M17 series documentation\u003c\/td\u003e\n  \u003c\/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cstrong\u003eControl Features\u003c\/strong\u003e\u003c\/td\u003e\n    \u003ctd\u003eClosed-loop control, trapezoid motion profiles, command-based control, self-calibration support\u003c\/td\u003e\n  \u003c\/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cstrong\u003eHost Platforms\u003c\/strong\u003e\u003c\/td\u003e\n    \u003ctd\u003eMac, PC, Raspberry Pi, Arduino, ESP32, and other hosts with a suitable RS-485 adapter\u003c\/td\u003e\n  \u003c\/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cstrong\u003eUnconfirmed Variant Details\u003c\/strong\u003e\u003c\/td\u003e\n    \u003ctd\u003eHeight, shaft length, shaft diameter, weight, rated power, maximum current, IP rating, and operating temperature are not listed for M17-34 in the public M17 series table checked for this rewrite\u003c\/td\u003e\n  \u003c\/tr\u003e\n\u003c\/table\u003e\n\n\u003chr style=\"border: 0; border-top: 1px solid #e0e0e0; margin: 24px 0;\"\u003e\n\n\u003ch2\u003eReference Documents\u003c\/h2\u003e\n\u003cul\u003e\n  \u003cli\u003e\u003ca href=\"https:\/\/tutorial.gearotons.com\/\" style=\"color: #007FFF; font-weight: bold;\" target=\"_blank\"\u003eGearotons Getting Started Guide\u003c\/a\u003e\u003c\/li\u003e\n  \u003cli\u003e\u003ca href=\"https:\/\/github.com\/tomrodinger\/servomotor\" style=\"color: #007FFF; font-weight: bold;\" target=\"_blank\"\u003eGearotons Servomotor Open-Source Repository\u003c\/a\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003chr style=\"border: 0; border-top: 1px solid #e0e0e0; margin: 24px 0;\"\u003e\n\n\u003ch2\u003eApplication\u003c\/h2\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eCompact robotics\u003c\/strong\u003e - Drive small joints, linkages, grippers, or lightweight robotic mechanisms that benefit from closed-loop control.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eEducational motion labs\u003c\/strong\u003e - Teach servo control, RS-485 communication, command protocols, and closed-loop motion behavior.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eAutomation test fixtures\u003c\/strong\u003e - Build repeatable positioning systems for small test rigs, inspection jigs, and lab automation setups.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003ePrototype CNC mechanisms\u003c\/strong\u003e - Evaluate servo-based positioning in compact axis prototypes where timing-critical step pulse generation is not preferred.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eMechatronics research\u003c\/strong\u003e - Experiment with trapezoid movement, position units, velocity units, and software-driven motion profiles.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eArduino and ESP32 projects\u003c\/strong\u003e - Add RS-485 controlled motion to embedded controller projects with suitable wiring and library support.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eRaspberry Pi control systems\u003c\/strong\u003e - Integrate servo motion into Python-based control workflows through an RS-485 adapter.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eDistributed motor networks\u003c\/strong\u003e - Explore multi-motor RS-485 bus layouts where each motor can be assigned and controlled through software.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003chr style=\"border: 0; border-top: 1px solid #e0e0e0; margin: 24px 0;\"\u003e\n\n\u003ch2\u003ePacking List\u003c\/h2\u003e\n\u003ctable border=\"1\" cellpadding=\"8\" cellspacing=\"0\" style=\"border-collapse: collapse; width: 100%;\"\u003e\n  \u003ctr style=\"background: #f5f5f5;\"\u003e\n    \u003cth\u003eDescription\u003c\/th\u003e\n    \u003cth\u003eQuantity\u003c\/th\u003e\n  \u003c\/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eGearotons M17-34 compact servo motor\u003c\/td\u003e\n    \u003ctd\u003e1\u003c\/td\u003e\n  \u003c\/tr\u003e\n\u003c\/table\u003e\n\n\u003chr style=\"border: 0; border-top: 1px solid #e0e0e0; margin: 24px 0;\"\u003e\n\n\u003ch2\u003eFAQ\u003c\/h2\u003e\n\u003cstyle\u003e\n  .faq-accordion details {\n    border-bottom: 1px solid #e6eef8;\n    padding: 14px 0;\n  }\n  .faq-accordion summary {\n    list-style: none;\n    cursor: pointer;\n    font-size: 16px;\n    font-weight: 700;\n    color: #1f2933;\n    position: relative;\n    padding-right: 32px;\n  }\n  .faq-accordion summary::-webkit-details-marker {\n    display: none;\n  }\n  .faq-accordion summary::after {\n    content: \"\\203A\";\n    position: absolute;\n    right: 4px;\n    top: 50%;\n    transform: translateY(-50%) rotate(90deg);\n    color: #007fff;\n    font-size: 28px;\n    line-height: 1;\n    transition: transform 0.2s ease;\n  }\n  .faq-accordion details[open] summary::after {\n    transform: translateY(-50%) rotate(270deg);\n  }\n  .faq-accordion p {\n    margin: 12px 0 0;\n    color: #4b5563;\n    line-height: 1.65;\n  }\n\u003c\/style\u003e\n\u003cdiv class=\"faq-accordion\"\u003e\n  \u003cdetails\u003e\n    \u003csummary\u003eHow is M17-34 different from higher-torque M17 models?\u003c\/summary\u003e\n    \u003cp\u003eThe M17-34 listing identifies it as a lower-torque \u003cstrong\u003e0.25Nm\u003c\/strong\u003e compact option. Public Gearotons series documentation lists higher-torque M17-40, M17-48, and M17-60 variants, so do not reuse their mechanical values for M17-34 unless separately confirmed.\u003c\/p\u003e\n  \u003c\/details\u003e\n  \u003cdetails\u003e\n    \u003csummary\u003eDoes this motor use RS-485 communication?\u003c\/summary\u003e\n    \u003cp\u003eYes. Gearotons M17 series documentation describes RS-485 communication with command-based control and multi-device bus capability.\u003c\/p\u003e\n  \u003c\/details\u003e\n  \u003cdetails\u003e\n    \u003csummary\u003eWhat power supply range should I plan for?\u003c\/summary\u003e\n    \u003cp\u003eThe product title specifies a \u003cstrong\u003e12-24V\u003c\/strong\u003e operating range. Select a supply suitable for the actual load, wiring, and current requirements of your system.\u003c\/p\u003e\n  \u003c\/details\u003e\n  \u003cdetails\u003e\n    \u003csummary\u003eIs the 560RPM value confirmed for this listing?\u003c\/summary\u003e\n    \u003cp\u003eYes. The Shopify product title lists \u003cstrong\u003e560RPM\u003c\/strong\u003e, and Gearotons public M17 series documentation also lists 560RPM as the maximum speed for the documented M17 variants.\u003c\/p\u003e\n  \u003c\/details\u003e\n  \u003cdetails\u003e\n    \u003csummary\u003eCan it be controlled from Arduino or ESP32?\u003c\/summary\u003e\n    \u003cp\u003eGearotons documentation describes Arduino and ESP32 control workflows through RS-485. A suitable RS-485 adapter and correct UART wiring are required.\u003c\/p\u003e\n  \u003c\/details\u003e\n  \u003cdetails\u003e\n    \u003csummary\u003eCan it be controlled from a Raspberry Pi or PC?\u003c\/summary\u003e\n    \u003cp\u003eYes. Gearotons documentation describes Mac, PC, Raspberry Pi, and other host workflows when using an RS-485 adapter and supported software tools.\u003c\/p\u003e\n  \u003c\/details\u003e\n  \u003cdetails\u003e\n    \u003csummary\u003eDoes it support trapezoid movement?\u003c\/summary\u003e\n    \u003cp\u003eGearotons M17 documentation describes high-level motion commands including trapezoid moves, which help simplify controlled motion compared with timing-critical step\/direction pulse generation.\u003c\/p\u003e\n  \u003c\/details\u003e\n  \u003cdetails\u003e\n    \u003csummary\u003eAre dimensions and weight included?\u003c\/summary\u003e\n    \u003cp\u003eNo. The public M17 table checked for this rewrite does not list M17-34 mechanical dimensions or weight, so those values are intentionally omitted to avoid mixing data from other variants.\u003c\/p\u003e\n  \u003c\/details\u003e\n  \u003cdetails\u003e\n    \u003csummary\u003eWhat is included in the package?\u003c\/summary\u003e\n    \u003cp\u003eThe packing list is limited to \u003cstrong\u003e1 x Gearotons M17-34 compact servo motor\u003c\/strong\u003e. Non-physical documentation links are provided in the Reference Documents section instead of the packing list.\u003c\/p\u003e\n  \u003c\/details\u003e\n\u003c\/div\u003e\n","brand":"Gearotons","offers":[{"title":"Default Title","offer_id":45576333131974,"sku":"Gearotons-M17-34","price":25.85,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0621\/0050\/4774\/files\/imgi_5_image_7e1a79be-2004-48fc-be5a-fb86d7b10ded.webp?v=1777877005"},{"product_id":"gearotons-m17-40-high-torque","title":"Gearotons M17-40 High-Torque Servo Motor | 0.40Nm Torque 480RPM 12–24V","description":"\u003cp\u003e\u003cspan\u003eThe M17 Series Servomotors are integrated motion‑control units that combine a motor, motor driver, motion controller, and encoder within a single compact assembly. Designed with an \u003cstrong\u003eRS‑485 communication interface\u003c\/strong\u003e, the series supports \u003cstrong\u003emulti‑device daisy‑chain networking\u003c\/strong\u003e, allowing multiple servomotors to be managed from a single connection point. The product line includes \u003cstrong\u003ethree models — M17‑60, M17‑48, and M17‑40 —\u003c\/strong\u003e providing torque‑matched options while maintaining consistent control behavior across the series.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch2\u003eControl Features\u003c\/h2\u003e\n\u003cp\u003e\u003cspan\u003eEach M17 Series Servomotor incorporates advanced control capabilities such as \u003cstrong\u003emultiple operation modes\u003c\/strong\u003e, \u003cstrong\u003eself‑calibration\u003c\/strong\u003e, and \u003cstrong\u003ebuilt‑in status monitoring\u003c\/strong\u003e via LED indicators. The motors can be operated from a wide range of platforms, including \u003cstrong\u003eMac, PC, Raspberry Pi, and Arduino\u003c\/strong\u003e (using a low‑cost RS‑485 adapter), making them suitable for both educational environments and industrial systems.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch2\u003eMotion Performance\u003c\/h2\u003e\n\u003cp\u003e\u003cspan\u003eThe series supports \u003cstrong\u003eprecise position control\u003c\/strong\u003e through trapezoid movement profiles, a \u003cstrong\u003eclosed‑loop control mode\u003c\/strong\u003e, and comprehensive \u003cstrong\u003eerror‑handling mechanisms\u003c\/strong\u003e. With standardized \u003cstrong\u003eNEMA 17 mounting dimensions\u003c\/strong\u003e, a \u003cstrong\u003e12–24 V operating voltage range\u003c\/strong\u003e, and a robust communication protocol, M17 Series Servomotors deliver a reliable and flexible solution for applications requiring accurate motion control.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch2\u003eApplication Scenarios\u003c\/h2\u003e\n\u003cp\u003e\u003cspan\u003eThe integrated design and communication flexibility make the series well‑suited for \u003cstrong\u003erobotics\u003c\/strong\u003e, \u003cstrong\u003eCNC machinery\u003c\/strong\u003e, \u003cstrong\u003eautomated test equipment\u003c\/strong\u003e, and \u003cstrong\u003escientific instrumentation\u003c\/strong\u003e, where compact form factor and precise actuation are essential.\u003c\/span\u003e\u003c\/p\u003e\n\u003cdiv\u003e\n\u003csection id=\"introduction\" class=\"Marketing_contentSection__AnvH7\"\u003e\n\u003cdiv class=\"Marketing_container__7I3E7\"\u003e\n\u003cdiv class=\"Marketing_sectionImageContainer__JzoMZ\"\u003e\u003cimg src=\"https:\/\/gearotons.com\/_next\/image?url=%2Fmarketing%2Fimages%2Fone_motor_small.jpg\u0026amp;w=1920\u0026amp;q=75\" alt=\"M17 Servomotor\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003csection id=\"features\" class=\"Marketing_contentSection__AnvH7\"\u003e\n\u003cdiv class=\"Marketing_container__7I3E7\"\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch2\u003eKey Features\u003c\/h2\u003e\n\u003cdiv class=\"Marketing_sectionImageContainer__JzoMZ\"\u003e\u003cimg src=\"https:\/\/gearotons.com\/_next\/image?url=%2Fmarketing%2Fimages%2Fkit_with_three_motors_small.jpg\u0026amp;w=1920\u0026amp;q=75\" alt=\"M17 Servomotor Kit\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"Marketing_sectionImageContainer__JzoMZ\"\u003e\u003c\/div\u003e\n\u003cul class=\"Marketing_featuresListSimple__rEFGw\"\u003e\n\u003cli\u003eHigh level of integration combines a motor, motor driver, motion control system, and encoder\u003c\/li\u003e\n\u003cli\u003eControl any number of motors from one simple controller over a RS-485 commincation interface\u003c\/li\u003e\n\u003cli\u003eControl with high level commands such as \"Emable mosfets\" and \"Trapezoid move\" (avoid timing critical DIR\/STEP control)\u003c\/li\u003e\n\u003cli\u003eCompact form factor nearly the same size as a NEMA 17 stepper motor with the same specifications (no protrusions)\u003c\/li\u003e\n\u003cli\u003eStandardized NEMA 17 mounting dimensions\u003c\/li\u003e\n\u003cli\u003eWide voltage range (12-24V) for flexible power options\u003c\/li\u003e\n\u003cli\u003eHigh-precision closed loop control with build in encoder and PID control loop that runs at 32 kHz\u003c\/li\u003e\n\u003cli\u003eMuch more power efficient in closed loop control vs. conventional stepper\u003c\/li\u003e\n\u003cli\u003eIntegrated over-current, over-voltage, and over-temperature protection\u003c\/li\u003e\n\u003cli\u003eMaximum speed can reach 560 RPM\u003c\/li\u003e\n\u003cli\u003eTorque-to-weight ratio is the same as an equivalent stepper motor\u003c\/li\u003e\n\u003cli\u003eCompatible with a wide variety of interfaces and hardware, such as Raspberry Pi, Arduino, ESP32, Mac, and PC\u003c\/li\u003e\n\u003cli\u003eWe strive to provide excellent documentation and tutorials to get you up and running fast\u003c\/li\u003e\n\u003cli\u003eWe provide AI friendly documentation in case you want your favorite AI to do all the work for you\u003c\/li\u003e\n\u003cli\u003eSuitable for robotics, CNC, automation, scientific instruments, testing jigs, 3D printers, and everything else\u003c\/li\u003e\n\u003cli\u003eAvailable in different sizes so you can find the right torque and price for your application\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003csection id=\"connection\" class=\"Marketing_contentSection__AnvH7 Marketing_diagramSection__1sWbS\"\u003e\n\u003cdiv class=\"Marketing_container__7I3E7\"\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch2\u003eConnection Diagram\u003c\/h2\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"Marketing_diagramContainer__dkAq7\"\u003e\u003cimg src=\"https:\/\/gearotons.com\/_next\/image?url=%2Fmarketing%2Fimages%2Fconnection_diagram.jpg\u0026amp;w=3840\u0026amp;q=75\" alt=\"Connection Diagram\"\u003e\u003c\/div\u003e\n\u003c\/section\u003e\n\u003csection id=\"unit-system\" class=\"Marketing_contentSection__AnvH7\"\u003e\n\u003cdiv class=\"Marketing_container__7I3E7\"\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch2\u003eUnit System\u003c\/h2\u003e\n\u003cp\u003eThe M17 Series Servomotors have certain internal units so that they can perform the calculations associated with motion efficiently (using integer math). It is the responsibility of the controlling software to support multiple units of measurement for various quantities. Our Python and Arduino libraries handle unit conversions automatically, allowing you to work with your preferred units. Below are the supported units for each quantity:\u003c\/p\u003e\n\u003ctable class=\"Marketing_specsTable__a2_EZ\"\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eQuantity\u003c\/th\u003e\n\u003cth\u003eAvailable Units\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eTime\u003c\/td\u003e\n\u003ctd\u003etimesteps, seconds, milliseconds, minutes\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ePosition\u003c\/td\u003e\n\u003ctd\u003eshaft rotations, degrees, radians, encoder counts\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eVelocity\u003c\/td\u003e\n\u003ctd\u003erotations per second, rpm, degrees per second, radians per second, counts per second, counts per timestep\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAcceleration\u003c\/td\u003e\n\u003ctd\u003erotations per second squared, rpm per second, degrees per second squared, radians per second squared, counts per second squared, counts per timestep squared\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eCurrent\u003c\/td\u003e\n\u003ctd\u003einternal current units, milliamps, amps\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eVoltage\u003c\/td\u003e\n\u003ctd\u003emillivolts, volts\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eTemperature\u003c\/td\u003e\n\u003ctd\u003ecelsius, fahrenheit, kelvin\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003csection id=\"getting-started\" class=\"Marketing_contentSection__AnvH7\"\u003e\n\u003cdiv class=\"Marketing_container__7I3E7\"\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch2\u003eGetting Started Guide\u003c\/h2\u003e\n\u003cp\u003eTo help you get started with your M17 Series Servomotor, we provide a comprehensive online guide that covers everything from initial setup to advanced protocol implementations. This guide includes:\u003c\/p\u003e\n\u003cul class=\"Marketing_guideFeatures__4vSei\"\u003e\n\u003cli\u003eStep-by-step setup instructions\u003c\/li\u003e\n\u003cli\u003eDetailed communication protocol documentation\u003c\/li\u003e\n\u003cli\u003eProgramming examples and code snippets\u003c\/li\u003e\n\u003cli\u003eDescription of error codes\u003c\/li\u003e\n\u003cli\u003eTroubleshooting tips and best practices\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cdiv class=\"Marketing_guideLink__cNCFp\"\u003e\u003cspan style=\"color: rgb(0, 170, 255);\"\u003e\u003cstrong\u003e\u003ca href=\"https:\/\/tutorial.gearotons.com\/\" class=\"Marketing_btn__s0oB_ Marketing_btnPrimary__tgSLp\" style=\"color: rgb(0, 170, 255);\" target=\"_blank\"\u003eClick Here to Visit our Getting Started Guide\u003c\/a\u003e\u003c\/strong\u003e\u003c\/span\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003csection id=\"indicators\" class=\"Marketing_contentSection__AnvH7\"\u003e\n\u003cdiv class=\"Marketing_container__7I3E7\"\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch2\u003eIndicator LEDs and Buttons\u003c\/h2\u003e\n\u003cdiv class=\"Marketing_sectionImageContainer__JzoMZ\"\u003e\u003cimg src=\"https:\/\/gearotons.com\/_next\/image?url=%2Fmarketing%2Fimages%2Fmotor_back_small.jpg\u0026amp;w=1920\u0026amp;q=75\" alt=\"Motor Back with LEDs and Buttons\"\u003e\u003c\/div\u003e\n\u003cdiv class=\"Marketing_sectionImageContainer__JzoMZ\"\u003e\u003c\/div\u003e\n\u003cp\u003eThe servomotor has two status LEDs (Green and Red). The green LED flashes slowly to show a heart beat and quickly to indicate that the bootloader is running rather than the application. The red LED will light up briefly to show communication on the bus and will indicate fatal error codes by flashing a certain number of times.\u003c\/p\u003e\n\u003cp\u003eThe servomotor has two buttons labelled \"Reset\" and \"Test\". The Reset button will reset the internal microcontroller and all state will go back to default values. The Test button will cause the motor to spin. Press briefly to let it spin one way and press for more than 0.3 seconds and release to let it spin the other way. Hold down for at least 2 seconds and release to cause the motor to go to closed loop mode. Hold down for more than 15 seconds and release to let the motor perform a calibration on itself. Note that it will spin during calibration and must be able to spin freely for calibration to be successful, so remove any loads before doing this operation.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003csection id=\"protocol\" class=\"Marketing_contentSection__AnvH7\"\u003e\n\u003cdiv class=\"Marketing_container__7I3E7\"\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch2\u003eCommunication Protocol\u003c\/h2\u003e\n\u003cdiv class=\"Marketing_sectionImageContainer__JzoMZ\"\u003e\u003cimg src=\"https:\/\/gearotons.com\/_next\/image?url=%2Fmarketing%2Fimages%2Fadapter_and_wire_small.jpg\u0026amp;w=1920\u0026amp;q=75\" alt=\"RS-485 Adapter and Wire\"\u003e\u003c\/div\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003eThe M17 series uses RS-485 communication with a simple command-based protocol. Multiple motors can be daisy-chained on a single bus, each with a unique ID.\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch2\u003eCommand Reference Summary\u003c\/h2\u003e\n\u003cp\u003eFor the up to date source of truth for all available commands, you can look at this document.\u003c\/p\u003e\n\u003cdiv class=\"Marketing_commandLink__MDaV_\"\u003e\u003cspan style=\"color: rgb(0, 170, 255);\"\u003e\u003cstrong\u003e\u003ca href=\"https:\/\/github.com\/tomrodinger\/servomotor\/blob\/main\/python_programs\/servomotor\/motor_commands.json\" style=\"color: rgb(0, 170, 255);\" target=\"_blank\"\u003ehttps:\/\/github.com\/tomrodinger\/servomotor\/blob\/main\/python_programs\/servomotor\/motor_commands.json\u003c\/a\u003e\u003c\/strong\u003e\u003c\/span\u003e\u003c\/div\u003e\n\u003cp\u003eYou can also run this command:\u003c\/p\u003e\n\u003cpre\u003e\u003ccode class=\"language-bash\"\u003epip3 install servomotor   # run this just once to install the library and programs\nservomotor_command -c\u003c\/code\u003e\u003c\/pre\u003e\n\u003cp\u003eThis will print out the information contained in the motor_commands.json file in a nicer way and give some usage information for sending commands to the motor from the command line.\u003c\/p\u003e\n\u003cp\u003eThe commands are grouped by functionality including Basic Control, Motion Control, Configuration, Status \u0026amp; Monitoring, and Device Management.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003csection id=\"specifications\" class=\"Marketing_contentSection__AnvH7\"\u003e\n\u003cdiv class=\"Marketing_container__7I3E7\"\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch2\u003eTechnical Specifications\u003c\/h2\u003e\n\u003ch3\u003eMechanical Specifications\u003c\/h3\u003e\n\u003ctable class=\"Marketing_specsTable__a2_EZ\"\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eParameter\u003c\/th\u003e\n\u003cth\u003eM17-60\u003c\/th\u003e\n\u003cth\u003eM17-48\u003c\/th\u003e\n\u003cth\u003eM17-40\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eDimensions (LxW)\u003c\/td\u003e\n\u003ctd\u003e42.2x42.2 mm\u003c\/td\u003e\n\u003ctd\u003e42.2x42.2 mm\u003c\/td\u003e\n\u003ctd\u003e42.2x42.2 mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eHeight\u003c\/td\u003e\n\u003ctd\u003e59.8 mm\u003c\/td\u003e\n\u003ctd\u003e48.6 mm\u003c\/td\u003e\n\u003ctd\u003e41.6 mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eShaft Length\u003c\/td\u003e\n\u003ctd\u003e20.4 mm\u003c\/td\u003e\n\u003ctd\u003e20.4 mm\u003c\/td\u003e\n\u003ctd\u003e18.5 mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eShaft Diameter\u003c\/td\u003e\n\u003ctd\u003e5 mm\u003c\/td\u003e\n\u003ctd\u003e5 mm\u003c\/td\u003e\n\u003ctd\u003e5 mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eWeight\u003c\/td\u003e\n\u003ctd\u003e470g\u003c\/td\u003e\n\u003ctd\u003e360g\u003c\/td\u003e\n\u003ctd\u003e285g\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eProtection Class\u003c\/td\u003e\n\u003ctd\u003eIP20\u003c\/td\u003e\n\u003ctd\u003eIP20\u003c\/td\u003e\n\u003ctd\u003eIP20\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cdiv class=\"Marketing_dimensionImages__hbB6v\"\u003e\n\u003cdiv class=\"Marketing_dimensionImageContainer__EQURD\"\u003e\n\u003cimg src=\"https:\/\/gearotons.com\/_next\/image?url=%2Fmarketing%2Fimages%2FM17-60_dimensions.png\u0026amp;w=3840\u0026amp;q=75\" alt=\"M17-60 Dimensions\"\u003e\u003cbr\u003e\n\u003cp class=\"Marketing_dimensionLabel__jiGz1\"\u003eM17-60\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"Marketing_dimensionImageContainer__EQURD\"\u003e\n\u003cimg src=\"https:\/\/gearotons.com\/_next\/image?url=%2Fmarketing%2Fimages%2FM17-48_dimensions.png\u0026amp;w=3840\u0026amp;q=75\" alt=\"M17-48 Dimensions\"\u003e\u003cbr\u003e\n\u003cp class=\"Marketing_dimensionLabel__jiGz1\"\u003eM17-48\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"Marketing_dimensionImageContainer__EQURD\"\u003e\n\u003cimg src=\"https:\/\/gearotons.com\/_next\/image?url=%2Fmarketing%2Fimages%2FM17-40_dimensions.png\u0026amp;w=3840\u0026amp;q=75\" alt=\"M17-40 Dimensions\"\u003e\u003cbr\u003e\n\u003cp class=\"Marketing_dimensionLabel__jiGz1\"\u003eM17-40\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch2\u003eElectrical Specifications\u003c\/h2\u003e\n\u003ctable class=\"Marketing_specsTable__a2_EZ\"\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eParameter\u003c\/th\u003e\n\u003cth\u003eM17-60\u003c\/th\u003e\n\u003cth\u003eM17-48\u003c\/th\u003e\n\u003cth\u003eM17-40\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eOperating Voltage\u003c\/td\u003e\n\u003ctd\u003e12-24V\u003c\/td\u003e\n\u003ctd\u003e12-24V\u003c\/td\u003e\n\u003ctd\u003e12-24V\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eRated Torque\u003c\/td\u003e\n\u003ctd\u003e0.65 N.m\u003c\/td\u003e\n\u003ctd\u003e0.55 N.m\u003c\/td\u003e\n\u003ctd\u003e0.42 N.m\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMaximum Speed\u003c\/td\u003e\n\u003ctd\u003e560 RPM\u003c\/td\u003e\n\u003ctd\u003e560 RPM\u003c\/td\u003e\n\u003ctd\u003e560 RPM\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMaximum Current\u003c\/td\u003e\n\u003ctd\u003e1.1A\u003c\/td\u003e\n\u003ctd\u003e1.1A\u003c\/td\u003e\n\u003ctd\u003e1.1A\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eRated Power\u003c\/td\u003e\n\u003ctd\u003e38W\u003c\/td\u003e\n\u003ctd\u003e32W\u003c\/td\u003e\n\u003ctd\u003e25W\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch2\u003eOperating Conditions\u003c\/h2\u003e\n\u003ctable class=\"Marketing_conditionsTable__K4WIG\"\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eParameter\u003c\/th\u003e\n\u003cth\u003eSpecification\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eOperating Temperature\u003c\/td\u003e\n\u003ctd\u003e0°C to +80°C\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eStorage Temperature\u003c\/td\u003e\n\u003ctd\u003e-20°C to +60°C\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eHumidity Range\u003c\/td\u003e\n\u003ctd\u003e20% to 80% RH (non-condensing)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eInstallation Environment\u003c\/td\u003e\n\u003ctd\u003eIndoor use only\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003csection id=\"libraries\" class=\"Marketing_contentSection__AnvH7\"\u003e\n\u003cdiv class=\"Marketing_container__7I3E7\"\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch2\u003eLibrary Support\u003c\/h2\u003e\n\u003cdiv class=\"Marketing_librarySection__GytkH\"\u003e\n\u003ch2\u003ePython Library\u003c\/h2\u003e\n\u003cp\u003eEasy-to-use Python library for controlling M17 servomotors:\u003c\/p\u003e\n\u003cpre\u003e\u003ccode class=\"language-python\"\u003e#!\/usr\/bin\/env python3\n\"\"\"\nMinimal trapezoid move: rotate 1 turn in 1 second.\nEdit ALIAS below if needed. Uses rotations and seconds.\n\"\"\"\nimport time, servomotor\nfrom servomotor import communication\n\n# Hard-coded settings for a minimal demo\nALIAS = 'X'                             # Device alias, change if needed\nSERIAL_PORT = \"\/dev\/tty.usbserial-110\"  # Serial device path; change if needed (e.g., \"COM3\" on\n                                        #  Windows)\nDISPLACEMENT_ROTATIONS = 1.0            # 1 rotation\nDURATION_SECONDS = 1.0                  # 1 second\nDELAY_MARGIN = 0.10                     # +10% wait margin because the motor's clock is not\n                                        #  perfectly accurate\n\ncommunication.serial_port = SERIAL_PORT # if you comment this out then the program\n                                        #  should prompt you for the serial port or it will use\n                                        #  the last used port from a file\nservomotor.open_serial_port()\n\nm = servomotor.M3(ALIAS, time_unit=\"seconds\", position_unit=\"shaft_rotations\", verbose=0)\nm.enable_mosfets()\nm.trapezoid_move(DISPLACEMENT_ROTATIONS, DURATION_SECONDS)\ntime.sleep(DURATION_SECONDS * (1.0 + DELAY_MARGIN))\nm.disable_mosfets()\n\nservomotor.close_serial_port()\u003c\/code\u003e\u003c\/pre\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"Marketing_librarySection__GytkH\"\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch2\u003eArduino Library\u003c\/h2\u003e\n\u003cp\u003eArduino library for easy integration with Arduino boards:\u003c\/p\u003e\n\u003cpre\u003e\u003ccode class=\"language-cpp\"\u003e\/\/ Minimal Arduino example: Trapezoid move using built‑in unit conversions\n\/\/ Goal: spin the motor exactly 1 rotation in 1 second, then stop.\n\/\/ Sequence:\n\/\/  enable MOSFETs -\u0026gt; trapezoidMove(1.0 rotations, 1.0 seconds) -\u0026gt; wait 1.1s -\u0026gt; disable MOSFETs.\n\/\/\n\/\/ Notes:\n\/\/ - This uses the library's unit conversion (no raw counts\/timesteps).\n\/\/ - Configure Serial1 pins for your board (ESP32 example pins below).\n\/\/ - Motor is created AFTER Serial1.begin(...) so hardware UART pins are set first.\n\n#include \u0026lt;Servomotor.h\u0026gt;\n\n#define ALIAS 'X'                   \/\/ Device alias\n#define BAUD 230400                 \/\/ RS485 UART baud rate\n#define DISPLACEMENT_ROTATIONS 1.0f \/\/ 1 rotation\n#define DURATION_SECONDS 1.0f       \/\/ 1 second\n#define TOLERANCE_PERCENT 10        \/\/ +10% wait margin because the motor's clock is not\n                                    \/\/  perfectly accurate\n#define WAIT_MS ((unsigned long)(DURATION_SECONDS * 1000.0f * (100 + TOLERANCE_PERCENT) \/ 100))\n\n\/\/ Example RS485 pins for ESP32 DevKit (change as needed for your board)\n#if defined(ESP32)\n#define RS485_TXD 4              \/\/ TX pin to RS485 transceiver\n#define RS485_RXD 5              \/\/ RX pin from RS485 transceiver\n#endif\n\nvoid setup() {\n  Serial.begin(115200); \/\/ Console serial for debugging\n\n  \/\/ Create the motor; serial port opens on first instantiation.\n#if defined(ESP32)\n  Servomotor motor(ALIAS, Serial1, RS485_RXD, RS485_TXD);\n#else\n  Servomotor motor(ALIAS, Serial1);\n#endif\n\n  \/\/ Use units: rotations for position, seconds for time\n  motor.setPositionUnit(PositionUnit::SHAFT_ROTATIONS);\n  motor.setTimeUnit(TimeUnit::SECONDS);\n\n  motor.enableMosfets();\n  motor.trapezoidMove(DISPLACEMENT_ROTATIONS, DURATION_SECONDS);\n  delay(WAIT_MS);\n  motor.disableMosfets();\n}\n\nvoid loop() {\n}\u003c\/code\u003e\u003c\/pre\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003csection id=\"applications\" class=\"Marketing_contentSection__AnvH7\"\u003e\n\u003cdiv class=\"Marketing_container__7I3E7\"\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch2\u003eApplications\u003c\/h2\u003e\n\u003cp\u003eThe M17 Series servomotors are perfect for a wide range of applications, from educational projects to industrial automation.\u003c\/p\u003e\n\u003cdiv class=\"Marketing_applicationsGrid__0n21e\"\u003e\n\u003cdiv class=\"Marketing_applicationCard__XSxDN\"\u003e\n\u003cimg src=\"https:\/\/gearotons.com\/_next\/image?url=%2Fmarketing%2Fimages%2Frobotics_small.jpg\u0026amp;w=1920\u0026amp;q=75\" alt=\"Robotics Application\"\u003e\u003cbr\u003e\n\u003ch3\u003eRobotics\u003c\/h3\u003e\n\u003cp\u003eBuild precise robotic arms, mobile robots, and educational robotics platforms with easy-to-control servomotors.\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"Marketing_applicationCard__XSxDN\"\u003e\n\u003cimg src=\"https:\/\/gearotons.com\/_next\/image?url=%2Fmarketing%2Fimages%2Fautomation_small.jpg\u0026amp;w=1920\u0026amp;q=75\" alt=\"Automation Application\"\u003e\u003cbr\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch3\u003eAutomation\u003c\/h3\u003e\n\u003cp\u003ePerfect for automated systems, CNC machines, 3D printers, and industrial control applications.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003csection id=\"company-profile\" class=\"Marketing_contentSection__AnvH7\"\u003e\n\u003cdiv class=\"Marketing_container__7I3E7\"\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch2\u003eCompany Profile\u003c\/h2\u003e\n\u003cdiv class=\"Marketing_companyContent___EPvW\"\u003e\n\u003cp\u003eWe are an innovative startup committed to making precision motion control accessible to everyone: to makers, educators, and engineers alike. Founded in Shenzhen in 2022 by a Canadian entrepreneur, we focus on developing integrated servo motor systems that combine cost-effectiveness, high integration, ease of use, and high performance.\u003c\/p\u003e\n\u003cp\u003eOur first product is the M17 series servo motor, which integrates a motor, driver, controller, and encoder into a compact NEMA 17–compatible package. It features RS-485 communication, which allows any number of motors to be controlled from a platform such as Raspberry Pi, Arduino, ESP32, Mac, or PC. Designed for applications ranging from educational robotics to industrial automation, our solutions enable innovation without adding the complexity or cost of traditional systems. Join us to explore the future of motion control!\u003c\/p\u003e\n\u003cdiv class=\"Marketing_companyImageContainer___D0e9\"\u003e\n\u003cimg src=\"https:\/\/gearotons.com\/_next\/image?url=%2Fmarketing%2Fimages%2Ftest_rack_small.jpg\u0026amp;w=1920\u0026amp;q=75\" alt=\"Test Rack\"\u003e\u003cbr\u003e\n\u003cp class=\"Marketing_imageCaption__Cp3sY\"\u003eOur testing facility ensures every motor meets quality standards\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003csection id=\"open-source\" class=\"Marketing_contentSection__AnvH7\"\u003e\n\u003cdiv class=\"Marketing_container__7I3E7\"\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch2\u003eOpen Source\u003c\/h2\u003e\n\u003cdiv class=\"Marketing_openSourceContent__x0V6M\"\u003e\n\u003cp\u003eWe believe in making the world better through technology. All software, firmware, and PCB design files are available here:\u003c\/p\u003e\n\u003cdiv class=\"Marketing_githubLink__x09go\"\u003e\u003cspan style=\"color: rgb(0, 170, 255);\"\u003e\u003cstrong\u003e\u003ca href=\"https:\/\/github.com\/tomrodinger\/servomotor\" style=\"color: rgb(0, 170, 255);\" target=\"_blank\"\u003ehttps:\/\/github.com\/tomrodinger\/servomotor\u003c\/a\u003e\u003c\/strong\u003e\u003c\/span\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c\/div\u003e","brand":"Gearotons","offers":[{"title":"Default Title","offer_id":45576341815494,"sku":"Gearotons-M17-40","price":29.95,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0621\/0050\/4774\/files\/imgi_2_image.webp?v=1777877992"},{"product_id":"gearotons-m17-48-high-torque","title":"Gearotons M17-48 High-Torque Servo Motor | 0.48Nm Torque 420RPM 12–24V","description":"\u003cp\u003e\u003cspan\u003eThe M17 Series Servomotors are integrated motion‑control units that combine a motor, motor driver, motion controller, and encoder within a single compact assembly. Each model in the series communicates through an RS‑485 interface, allowing multiple servomotors to be daisy‑chained and managed from one connection point. The lineup includes three variants—\u003cstrong\u003eM17‑60\u003c\/strong\u003e, \u003cstrong\u003eM17‑48\u003c\/strong\u003e, and \u003cstrong\u003eM17‑40\u003c\/strong\u003e—providing torque options while maintaining consistent control behavior across the series.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003eEvery M17 Series Servomotor incorporates advanced control capabilities such as multiple operating modes, self‑calibration functions, and onboard status monitoring via LED indicators. Control can be achieved from Mac, PC, Raspberry Pi, or Arduino platforms using only a low‑cost RS‑485 adapter, making the series suitable for both educational environments and industrial systems.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003eThe servomotors support precise position control through trapezoid motion profiles, closed‑loop operation, and comprehensive error‑handling mechanisms. With standardized \u003cstrong\u003eNEMA 17\u003c\/strong\u003e mounting dimensions, a \u003cstrong\u003e12–24 V\u003c\/strong\u003e operating voltage range, and a robust communication protocol, the M17 Series delivers a reliable and adaptable solution for applications requiring accurate motion control, including robotics, CNC machinery, automated test systems, and scientific instrumentation.\u003c\/span\u003e\u003cspan\u003e\u003c\/span\u003e\u003cspan\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003csection id=\"introduction\" class=\"Marketing_contentSection__AnvH7\"\u003e\n\u003cdiv class=\"Marketing_container__7I3E7\"\u003e\n\u003cdiv class=\"Marketing_sectionImageContainer__JzoMZ\"\u003e\u003cimg src=\"https:\/\/gearotons.com\/_next\/image?url=%2Fmarketing%2Fimages%2Fone_motor_small.jpg\u0026amp;w=1920\u0026amp;q=75\" alt=\"M17 Servomotor\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003csection id=\"features\" class=\"Marketing_contentSection__AnvH7\"\u003e\n\u003cdiv class=\"Marketing_container__7I3E7\"\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch2\u003eKey Features\u003c\/h2\u003e\n\u003cdiv class=\"Marketing_sectionImageContainer__JzoMZ\"\u003e\u003cimg src=\"https:\/\/gearotons.com\/_next\/image?url=%2Fmarketing%2Fimages%2Fkit_with_three_motors_small.jpg\u0026amp;w=1920\u0026amp;q=75\" alt=\"M17 Servomotor Kit\"\u003e\u003c\/div\u003e\n\u003cul class=\"Marketing_featuresListSimple__rEFGw\"\u003e\n\u003cli\u003eHigh level of integration combines a motor, motor driver, motion control system, and encoder\u003c\/li\u003e\n\u003cli\u003eControl any number of motors from one simple controller over a RS-485 commincation interface\u003c\/li\u003e\n\u003cli\u003eControl with high level commands such as \"Emable mosfets\" and \"Trapezoid move\" (avoid timing critical DIR\/STEP control)\u003c\/li\u003e\n\u003cli\u003eCompact form factor nearly the same size as a NEMA 17 stepper motor with the same specifications (no protrusions)\u003c\/li\u003e\n\u003cli\u003eStandardized NEMA 17 mounting dimensions\u003c\/li\u003e\n\u003cli\u003eWide voltage range (12-24V) for flexible power options\u003c\/li\u003e\n\u003cli\u003eHigh-precision closed loop control with build in encoder and PID control loop that runs at 32 kHz\u003c\/li\u003e\n\u003cli\u003eMuch more power efficient in closed loop control vs. conventional stepper\u003c\/li\u003e\n\u003cli\u003eIntegrated over-current, over-voltage, and over-temperature protection\u003c\/li\u003e\n\u003cli\u003eMaximum speed can reach 560 RPM\u003c\/li\u003e\n\u003cli\u003eTorque-to-weight ratio is the same as an equivalent stepper motor\u003c\/li\u003e\n\u003cli\u003eCompatible with a wide variety of interfaces and hardware, such as Raspberry Pi, Arduino, ESP32, Mac, and PC\u003c\/li\u003e\n\u003cli\u003eWe strive to provide excellent documentation and tutorials to get you up and running fast\u003c\/li\u003e\n\u003cli\u003eWe provide AI friendly documentation in case you want your favorite AI to do all the work for you\u003c\/li\u003e\n\u003cli\u003eSuitable for robotics, CNC, automation, scientific instruments, testing jigs, 3D printers, and everything else\u003c\/li\u003e\n\u003cli\u003eAvailable in different sizes so you can find the right torque and price for your application\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003csection id=\"connection\" class=\"Marketing_contentSection__AnvH7 Marketing_diagramSection__1sWbS\"\u003e\n\u003cdiv class=\"Marketing_container__7I3E7\"\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch2\u003eConnection Diagram\u003c\/h2\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"Marketing_diagramContainer__dkAq7\"\u003e\u003cimg src=\"https:\/\/gearotons.com\/_next\/image?url=%2Fmarketing%2Fimages%2Fconnection_diagram.jpg\u0026amp;w=3840\u0026amp;q=75\" alt=\"Connection Diagram\"\u003e\u003c\/div\u003e\n\u003c\/section\u003e\n\u003csection id=\"unit-system\" class=\"Marketing_contentSection__AnvH7\"\u003e\n\u003cdiv class=\"Marketing_container__7I3E7\"\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch2\u003eUnit System\u003c\/h2\u003e\n\u003cp\u003eThe M17 Series Servomotors have certain internal units so that they can perform the calculations associated with motion efficiently (using integer math). It is the responsibility of the controlling software to support multiple units of measurement for various quantities. Our Python and Arduino libraries handle unit conversions automatically, allowing you to work with your preferred units. Below are the supported units for each quantity:\u003c\/p\u003e\n\u003ctable class=\"Marketing_specsTable__a2_EZ\"\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eQuantity\u003c\/th\u003e\n\u003cth\u003eAvailable Units\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eTime\u003c\/td\u003e\n\u003ctd\u003etimesteps, seconds, milliseconds, minutes\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ePosition\u003c\/td\u003e\n\u003ctd\u003eshaft rotations, degrees, radians, encoder counts\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eVelocity\u003c\/td\u003e\n\u003ctd\u003erotations per second, rpm, degrees per second, radians per second, counts per second, counts per timestep\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAcceleration\u003c\/td\u003e\n\u003ctd\u003erotations per second squared, rpm per second, degrees per second squared, radians per second squared, counts per second squared, counts per timestep squared\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eCurrent\u003c\/td\u003e\n\u003ctd\u003einternal current units, milliamps, amps\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eVoltage\u003c\/td\u003e\n\u003ctd\u003emillivolts, volts\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eTemperature\u003c\/td\u003e\n\u003ctd\u003ecelsius, fahrenheit, kelvin\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003csection id=\"getting-started\" class=\"Marketing_contentSection__AnvH7\"\u003e\n\u003cdiv class=\"Marketing_container__7I3E7\"\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch2\u003eGetting Started Guide\u003c\/h2\u003e\n\u003cp\u003eTo help you get started with your M17 Series Servomotor, we provide a comprehensive online guide that covers everything from initial setup to advanced protocol implementations. This guide includes:\u003c\/p\u003e\n\u003cul class=\"Marketing_guideFeatures__4vSei\"\u003e\n\u003cli\u003eStep-by-step setup instructions\u003c\/li\u003e\n\u003cli\u003eDetailed communication protocol documentation\u003c\/li\u003e\n\u003cli\u003eProgramming examples and code snippets\u003c\/li\u003e\n\u003cli\u003eDescription of error codes\u003c\/li\u003e\n\u003cli\u003eTroubleshooting tips and best practices\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cdiv class=\"Marketing_guideLink__cNCFp\"\u003e\u003cspan style=\"color: rgb(0, 170, 255);\"\u003e\u003cstrong\u003e\u003ca href=\"https:\/\/tutorial.gearotons.com\/\" class=\"Marketing_btn__s0oB_ Marketing_btnPrimary__tgSLp\" style=\"color: rgb(0, 170, 255);\" target=\"_blank\"\u003eClick Here to Visit our Getting Started Guide\u003c\/a\u003e\u003c\/strong\u003e\u003c\/span\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003csection id=\"indicators\" class=\"Marketing_contentSection__AnvH7\"\u003e\n\u003cdiv class=\"Marketing_container__7I3E7\"\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch2\u003eIndicator LEDs and Buttons\u003c\/h2\u003e\n\u003cdiv class=\"Marketing_sectionImageContainer__JzoMZ\"\u003e\u003cimg src=\"https:\/\/gearotons.com\/_next\/image?url=%2Fmarketing%2Fimages%2Fmotor_back_small.jpg\u0026amp;w=1920\u0026amp;q=75\" alt=\"Motor Back with LEDs and Buttons\"\u003e\u003c\/div\u003e\n\u003cp\u003eThe servomotor has two status LEDs (Green and Red). The green LED flashes slowly to show a heart beat and quickly to indicate that the bootloader is running rather than the application. The red LED will light up briefly to show communication on the bus and will indicate fatal error codes by flashing a certain number of times.\u003c\/p\u003e\n\u003cp\u003eThe servomotor has two buttons labelled \"Reset\" and \"Test\". The Reset button will reset the internal microcontroller and all state will go back to default values. The Test button will cause the motor to spin. Press briefly to let it spin one way and press for more than 0.3 seconds and release to let it spin the other way. Hold down for at least 2 seconds and release to cause the motor to go to closed loop mode. Hold down for more than 15 seconds and release to let the motor perform a calibration on itself. Note that it will spin during calibration and must be able to spin freely for calibration to be successful, so remove any loads before doing this operation.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003csection id=\"protocol\" class=\"Marketing_contentSection__AnvH7\"\u003e\n\u003cdiv class=\"Marketing_container__7I3E7\"\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch2\u003eCommunication Protocol\u003c\/h2\u003e\n\u003cdiv class=\"Marketing_sectionImageContainer__JzoMZ\"\u003e\u003cimg src=\"https:\/\/gearotons.com\/_next\/image?url=%2Fmarketing%2Fimages%2Fadapter_and_wire_small.jpg\u0026amp;w=1920\u0026amp;q=75\" alt=\"RS-485 Adapter and Wire\"\u003e\u003c\/div\u003e\n\u003cp\u003eThe M17 series uses RS-485 communication with a simple command-based protocol. Multiple motors can be daisy-chained on a single bus, each with a unique ID.\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch2\u003eCommand Reference Summary\u003c\/h2\u003e\n\u003cp\u003eFor the up to date source of truth for all available commands, you can look at this document.\u003c\/p\u003e\n\u003cdiv class=\"Marketing_commandLink__MDaV_\"\u003e\u003cspan style=\"color: rgb(0, 170, 255);\"\u003e\u003cstrong\u003e\u003ca href=\"https:\/\/github.com\/tomrodinger\/servomotor\/blob\/main\/python_programs\/servomotor\/motor_commands.json\" style=\"color: rgb(0, 170, 255);\" target=\"_blank\"\u003ehttps:\/\/github.com\/tomrodinger\/servomotor\/blob\/main\/python_programs\/servomotor\/motor_commands.json\u003c\/a\u003e\u003c\/strong\u003e\u003c\/span\u003e\u003c\/div\u003e\n\u003cp\u003eYou can also run this command:\u003c\/p\u003e\n\u003cpre\u003e\u003ccode class=\"language-bash\"\u003epip3 install servomotor   # run this just once to install the library and programs\nservomotor_command -c\u003c\/code\u003e\u003c\/pre\u003e\n\u003cp\u003eThis will print out the information contained in the motor_commands.json file in a nicer way and give some usage information for sending commands to the motor from the command line.\u003c\/p\u003e\n\u003cp\u003eThe commands are grouped by functionality including Basic Control, Motion Control, Configuration, Status \u0026amp; Monitoring, and Device Management.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003csection id=\"specifications\" class=\"Marketing_contentSection__AnvH7\"\u003e\n\u003cdiv class=\"Marketing_container__7I3E7\"\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch2\u003eTechnical Specifications\u003c\/h2\u003e\n\u003ch3\u003eMechanical Specifications\u003c\/h3\u003e\n\u003ctable class=\"Marketing_specsTable__a2_EZ\"\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eParameter\u003c\/th\u003e\n\u003cth\u003eM17-60\u003c\/th\u003e\n\u003cth\u003eM17-48\u003c\/th\u003e\n\u003cth\u003eM17-40\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eDimensions (LxW)\u003c\/td\u003e\n\u003ctd\u003e42.2x42.2 mm\u003c\/td\u003e\n\u003ctd\u003e42.2x42.2 mm\u003c\/td\u003e\n\u003ctd\u003e42.2x42.2 mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eHeight\u003c\/td\u003e\n\u003ctd\u003e59.8 mm\u003c\/td\u003e\n\u003ctd\u003e48.6 mm\u003c\/td\u003e\n\u003ctd\u003e41.6 mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eShaft Length\u003c\/td\u003e\n\u003ctd\u003e20.4 mm\u003c\/td\u003e\n\u003ctd\u003e20.4 mm\u003c\/td\u003e\n\u003ctd\u003e18.5 mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eShaft Diameter\u003c\/td\u003e\n\u003ctd\u003e5 mm\u003c\/td\u003e\n\u003ctd\u003e5 mm\u003c\/td\u003e\n\u003ctd\u003e5 mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eWeight\u003c\/td\u003e\n\u003ctd\u003e470g\u003c\/td\u003e\n\u003ctd\u003e360g\u003c\/td\u003e\n\u003ctd\u003e285g\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eProtection Class\u003c\/td\u003e\n\u003ctd\u003eIP20\u003c\/td\u003e\n\u003ctd\u003eIP20\u003c\/td\u003e\n\u003ctd\u003eIP20\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cdiv class=\"Marketing_dimensionImages__hbB6v\"\u003e\n\u003cdiv class=\"Marketing_dimensionImageContainer__EQURD\"\u003e\n\u003cimg src=\"https:\/\/gearotons.com\/_next\/image?url=%2Fmarketing%2Fimages%2FM17-60_dimensions.png\u0026amp;w=3840\u0026amp;q=75\" alt=\"M17-60 Dimensions\"\u003e\u003cbr\u003e\n\u003cp class=\"Marketing_dimensionLabel__jiGz1\"\u003eM17-60\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"Marketing_dimensionImageContainer__EQURD\"\u003e\n\u003cimg src=\"https:\/\/gearotons.com\/_next\/image?url=%2Fmarketing%2Fimages%2FM17-48_dimensions.png\u0026amp;w=3840\u0026amp;q=75\" alt=\"M17-48 Dimensions\"\u003e\u003cbr\u003e\n\u003cp class=\"Marketing_dimensionLabel__jiGz1\"\u003eM17-48\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"Marketing_dimensionImageContainer__EQURD\"\u003e\n\u003cimg src=\"https:\/\/gearotons.com\/_next\/image?url=%2Fmarketing%2Fimages%2FM17-40_dimensions.png\u0026amp;w=3840\u0026amp;q=75\" alt=\"M17-40 Dimensions\"\u003e\u003cbr\u003e\n\u003cp class=\"Marketing_dimensionLabel__jiGz1\"\u003eM17-40\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch2\u003eElectrical Specifications\u003c\/h2\u003e\n\u003ctable class=\"Marketing_specsTable__a2_EZ\"\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eParameter\u003c\/th\u003e\n\u003cth\u003eM17-60\u003c\/th\u003e\n\u003cth\u003eM17-48\u003c\/th\u003e\n\u003cth\u003eM17-40\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eOperating Voltage\u003c\/td\u003e\n\u003ctd\u003e12-24V\u003c\/td\u003e\n\u003ctd\u003e12-24V\u003c\/td\u003e\n\u003ctd\u003e12-24V\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eRated Torque\u003c\/td\u003e\n\u003ctd\u003e0.65 N.m\u003c\/td\u003e\n\u003ctd\u003e0.55 N.m\u003c\/td\u003e\n\u003ctd\u003e0.42 N.m\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMaximum Speed\u003c\/td\u003e\n\u003ctd\u003e560 RPM\u003c\/td\u003e\n\u003ctd\u003e560 RPM\u003c\/td\u003e\n\u003ctd\u003e560 RPM\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMaximum Current\u003c\/td\u003e\n\u003ctd\u003e1.1A\u003c\/td\u003e\n\u003ctd\u003e1.1A\u003c\/td\u003e\n\u003ctd\u003e1.1A\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eRated Power\u003c\/td\u003e\n\u003ctd\u003e38W\u003c\/td\u003e\n\u003ctd\u003e32W\u003c\/td\u003e\n\u003ctd\u003e25W\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch2\u003eOperating Conditions\u003c\/h2\u003e\n\u003ctable class=\"Marketing_conditionsTable__K4WIG\"\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eParameter\u003c\/th\u003e\n\u003cth\u003eSpecification\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eOperating Temperature\u003c\/td\u003e\n\u003ctd\u003e0°C to +80°C\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eStorage Temperature\u003c\/td\u003e\n\u003ctd\u003e-20°C to +60°C\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eHumidity Range\u003c\/td\u003e\n\u003ctd\u003e20% to 80% RH (non-condensing)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eInstallation Environment\u003c\/td\u003e\n\u003ctd\u003eIndoor use only\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003csection id=\"libraries\" class=\"Marketing_contentSection__AnvH7\"\u003e\n\u003cdiv class=\"Marketing_container__7I3E7\"\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch2\u003eLibrary Support\u003c\/h2\u003e\n\u003cdiv class=\"Marketing_librarySection__GytkH\"\u003e\n\u003ch3\u003ePython Library\u003c\/h3\u003e\n\u003cp\u003eEasy-to-use Python library for controlling M17 servomotors:\u003c\/p\u003e\n\u003cpre\u003e\u003ccode class=\"language-python\"\u003e#!\/usr\/bin\/env python3\n\"\"\"\nMinimal trapezoid move: rotate 1 turn in 1 second.\nEdit ALIAS below if needed. Uses rotations and seconds.\n\"\"\"\nimport time, servomotor\nfrom servomotor import communication\n\n# Hard-coded settings for a minimal demo\nALIAS = 'X'                             # Device alias, change if needed\nSERIAL_PORT = \"\/dev\/tty.usbserial-110\"  # Serial device path; change if needed (e.g., \"COM3\" on\n                                        #  Windows)\nDISPLACEMENT_ROTATIONS = 1.0            # 1 rotation\nDURATION_SECONDS = 1.0                  # 1 second\nDELAY_MARGIN = 0.10                     # +10% wait margin because the motor's clock is not\n                                        #  perfectly accurate\n\ncommunication.serial_port = SERIAL_PORT # if you comment this out then the program\n                                        #  should prompt you for the serial port or it will use\n                                        #  the last used port from a file\nservomotor.open_serial_port()\n\nm = servomotor.M3(ALIAS, time_unit=\"seconds\", position_unit=\"shaft_rotations\", verbose=0)\nm.enable_mosfets()\nm.trapezoid_move(DISPLACEMENT_ROTATIONS, DURATION_SECONDS)\ntime.sleep(DURATION_SECONDS * (1.0 + DELAY_MARGIN))\nm.disable_mosfets()\n\nservomotor.close_serial_port()\u003c\/code\u003e\u003c\/pre\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"Marketing_librarySection__GytkH\"\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch2\u003eArduino Library\u003c\/h2\u003e\n\u003cp\u003eArduino library for easy integration with Arduino boards:\u003c\/p\u003e\n\u003cpre\u003e\u003ccode class=\"language-cpp\"\u003e\/\/ Minimal Arduino example: Trapezoid move using built‑in unit conversions\n\/\/ Goal: spin the motor exactly 1 rotation in 1 second, then stop.\n\/\/ Sequence:\n\/\/  enable MOSFETs -\u0026gt; trapezoidMove(1.0 rotations, 1.0 seconds) -\u0026gt; wait 1.1s -\u0026gt; disable MOSFETs.\n\/\/\n\/\/ Notes:\n\/\/ - This uses the library's unit conversion (no raw counts\/timesteps).\n\/\/ - Configure Serial1 pins for your board (ESP32 example pins below).\n\/\/ - Motor is created AFTER Serial1.begin(...) so hardware UART pins are set first.\n\n#include \u0026lt;Servomotor.h\u0026gt;\n\n#define ALIAS 'X'                   \/\/ Device alias\n#define BAUD 230400                 \/\/ RS485 UART baud rate\n#define DISPLACEMENT_ROTATIONS 1.0f \/\/ 1 rotation\n#define DURATION_SECONDS 1.0f       \/\/ 1 second\n#define TOLERANCE_PERCENT 10        \/\/ +10% wait margin because the motor's clock is not\n                                    \/\/  perfectly accurate\n#define WAIT_MS ((unsigned long)(DURATION_SECONDS * 1000.0f * (100 + TOLERANCE_PERCENT) \/ 100))\n\n\/\/ Example RS485 pins for ESP32 DevKit (change as needed for your board)\n#if defined(ESP32)\n#define RS485_TXD 4              \/\/ TX pin to RS485 transceiver\n#define RS485_RXD 5              \/\/ RX pin from RS485 transceiver\n#endif\n\nvoid setup() {\n  Serial.begin(115200); \/\/ Console serial for debugging\n\n  \/\/ Create the motor; serial port opens on first instantiation.\n#if defined(ESP32)\n  Servomotor motor(ALIAS, Serial1, RS485_RXD, RS485_TXD);\n#else\n  Servomotor motor(ALIAS, Serial1);\n#endif\n\n  \/\/ Use units: rotations for position, seconds for time\n  motor.setPositionUnit(PositionUnit::SHAFT_ROTATIONS);\n  motor.setTimeUnit(TimeUnit::SECONDS);\n\n  motor.enableMosfets();\n  motor.trapezoidMove(DISPLACEMENT_ROTATIONS, DURATION_SECONDS);\n  delay(WAIT_MS);\n  motor.disableMosfets();\n}\n\nvoid loop() {\n}\u003c\/code\u003e\u003c\/pre\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003csection id=\"applications\" class=\"Marketing_contentSection__AnvH7\"\u003e\n\u003cdiv class=\"Marketing_container__7I3E7\"\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch2\u003eApplications\u003c\/h2\u003e\n\u003cp\u003eThe M17 Series servomotors are perfect for a wide range of applications, from educational projects to industrial automation.\u003c\/p\u003e\n\u003cdiv class=\"Marketing_applicationsGrid__0n21e\"\u003e\n\u003cdiv class=\"Marketing_applicationCard__XSxDN\"\u003e\n\u003cimg src=\"https:\/\/gearotons.com\/_next\/image?url=%2Fmarketing%2Fimages%2Frobotics_small.jpg\u0026amp;w=1920\u0026amp;q=75\" alt=\"Robotics Application\"\u003e\u003cbr\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch2\u003eRobotics\u003c\/h2\u003e\n\u003cp\u003eBuild precise robotic arms, mobile robots, and educational robotics platforms with easy-to-control servomotors.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"Marketing_applicationCard__XSxDN\"\u003e\n\u003cimg src=\"https:\/\/gearotons.com\/_next\/image?url=%2Fmarketing%2Fimages%2Fautomation_small.jpg\u0026amp;w=1920\u0026amp;q=75\" alt=\"Automation Application\"\u003e\u003cbr\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch2\u003eAutomation\u003c\/h2\u003e\n\u003cp\u003ePerfect for automated systems, CNC machines, 3D printers, and industrial control applications.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003csection id=\"company-profile\" class=\"Marketing_contentSection__AnvH7\"\u003e\n\u003cdiv class=\"Marketing_container__7I3E7\"\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch2\u003eCompany Profile\u003c\/h2\u003e\n\u003cdiv class=\"Marketing_companyContent___EPvW\"\u003e\n\u003cp\u003eWe are an innovative startup committed to making precision motion control accessible to everyone: to makers, educators, and engineers alike. Founded in Shenzhen in 2022 by a Canadian entrepreneur, we focus on developing integrated servo motor systems that combine cost-effectiveness, high integration, ease of use, and high performance.\u003c\/p\u003e\n\u003cp\u003eOur first product is the M17 series servo motor, which integrates a motor, driver, controller, and encoder into a compact NEMA 17–compatible package. It features RS-485 communication, which allows any number of motors to be controlled from a platform such as Raspberry Pi, Arduino, ESP32, Mac, or PC. Designed for applications ranging from educational robotics to industrial automation, our solutions enable innovation without adding the complexity or cost of traditional systems. Join us to explore the future of motion control!\u003c\/p\u003e\n\u003cdiv class=\"Marketing_companyImageContainer___D0e9\"\u003e\n\u003cimg src=\"https:\/\/gearotons.com\/_next\/image?url=%2Fmarketing%2Fimages%2Ftest_rack_small.jpg\u0026amp;w=1920\u0026amp;q=75\" alt=\"Test Rack\"\u003e\u003cbr\u003e\n\u003cp class=\"Marketing_imageCaption__Cp3sY\"\u003eOur testing facility ensures every motor meets quality standards\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003csection id=\"open-source\" class=\"Marketing_contentSection__AnvH7\"\u003e\n\u003cdiv class=\"Marketing_container__7I3E7\"\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch2\u003eOpen Source\u003c\/h2\u003e\n\u003cdiv class=\"Marketing_openSourceContent__x0V6M\"\u003e\n\u003cp\u003eWe believe in making the world better through technology. All software, firmware, and PCB design files are available here:\u003c\/p\u003e\n\u003cdiv class=\"Marketing_githubLink__x09go\"\u003e\n\u003cspan style=\"color: rgb(0, 170, 255);\"\u003e\u003cstrong\u003e\u003ca href=\"https:\/\/github.com\/tomrodinger\/servomotor\" style=\"color: rgb(0, 170, 255); text-decoration: underline;\" target=\"_blank\"\u003ehttps:\/\/github.com\/tomrodinger\/servomotor\u003c\/a\u003e\u003c\/strong\u003e\u003c\/span\u003e\u003cspan\u003e\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e","brand":"Gearotons","offers":[{"title":"Default Title","offer_id":45576350662854,"sku":"Gearotons-M17-48","price":34.85,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0621\/0050\/4774\/files\/imgi_2_image_3a11aa0b-79ea-4c97-8173-a7be8146bbe5.webp?v=1777878337"},{"product_id":"gearotons-m17-60-high-torque","title":"Gearotons M17-60 High-Torque Servo Motor | 0.60Nm Torque 380RPM 12–24V","description":"\u003cp\u003e\u003cspan\u003eThe M17 Series Servomotors integrate a motor, motor driver, motion controller, and encoder into a single compact unit, providing an all‑in‑one motion control solution. Each servomotor is equipped with an RS‑485 communication interface that supports daisy‑chain connectivity, allowing multiple units to be linked and managed through a single control point. The series includes three models—\u003cstrong\u003eM17‑60\u003c\/strong\u003e, \u003cstrong\u003eM17‑48\u003c\/strong\u003e, and \u003cstrong\u003eM17‑40\u003c\/strong\u003e—offering torque options tailored to different application needs while maintaining consistent control characteristics.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003eEach M17 Series Servomotor incorporates advanced control functions such as multiple operation modes, self‑calibration features, and integrated LED indicators for status monitoring. The motors can be controlled from Mac, PC, Raspberry Pi, or Arduino platforms using only a low‑cost RS‑485 adapter, making them suitable for both educational use and industrial deployment.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003cp\u003e\u003cspan\u003eThe series enables precise position control through trapezoid movement profiles, closed‑loop control mode, and comprehensive error‑handling mechanisms. With standardized \u003cstrong\u003eNEMA 17\u003c\/strong\u003e mounting dimensions, a \u003cstrong\u003e12–24 V\u003c\/strong\u003e operating voltage range, and a robust communication protocol, the M17 Series Servomotors deliver a reliable and flexible motion control solution for robotics, CNC systems, automated testing equipment, and scientific instruments.\u003c\/span\u003e\u003c\/p\u003e\n\u003cdiv\u003e\n\u003csection id=\"introduction\" class=\"Marketing_contentSection__AnvH7\"\u003e\n\u003cdiv class=\"Marketing_container__7I3E7\"\u003e\n\u003cdiv class=\"Marketing_sectionImageContainer__JzoMZ\"\u003e\u003cimg src=\"https:\/\/gearotons.com\/_next\/image?url=%2Fmarketing%2Fimages%2Fone_motor_small.jpg\u0026amp;w=1920\u0026amp;q=75\" alt=\"M17 Servomotor\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003csection id=\"features\" class=\"Marketing_contentSection__AnvH7\"\u003e\n\u003cdiv class=\"Marketing_container__7I3E7\"\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch2\u003eKey Features\u003c\/h2\u003e\n\u003cdiv class=\"Marketing_sectionImageContainer__JzoMZ\"\u003e\u003cimg src=\"https:\/\/gearotons.com\/_next\/image?url=%2Fmarketing%2Fimages%2Fkit_with_three_motors_small.jpg\u0026amp;w=1920\u0026amp;q=75\" alt=\"M17 Servomotor Kit\"\u003e\u003c\/div\u003e\n\u003cul class=\"Marketing_featuresListSimple__rEFGw\"\u003e\n\u003cli\u003eHigh level of integration combines a motor, motor driver, motion control system, and encoder\u003c\/li\u003e\n\u003cli\u003eControl any number of motors from one simple controller over a RS-485 commincation interface\u003c\/li\u003e\n\u003cli\u003eControl with high level commands such as \"Emable mosfets\" and \"Trapezoid move\" (avoid timing critical DIR\/STEP control)\u003c\/li\u003e\n\u003cli\u003eCompact form factor nearly the same size as a NEMA 17 stepper motor with the same specifications (no protrusions)\u003c\/li\u003e\n\u003cli\u003eStandardized NEMA 17 mounting dimensions\u003c\/li\u003e\n\u003cli\u003eWide voltage range (12-24V) for flexible power options\u003c\/li\u003e\n\u003cli\u003eHigh-precision closed loop control with build in encoder and PID control loop that runs at 32 kHz\u003c\/li\u003e\n\u003cli\u003eMuch more power efficient in closed loop control vs. conventional stepper\u003c\/li\u003e\n\u003cli\u003eIntegrated over-current, over-voltage, and over-temperature protection\u003c\/li\u003e\n\u003cli\u003eMaximum speed can reach 560 RPM\u003c\/li\u003e\n\u003cli\u003eTorque-to-weight ratio is the same as an equivalent stepper motor\u003c\/li\u003e\n\u003cli\u003eCompatible with a wide variety of interfaces and hardware, such as Raspberry Pi, Arduino, ESP32, Mac, and PC\u003c\/li\u003e\n\u003cli\u003eWe strive to provide excellent documentation and tutorials to get you up and running fast\u003c\/li\u003e\n\u003cli\u003eWe provide AI friendly documentation in case you want your favorite AI to do all the work for you\u003c\/li\u003e\n\u003cli\u003eSuitable for robotics, CNC, automation, scientific instruments, testing jigs, 3D printers, and everything else\u003c\/li\u003e\n\u003cli\u003eAvailable in different sizes so you can find the right torque and price for your application\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003csection id=\"connection\" class=\"Marketing_contentSection__AnvH7 Marketing_diagramSection__1sWbS\"\u003e\n\u003cdiv class=\"Marketing_container__7I3E7\"\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch2\u003eConnection Diagram\u003c\/h2\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"Marketing_diagramContainer__dkAq7\"\u003e\u003cimg src=\"https:\/\/gearotons.com\/_next\/image?url=%2Fmarketing%2Fimages%2Fconnection_diagram.jpg\u0026amp;w=3840\u0026amp;q=75\" alt=\"Connection Diagram\"\u003e\u003c\/div\u003e\n\u003c\/section\u003e\n\u003csection id=\"unit-system\" class=\"Marketing_contentSection__AnvH7\"\u003e\n\u003cdiv class=\"Marketing_container__7I3E7\"\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch2\u003eUnit System\u003c\/h2\u003e\n\u003cp\u003eThe M17 Series Servomotors have certain internal units so that they can perform the calculations associated with motion efficiently (using integer math). It is the responsibility of the controlling software to support multiple units of measurement for various quantities. Our Python and Arduino libraries handle unit conversions automatically, allowing you to work with your preferred units. Below are the supported units for each quantity:\u003c\/p\u003e\n\u003ctable class=\"Marketing_specsTable__a2_EZ\"\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eQuantity\u003c\/th\u003e\n\u003cth\u003eAvailable Units\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eTime\u003c\/td\u003e\n\u003ctd\u003etimesteps, seconds, milliseconds, minutes\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ePosition\u003c\/td\u003e\n\u003ctd\u003eshaft rotations, degrees, radians, encoder counts\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eVelocity\u003c\/td\u003e\n\u003ctd\u003erotations per second, rpm, degrees per second, radians per second, counts per second, counts per timestep\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAcceleration\u003c\/td\u003e\n\u003ctd\u003erotations per second squared, rpm per second, degrees per second squared, radians per second squared, counts per second squared, counts per timestep squared\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eCurrent\u003c\/td\u003e\n\u003ctd\u003einternal current units, milliamps, amps\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eVoltage\u003c\/td\u003e\n\u003ctd\u003emillivolts, volts\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eTemperature\u003c\/td\u003e\n\u003ctd\u003ecelsius, fahrenheit, kelvin\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003csection id=\"getting-started\" class=\"Marketing_contentSection__AnvH7\"\u003e\n\u003cdiv class=\"Marketing_container__7I3E7\"\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch2\u003eGetting Started Guide\u003c\/h2\u003e\n\u003cp\u003eTo help you get started with your M17 Series Servomotor, we provide a comprehensive online guide that covers everything from initial setup to advanced protocol implementations. This guide includes:\u003c\/p\u003e\n\u003cul class=\"Marketing_guideFeatures__4vSei\"\u003e\n\u003cli\u003eStep-by-step setup instructions\u003c\/li\u003e\n\u003cli\u003eDetailed communication protocol documentation\u003c\/li\u003e\n\u003cli\u003eProgramming examples and code snippets\u003c\/li\u003e\n\u003cli\u003eDescription of error codes\u003c\/li\u003e\n\u003cli\u003eTroubleshooting tips and best practices\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cdiv class=\"Marketing_guideLink__cNCFp\"\u003e\u003cspan style=\"color: rgb(0, 170, 255);\"\u003e\u003cstrong\u003e\u003ca href=\"https:\/\/tutorial.gearotons.com\/\" class=\"Marketing_btn__s0oB_ Marketing_btnPrimary__tgSLp\" style=\"color: rgb(0, 170, 255);\" target=\"_blank\"\u003eClick Here to Visit our Getting Started Guide\u003c\/a\u003e\u003c\/strong\u003e\u003c\/span\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003csection id=\"indicators\" class=\"Marketing_contentSection__AnvH7\"\u003e\n\u003cdiv class=\"Marketing_container__7I3E7\"\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch2\u003eIndicator LEDs and Buttons\u003c\/h2\u003e\n\u003cdiv class=\"Marketing_sectionImageContainer__JzoMZ\"\u003e\u003cimg src=\"https:\/\/gearotons.com\/_next\/image?url=%2Fmarketing%2Fimages%2Fmotor_back_small.jpg\u0026amp;w=1920\u0026amp;q=75\" alt=\"Motor Back with LEDs and Buttons\"\u003e\u003c\/div\u003e\n\u003cp\u003eThe servomotor has two status LEDs (Green and Red). The green LED flashes slowly to show a heart beat and quickly to indicate that the bootloader is running rather than the application. The red LED will light up briefly to show communication on the bus and will indicate fatal error codes by flashing a certain number of times.\u003c\/p\u003e\n\u003cp\u003eThe servomotor has two buttons labelled \"Reset\" and \"Test\". The Reset button will reset the internal microcontroller and all state will go back to default values. The Test button will cause the motor to spin. Press briefly to let it spin one way and press for more than 0.3 seconds and release to let it spin the other way. Hold down for at least 2 seconds and release to cause the motor to go to closed loop mode. Hold down for more than 15 seconds and release to let the motor perform a calibration on itself. Note that it will spin during calibration and must be able to spin freely for calibration to be successful, so remove any loads before doing this operation.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003csection id=\"protocol\" class=\"Marketing_contentSection__AnvH7\"\u003e\n\u003cdiv class=\"Marketing_container__7I3E7\"\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch2\u003eCommunication Protocol\u003c\/h2\u003e\n\u003cdiv class=\"Marketing_sectionImageContainer__JzoMZ\"\u003e\u003cimg src=\"https:\/\/gearotons.com\/_next\/image?url=%2Fmarketing%2Fimages%2Fadapter_and_wire_small.jpg\u0026amp;w=1920\u0026amp;q=75\" alt=\"RS-485 Adapter and Wire\"\u003e\u003c\/div\u003e\n\u003cp\u003eThe M17 series uses RS-485 communication with a simple command-based protocol. Multiple motors can be daisy-chained on a single bus, each with a unique ID.\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch2\u003eCommand Reference Summary\u003c\/h2\u003e\n\u003cp\u003eFor the up to date source of truth for all available commands, you can look at this document.\u003c\/p\u003e\n\u003cdiv class=\"Marketing_commandLink__MDaV_\"\u003e\u003cspan style=\"color: rgb(0, 170, 255);\"\u003e\u003cstrong\u003e\u003ca href=\"https:\/\/github.com\/tomrodinger\/servomotor\/blob\/main\/python_programs\/servomotor\/motor_commands.json\" style=\"color: rgb(0, 170, 255);\" target=\"_blank\"\u003ehttps:\/\/github.com\/tomrodinger\/servomotor\/blob\/main\/python_programs\/servomotor\/motor_commands.json\u003c\/a\u003e\u003c\/strong\u003e\u003c\/span\u003e\u003c\/div\u003e\n\u003cp\u003eYou can also run this command:\u003c\/p\u003e\n\u003cpre\u003e\u003ccode class=\"language-bash\"\u003epip3 install servomotor   # run this just once to install the library and programs\nservomotor_command -c\u003c\/code\u003e\u003c\/pre\u003e\n\u003cp\u003eThis will print out the information contained in the motor_commands.json file in a nicer way and give some usage information for sending commands to the motor from the command line.\u003c\/p\u003e\n\u003cp\u003eThe commands are grouped by functionality including Basic Control, Motion Control, Configuration, Status \u0026amp; Monitoring, and Device Management.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003csection id=\"specifications\" class=\"Marketing_contentSection__AnvH7\"\u003e\n\u003cdiv class=\"Marketing_container__7I3E7\"\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch2\u003eTechnical Specifications\u003c\/h2\u003e\n\u003ch3\u003eMechanical Specifications\u003c\/h3\u003e\n\u003ctable class=\"Marketing_specsTable__a2_EZ\"\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eParameter\u003c\/th\u003e\n\u003cth\u003eM17-60\u003c\/th\u003e\n\u003cth\u003eM17-48\u003c\/th\u003e\n\u003cth\u003eM17-40\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eDimensions (LxW)\u003c\/td\u003e\n\u003ctd\u003e42.2x42.2 mm\u003c\/td\u003e\n\u003ctd\u003e42.2x42.2 mm\u003c\/td\u003e\n\u003ctd\u003e42.2x42.2 mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eHeight\u003c\/td\u003e\n\u003ctd\u003e59.8 mm\u003c\/td\u003e\n\u003ctd\u003e48.6 mm\u003c\/td\u003e\n\u003ctd\u003e41.6 mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eShaft Length\u003c\/td\u003e\n\u003ctd\u003e20.4 mm\u003c\/td\u003e\n\u003ctd\u003e20.4 mm\u003c\/td\u003e\n\u003ctd\u003e18.5 mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eShaft Diameter\u003c\/td\u003e\n\u003ctd\u003e5 mm\u003c\/td\u003e\n\u003ctd\u003e5 mm\u003c\/td\u003e\n\u003ctd\u003e5 mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eWeight\u003c\/td\u003e\n\u003ctd\u003e470g\u003c\/td\u003e\n\u003ctd\u003e360g\u003c\/td\u003e\n\u003ctd\u003e285g\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eProtection Class\u003c\/td\u003e\n\u003ctd\u003eIP20\u003c\/td\u003e\n\u003ctd\u003eIP20\u003c\/td\u003e\n\u003ctd\u003eIP20\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cdiv class=\"Marketing_dimensionImages__hbB6v\"\u003e\n\u003cdiv class=\"Marketing_dimensionImageContainer__EQURD\"\u003e\n\u003cimg src=\"https:\/\/gearotons.com\/_next\/image?url=%2Fmarketing%2Fimages%2FM17-60_dimensions.png\u0026amp;w=3840\u0026amp;q=75\" alt=\"M17-60 Dimensions\"\u003e\u003cbr\u003e\n\u003cp class=\"Marketing_dimensionLabel__jiGz1\"\u003eM17-60\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"Marketing_dimensionImageContainer__EQURD\"\u003e\n\u003cimg src=\"https:\/\/gearotons.com\/_next\/image?url=%2Fmarketing%2Fimages%2FM17-48_dimensions.png\u0026amp;w=3840\u0026amp;q=75\" alt=\"M17-48 Dimensions\"\u003e\u003cbr\u003e\n\u003cp class=\"Marketing_dimensionLabel__jiGz1\"\u003eM17-48\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"Marketing_dimensionImageContainer__EQURD\"\u003e\n\u003cimg src=\"https:\/\/gearotons.com\/_next\/image?url=%2Fmarketing%2Fimages%2FM17-40_dimensions.png\u0026amp;w=3840\u0026amp;q=75\" alt=\"M17-40 Dimensions\"\u003e\u003cbr\u003e\n\u003cp class=\"Marketing_dimensionLabel__jiGz1\"\u003eM17-40\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch2\u003eElectrical Specifications\u003c\/h2\u003e\n\u003ctable class=\"Marketing_specsTable__a2_EZ\"\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eParameter\u003c\/th\u003e\n\u003cth\u003eM17-60\u003c\/th\u003e\n\u003cth\u003eM17-48\u003c\/th\u003e\n\u003cth\u003eM17-40\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eOperating Voltage\u003c\/td\u003e\n\u003ctd\u003e12-24V\u003c\/td\u003e\n\u003ctd\u003e12-24V\u003c\/td\u003e\n\u003ctd\u003e12-24V\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eRated Torque\u003c\/td\u003e\n\u003ctd\u003e0.65 N.m\u003c\/td\u003e\n\u003ctd\u003e0.55 N.m\u003c\/td\u003e\n\u003ctd\u003e0.42 N.m\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMaximum Speed\u003c\/td\u003e\n\u003ctd\u003e560 RPM\u003c\/td\u003e\n\u003ctd\u003e560 RPM\u003c\/td\u003e\n\u003ctd\u003e560 RPM\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMaximum Current\u003c\/td\u003e\n\u003ctd\u003e1.1A\u003c\/td\u003e\n\u003ctd\u003e1.1A\u003c\/td\u003e\n\u003ctd\u003e1.1A\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eRated Power\u003c\/td\u003e\n\u003ctd\u003e38W\u003c\/td\u003e\n\u003ctd\u003e32W\u003c\/td\u003e\n\u003ctd\u003e25W\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch2\u003eOperating Conditions\u003c\/h2\u003e\n\u003ctable class=\"Marketing_conditionsTable__K4WIG\"\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003eParameter\u003c\/th\u003e\n\u003cth\u003eSpecification\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eOperating Temperature\u003c\/td\u003e\n\u003ctd\u003e0°C to +80°C\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eStorage Temperature\u003c\/td\u003e\n\u003ctd\u003e-20°C to +60°C\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eHumidity Range\u003c\/td\u003e\n\u003ctd\u003e20% to 80% RH (non-condensing)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eInstallation Environment\u003c\/td\u003e\n\u003ctd\u003eIndoor use only\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003csection id=\"libraries\" class=\"Marketing_contentSection__AnvH7\"\u003e\n\u003cdiv class=\"Marketing_container__7I3E7\"\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch2\u003eLibrary Support\u003c\/h2\u003e\n\u003cdiv class=\"Marketing_librarySection__GytkH\"\u003e\n\u003ch3\u003ePython Library\u003c\/h3\u003e\n\u003cp\u003eEasy-to-use Python library for controlling M17 servomotors:\u003c\/p\u003e\n\u003cpre\u003e\u003ccode class=\"language-python\"\u003e#!\/usr\/bin\/env python3\n\"\"\"\nMinimal trapezoid move: rotate 1 turn in 1 second.\nEdit ALIAS below if needed. Uses rotations and seconds.\n\"\"\"\nimport time, servomotor\nfrom servomotor import communication\n\n# Hard-coded settings for a minimal demo\nALIAS = 'X'                             # Device alias, change if needed\nSERIAL_PORT = \"\/dev\/tty.usbserial-110\"  # Serial device path; change if needed (e.g., \"COM3\" on\n                                        #  Windows)\nDISPLACEMENT_ROTATIONS = 1.0            # 1 rotation\nDURATION_SECONDS = 1.0                  # 1 second\nDELAY_MARGIN = 0.10                     # +10% wait margin because the motor's clock is not\n                                        #  perfectly accurate\n\ncommunication.serial_port = SERIAL_PORT # if you comment this out then the program\n                                        #  should prompt you for the serial port or it will use\n                                        #  the last used port from a file\nservomotor.open_serial_port()\n\nm = servomotor.M3(ALIAS, time_unit=\"seconds\", position_unit=\"shaft_rotations\", verbose=0)\nm.enable_mosfets()\nm.trapezoid_move(DISPLACEMENT_ROTATIONS, DURATION_SECONDS)\ntime.sleep(DURATION_SECONDS * (1.0 + DELAY_MARGIN))\nm.disable_mosfets()\n\nservomotor.close_serial_port()\u003c\/code\u003e\u003c\/pre\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"Marketing_librarySection__GytkH\"\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch2\u003eArduino Library\u003c\/h2\u003e\n\u003cp\u003eArduino library for easy integration with Arduino boards:\u003c\/p\u003e\n\u003cpre\u003e\u003ccode class=\"language-cpp\"\u003e\/\/ Minimal Arduino example: Trapezoid move using built‑in unit conversions\n\/\/ Goal: spin the motor exactly 1 rotation in 1 second, then stop.\n\/\/ Sequence:\n\/\/  enable MOSFETs -\u0026gt; trapezoidMove(1.0 rotations, 1.0 seconds) -\u0026gt; wait 1.1s -\u0026gt; disable MOSFETs.\n\/\/\n\/\/ Notes:\n\/\/ - This uses the library's unit conversion (no raw counts\/timesteps).\n\/\/ - Configure Serial1 pins for your board (ESP32 example pins below).\n\/\/ - Motor is created AFTER Serial1.begin(...) so hardware UART pins are set first.\n\n#include \u0026lt;Servomotor.h\u0026gt;\n\n#define ALIAS 'X'                   \/\/ Device alias\n#define BAUD 230400                 \/\/ RS485 UART baud rate\n#define DISPLACEMENT_ROTATIONS 1.0f \/\/ 1 rotation\n#define DURATION_SECONDS 1.0f       \/\/ 1 second\n#define TOLERANCE_PERCENT 10        \/\/ +10% wait margin because the motor's clock is not\n                                    \/\/  perfectly accurate\n#define WAIT_MS ((unsigned long)(DURATION_SECONDS * 1000.0f * (100 + TOLERANCE_PERCENT) \/ 100))\n\n\/\/ Example RS485 pins for ESP32 DevKit (change as needed for your board)\n#if defined(ESP32)\n#define RS485_TXD 4              \/\/ TX pin to RS485 transceiver\n#define RS485_RXD 5              \/\/ RX pin from RS485 transceiver\n#endif\n\nvoid setup() {\n  Serial.begin(115200); \/\/ Console serial for debugging\n\n  \/\/ Create the motor; serial port opens on first instantiation.\n#if defined(ESP32)\n  Servomotor motor(ALIAS, Serial1, RS485_RXD, RS485_TXD);\n#else\n  Servomotor motor(ALIAS, Serial1);\n#endif\n\n  \/\/ Use units: rotations for position, seconds for time\n  motor.setPositionUnit(PositionUnit::SHAFT_ROTATIONS);\n  motor.setTimeUnit(TimeUnit::SECONDS);\n\n  motor.enableMosfets();\n  motor.trapezoidMove(DISPLACEMENT_ROTATIONS, DURATION_SECONDS);\n  delay(WAIT_MS);\n  motor.disableMosfets();\n}\n\nvoid loop() {\n}\u003c\/code\u003e\u003c\/pre\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003csection id=\"applications\" class=\"Marketing_contentSection__AnvH7\"\u003e\n\u003cdiv class=\"Marketing_container__7I3E7\"\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch2\u003eApplications\u003c\/h2\u003e\n\u003cp\u003eThe M17 Series servomotors are perfect for a wide range of applications, from educational projects to industrial automation.\u003c\/p\u003e\n\u003cdiv class=\"Marketing_applicationsGrid__0n21e\"\u003e\n\u003cdiv class=\"Marketing_applicationCard__XSxDN\"\u003e\n\u003cimg src=\"https:\/\/gearotons.com\/_next\/image?url=%2Fmarketing%2Fimages%2Frobotics_small.jpg\u0026amp;w=1920\u0026amp;q=75\" alt=\"Robotics Application\"\u003e\u003cbr\u003e\n\u003ch2\u003eRobotics\u003c\/h2\u003e\n\u003cp\u003eBuild precise robotic arms, mobile robots, and educational robotics platforms with easy-to-control servomotors.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"Marketing_applicationCard__XSxDN\"\u003e\n\u003cimg src=\"https:\/\/gearotons.com\/_next\/image?url=%2Fmarketing%2Fimages%2Fautomation_small.jpg\u0026amp;w=1920\u0026amp;q=75\" alt=\"Automation Application\"\u003e\u003cbr\u003e\n\u003ch2\u003eAutomation\u003c\/h2\u003e\n\u003cp\u003ePerfect for automated systems, CNC machines, 3D printers, and industrial control applications.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003csection id=\"company-profile\" class=\"Marketing_contentSection__AnvH7\"\u003e\n\u003cdiv class=\"Marketing_container__7I3E7\"\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch2\u003eCompany Profile\u003c\/h2\u003e\n\u003cdiv class=\"Marketing_companyContent___EPvW\"\u003e\n\u003cp\u003eWe are an innovative startup committed to making precision motion control accessible to everyone: to makers, educators, and engineers alike. Founded in Shenzhen in 2022 by a Canadian entrepreneur, we focus on developing integrated servo motor systems that combine cost-effectiveness, high integration, ease of use, and high performance.\u003c\/p\u003e\n\u003cp\u003eOur first product is the M17 series servo motor, which integrates a motor, driver, controller, and encoder into a compact NEMA 17–compatible package. It features RS-485 communication, which allows any number of motors to be controlled from a platform such as Raspberry Pi, Arduino, ESP32, Mac, or PC. Designed for applications ranging from educational robotics to industrial automation, our solutions enable innovation without adding the complexity or cost of traditional systems. Join us to explore the future of motion control!\u003c\/p\u003e\n\u003cdiv class=\"Marketing_companyImageContainer___D0e9\"\u003e\n\u003cimg src=\"https:\/\/gearotons.com\/_next\/image?url=%2Fmarketing%2Fimages%2Ftest_rack_small.jpg\u0026amp;w=1920\u0026amp;q=75\" alt=\"Test Rack\"\u003e\u003cbr\u003e\n\u003cp class=\"Marketing_imageCaption__Cp3sY\"\u003eOur testing facility ensures every motor meets quality standards\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003csection id=\"open-source\" class=\"Marketing_contentSection__AnvH7\"\u003e\n\u003cdiv class=\"Marketing_container__7I3E7\"\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch2\u003eOpen Source\u003c\/h2\u003e\n\u003cdiv class=\"Marketing_openSourceContent__x0V6M\"\u003e\n\u003cp\u003eWe believe in making the world better through technology. All software, firmware, and PCB design files are available here:\u003c\/p\u003e\n\u003cdiv class=\"Marketing_githubLink__x09go\"\u003e\u003cspan style=\"color: rgb(0, 170, 255);\"\u003e\u003cstrong\u003e\u003ca href=\"https:\/\/github.com\/tomrodinger\/servomotor\" style=\"color: rgb(0, 170, 255);\" target=\"_blank\"\u003ehttps:\/\/github.com\/tomrodinger\/servomotor\u003c\/a\u003e\u003c\/strong\u003e\u003c\/span\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/section\u003e\n\u003c\/div\u003e","brand":"Gearotons","offers":[{"title":"Default Title","offer_id":45576352432326,"sku":"Gearotons-M17-60","price":39.95,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0621\/0050\/4774\/files\/imgi_2_image_7cbdf079-5cf3-4ee6-a5d2-f668b1edfa12.webp?v=1777878768"},{"product_id":"gearotons-rs485-adapter-module-uart","title":"Gearotons RS485 Adapter Module | UART to RS485 Converter 3.3V\/5V","description":"\u003cp\u003eThe \u003cstrong\u003eGearotons RS485 Adapter Module\u003c\/strong\u003e is a compact \u003cstrong\u003eUART to RS485 converter\u003c\/strong\u003e for connecting microcontrollers and embedded hosts to a differential RS-485 bus. It is suitable for projects that need a simple bridge between TTL-level serial signals and RS-485 wiring, including Gearotons M17 servomotor communication setups, robotics prototypes, and industrial-style controller experiments.\u003c\/p\u003e\n\n\u003cp\u003eThe module supports \u003cstrong\u003e3.3V\/5V\u003c\/strong\u003e logic environments, making it practical for common development platforms such as Arduino-class boards, ESP32 controllers, Raspberry Pi GPIO UART workflows, and other embedded systems that need RS-485 physical-layer communication. Because RS-485 is a balanced multipoint interface, it is useful when a project needs more robust communication than direct single-ended UART wiring.\u003c\/p\u003e\n\n\u003cp\u003eThis page intentionally focuses on confirmed interface-level information. Chip model, board dimensions, maximum baud rate, isolation, ESD rating, and termination details should be checked against the actual module revision or project wiring before system integration.\u003c\/p\u003e\n\n\u003chr style=\"border: 0; border-top: 1px solid #e0e0e0; margin: 24px 0;\"\u003e\n\n\u003ch2\u003eFeatures\u003c\/h2\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eUART to RS485 conversion\u003c\/strong\u003e - Bridges standard UART serial signals to an RS-485 differential bus for embedded communication projects.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003e3.3V\/5V compatible\u003c\/strong\u003e - Designed for common low-voltage controller environments used by makers, labs, and embedded developers.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eRS-485 bus access\u003c\/strong\u003e - Provides the physical-layer interface needed for A\/B differential wiring in RS-485 communication systems.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eGearotons ecosystem use\u003c\/strong\u003e - Suitable for Gearotons M17 servomotor control setups where an RS-485 adapter is required between the host and the motor bus.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eMicrocontroller friendly\u003c\/strong\u003e - Works naturally with UART-capable boards such as Arduino-style controllers, ESP32 boards, and Raspberry Pi UART projects.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eEmbedded prototyping\u003c\/strong\u003e - Helps convert short-range board-level serial communication into a more noise-tolerant differential link.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eMulti-node ready concept\u003c\/strong\u003e - RS-485 supports bus-style networks when the system wiring, addressing, termination, and software protocol are configured correctly.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eCompact module format\u003c\/strong\u003e - Easy to integrate into breadboard experiments, controller wiring, motor test benches, and small automation prototypes.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eProtocol independent\u003c\/strong\u003e - Carries UART serial data at the physical layer, while the host software defines the higher-level protocol and command format.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eUseful for education and testing\u003c\/strong\u003e - A practical module for learning differential serial communication, motor control communication, and RS-485 wiring fundamentals.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003chr style=\"border: 0; border-top: 1px solid #e0e0e0; margin: 24px 0;\"\u003e\n\n\u003ch2\u003eSpecifications\u003c\/h2\u003e\n\u003ctable border=\"1\" cellpadding=\"8\" cellspacing=\"0\" style=\"border-collapse: collapse; width: 100%;\"\u003e\n  \u003ctr style=\"background: #f5f5f5;\"\u003e\n    \u003cth\u003eParameter\u003c\/th\u003e\n    \u003cth\u003eValue\u003c\/th\u003e\n  \u003c\/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cstrong\u003eProduct Name\u003c\/strong\u003e\u003c\/td\u003e\n    \u003ctd\u003eGearotons RS485 Adapter Module\u003c\/td\u003e\n  \u003c\/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cstrong\u003eFunction\u003c\/strong\u003e\u003c\/td\u003e\n    \u003ctd\u003eUART to RS485 converter module\u003c\/td\u003e\n  \u003c\/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cstrong\u003eHost Interface\u003c\/strong\u003e\u003c\/td\u003e\n    \u003ctd\u003eUART serial interface\u003c\/td\u003e\n  \u003c\/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cstrong\u003eBus Interface\u003c\/strong\u003e\u003c\/td\u003e\n    \u003ctd\u003eRS-485 differential communication interface\u003c\/td\u003e\n  \u003c\/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cstrong\u003eSupported Logic \/ Supply Environment\u003c\/strong\u003e\u003c\/td\u003e\n    \u003ctd\u003e3.3V \/ 5V\u003c\/td\u003e\n  \u003c\/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cstrong\u003eTypical Wiring Role\u003c\/strong\u003e\u003c\/td\u003e\n    \u003ctd\u003eConnects a UART host to an RS-485 A\/B communication bus\u003c\/td\u003e\n  \u003c\/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cstrong\u003eCompatible Project Types\u003c\/strong\u003e\u003c\/td\u003e\n    \u003ctd\u003eEmbedded UART projects, Gearotons M17 control setups, robotics prototypes, automation test benches\u003c\/td\u003e\n  \u003c\/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\u003cstrong\u003eUnconfirmed Details\u003c\/strong\u003e\u003c\/td\u003e\n    \u003ctd\u003eChip model, board dimensions, isolation, ESD rating, termination resistor, and maximum baud rate are not confirmed from the provided title\/source data\u003c\/td\u003e\n  \u003c\/tr\u003e\n\u003c\/table\u003e\n\n\u003chr style=\"border: 0; border-top: 1px solid #e0e0e0; margin: 24px 0;\"\u003e\n\n\u003ch2\u003eReference Documents\u003c\/h2\u003e\n\u003cul\u003e\n  \u003cli\u003e\u003ca href=\"https:\/\/tutorial.gearotons.com\/\" style=\"color: #007FFF; font-weight: bold;\" target=\"_blank\"\u003eGearotons Getting Started Guide\u003c\/a\u003e\u003c\/li\u003e\n  \u003cli\u003e\u003ca href=\"https:\/\/www.ti.com\/lit\/an\/slla272c\/slla272c.pdf\" style=\"color: #007FFF; font-weight: bold;\" target=\"_blank\"\u003eTexas Instruments RS-485 Design Guide\u003c\/a\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003chr style=\"border: 0; border-top: 1px solid #e0e0e0; margin: 24px 0;\"\u003e\n\n\u003ch2\u003eApplication\u003c\/h2\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eGearotons M17 motor communication\u003c\/strong\u003e - Use as the RS-485 adapter between a host controller and a Gearotons M17 servomotor bus.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eArduino RS-485 experiments\u003c\/strong\u003e - Add RS-485 physical-layer communication to UART-based Arduino-style projects.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eESP32 controller projects\u003c\/strong\u003e - Connect ESP32 UART pins to RS-485 wiring for robotics and automation prototypes.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eRaspberry Pi UART workflows\u003c\/strong\u003e - Build RS-485 communication experiments from a Raspberry Pi UART interface with correct level and wiring practices.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eRobotics test benches\u003c\/strong\u003e - Communicate with motor controllers, distributed nodes, or sensor boards over a differential serial bus.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eAutomation prototyping\u003c\/strong\u003e - Evaluate RS-485 wiring, addressing, and command protocols before designing a custom controller board.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eEducation and lab training\u003c\/strong\u003e - Teach the difference between UART logic-level serial and balanced RS-485 bus communication.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eProtocol development\u003c\/strong\u003e - Test command\/response serial protocols while using RS-485 as the electrical interface.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003chr style=\"border: 0; border-top: 1px solid #e0e0e0; margin: 24px 0;\"\u003e\n\n\u003ch2\u003ePacking List\u003c\/h2\u003e\n\u003ctable border=\"1\" cellpadding=\"8\" cellspacing=\"0\" style=\"border-collapse: collapse; width: 100%;\"\u003e\n  \u003ctr style=\"background: #f5f5f5;\"\u003e\n    \u003cth\u003eDescription\u003c\/th\u003e\n    \u003cth\u003eQuantity\u003c\/th\u003e\n  \u003c\/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003eGearotons RS485 Adapter Module\u003c\/td\u003e\n    \u003ctd\u003e1\u003c\/td\u003e\n  \u003c\/tr\u003e\n\u003c\/table\u003e\n\n\u003chr style=\"border: 0; border-top: 1px solid #e0e0e0; margin: 24px 0;\"\u003e\n\n\u003ch2\u003eFAQ\u003c\/h2\u003e\n\u003cstyle\u003e\n  .faq-accordion details {\n    border-bottom: 1px solid #e6eef8;\n    padding: 14px 0;\n  }\n  .faq-accordion summary {\n    list-style: none;\n    cursor: pointer;\n    font-size: 16px;\n    font-weight: 700;\n    color: #1f2933;\n    position: relative;\n    padding-right: 32px;\n  }\n  .faq-accordion summary::-webkit-details-marker {\n    display: none;\n  }\n  .faq-accordion summary::after {\n    content: \"\\203A\";\n    position: absolute;\n    right: 4px;\n    top: 50%;\n    transform: translateY(-50%) rotate(90deg);\n    color: #007fff;\n    font-size: 28px;\n    line-height: 1;\n    transition: transform 0.2s ease;\n  }\n  .faq-accordion details[open] summary::after {\n    transform: translateY(-50%) rotate(270deg);\n  }\n  .faq-accordion p {\n    margin: 12px 0 0;\n    color: #4b5563;\n    line-height: 1.65;\n  }\n\u003c\/style\u003e\n\u003cdiv class=\"faq-accordion\"\u003e\n  \u003cdetails\u003e\n    \u003csummary\u003eIs this module the same as a USB to RS485 adapter?\u003c\/summary\u003e\n    \u003cp\u003eNo. This product is described as a UART to RS485 converter, so it is intended for UART-level host connections rather than direct USB connection unless another USB-to-UART interface is used.\u003c\/p\u003e\n  \u003c\/details\u003e\n  \u003cdetails\u003e\n    \u003csummary\u003eCan it work with both 3.3V and 5V controllers?\u003c\/summary\u003e\n    \u003cp\u003eYes. The product title specifies 3.3V\/5V support, which makes it suitable for many common microcontroller environments.\u003c\/p\u003e\n  \u003c\/details\u003e\n  \u003cdetails\u003e\n    \u003csummary\u003eCan it be used with Gearotons M17 servomotors?\u003c\/summary\u003e\n    \u003cp\u003eYes. Gearotons M17 communication uses RS-485, and Gearotons documentation refers to using an RS-485 adapter between the host controller and the motor bus.\u003c\/p\u003e\n  \u003c\/details\u003e\n  \u003cdetails\u003e\n    \u003csummary\u003eDoes RS-485 define the communication protocol?\u003c\/summary\u003e\n    \u003cp\u003eNo. RS-485 defines the electrical interface. The actual command format, addressing, baud rate, and packet structure are determined by the connected device and software protocol.\u003c\/p\u003e\n  \u003c\/details\u003e\n  \u003cdetails\u003e\n    \u003csummary\u003eDoes the module support multi-drop bus wiring?\u003c\/summary\u003e\n    \u003cp\u003eRS-485 is commonly used for multipoint bus networks, but the final result depends on the connected transceivers, cable layout, addressing, termination, and protocol design.\u003c\/p\u003e\n  \u003c\/details\u003e\n  \u003cdetails\u003e\n    \u003csummary\u003eDo I need termination resistors?\u003c\/summary\u003e\n    \u003cp\u003eTermination depends on cable length, baud rate, and bus topology. For longer or faster RS-485 links, follow RS-485 design guidance and terminate the bus appropriately at the ends of the cable trunk.\u003c\/p\u003e\n  \u003c\/details\u003e\n  \u003cdetails\u003e\n    \u003csummary\u003eIs the converter isolated?\u003c\/summary\u003e\n    \u003cp\u003eIsolation is not confirmed from the available product title\/source data. If your system has ground-potential differences or industrial noise, verify isolation requirements before use.\u003c\/p\u003e\n  \u003c\/details\u003e\n  \u003cdetails\u003e\n    \u003csummary\u003eWhat baud rate should I use?\u003c\/summary\u003e\n    \u003cp\u003eUse the baud rate required by the connected device or protocol. For Gearotons M17 projects, follow the Gearotons getting-started and software documentation.\u003c\/p\u003e\n  \u003c\/details\u003e\n  \u003cdetails\u003e\n    \u003csummary\u003eCan it be used for long-distance communication?\u003c\/summary\u003e\n    \u003cp\u003eRS-485 is designed for more robust differential communication than direct UART wiring, but practical distance depends on cable type, data rate, termination, grounding, and the complete system design.\u003c\/p\u003e\n  \u003c\/details\u003e\n\u003c\/div\u003e\n","brand":"Gearotons","offers":[{"title":"Default Title","offer_id":45576353775814,"sku":"Gearotons-RS485","price":12.95,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0621\/0050\/4774\/files\/imgi_2_01-top_view_7bcfc1e4-c367-4657-a749-c20993d81228.jpg?v=1777876812"}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0621\/0050\/4774\/collections\/14_6f6d9a42-a0c5-4af7-937a-6798fefb9b5b.webp?v=1780303376","url":"https:\/\/openelab.io\/collections\/brands-gearotons.oembed","provider":"OpenELAB Technology Ltd.","version":"1.0","type":"link"}