{"title":"Motor Drivers \u0026 Stepper Motors","description":"\u003ch2\u003eMotor Drivers \u0026amp; Stepper Motors — L298N, ULN2003, CNC Shield, 28BYJ-48\u003c\/h2\u003e\n\n\u003cp\u003eMotor driver modules allow microcontrollers to control DC motors, stepper motors, and servo motors that draw more current than the MCU pins can supply directly. This collection covers the complete range of motor control hardware — from simple L298N dual H-bridge modules to full CNC shield kits with microstepping drivers.\u003c\/p\u003e\n\n\u003ch3\u003eDC Motor Drivers\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eL298N Dual H-Bridge:\u003c\/strong\u003e Control 2 DC motors or 1 stepper motor, up to 2A per channel, 5–35V — the standard Arduino motor driver\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eL293D Mini Driver:\u003c\/strong\u003e Compact expansion board for Arduino Uno\/Mega, 600mA per channel\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eIRF520 MOSFET Module:\u003c\/strong\u003e High-current PWM switching for DC motors and LED strips, 0–24V\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003e15A 400W MOSFET Trigger Switch:\u003c\/strong\u003e High-power PWM control for large DC loads\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eStepper Motors \u0026amp; Drivers\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003e28BYJ-48 + ULN2003:\u003c\/strong\u003e 5V 4-phase stepper motor with driver board — the standard beginner stepper kit for Arduino\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eCNC Shield V3\/V4 + DRV8825\/A4988:\u003c\/strong\u003e 4-axis stepper driver shield for Arduino Uno\/Nano — for CNC routers, 3D printers, and laser engravers\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eGear Motors\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eTT 130 Gear Motor:\u003c\/strong\u003e DC 3–6V gear motor for Arduino smart car robot chassis — the standard wheel motor for 2WD and 4WD robot kits\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eServo Control\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003ePCA9685 16-Channel PWM Driver:\u003c\/strong\u003e I²C servo controller for up to 16 servos simultaneously — for robot arms and pan-tilt systems\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eServo Tester:\u003c\/strong\u003e Standalone servo tester for SG90, MG90S, SG92R without MCU\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003cp\u003eAll motor driver modules are in stock and compatible with Arduino, ESP32, and Raspberry Pi.\u003c\/p\u003e","products":[{"product_id":"l293d-v1-motor-driver-shield","title":"L293D V1 Motor Driver Shield for Arduino — 4 DC \/ 2 Stepper Motors","description":"\u003ch2\u003eL293D V1 Motor Driver Shield for Arduino — 4 DC \/ 2 Stepper Motors\u003c\/h2\u003e\n\u003cp\u003eThe \u003cstrong\u003eL293D motor driver shield\u003c\/strong\u003e stacks directly onto Arduino Uno or Mega and enables control of up to \u003cstrong\u003e4 DC motors\u003c\/strong\u003e or \u003cstrong\u003e2 stepper motors\u003c\/strong\u003e (or a combination). Uses two \u003cstrong\u003eL293D H-bridge driver ICs\u003c\/strong\u003e with built-in flyback diodes for motor protection. Controlled via I2C using the \u003cstrong\u003eAdafruit Motor Shield library\u003c\/strong\u003e, freeing up Arduino digital pins.\u003c\/p\u003e\n\n\u003ch3\u003eKey Specifications\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDriver IC: \u003cstrong\u003eL293D ×2\u003c\/strong\u003e | Channels: \u003cstrong\u003e4 DC motor or 2 stepper motor\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003eCurrent: \u003cstrong\u003e0.6A per channel\u003c\/strong\u003e (1.2A peak) | Motor voltage: \u003cstrong\u003e4.5–25V\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003eInterface: \u003cstrong\u003eI2C (74HC595 shift register)\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003eServo headers: \u003cstrong\u003e2× servo PWM headers\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003eCompatible: \u003cstrong\u003eArduino Uno \/ Mega\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003eLibrary: \u003cstrong\u003eAdafruit Motor Shield V1\u003c\/strong\u003e | Compliance: \u003cstrong\u003eRoHS compliant\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eWhy Choose This?\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✅ \u003cstrong\u003e4 DC or 2 stepper motors\u003c\/strong\u003e — versatile motor control in one shield\u003c\/li\u003e\n\u003cli\u003e✅ \u003cstrong\u003eBuilt-in flyback diodes\u003c\/strong\u003e — protects Arduino from motor back-EMF\u003c\/li\u003e\n\u003cli\u003e✅ \u003cstrong\u003eI2C control\u003c\/strong\u003e — frees up Arduino digital pins for other uses\u003c\/li\u003e\n\u003cli\u003e✅ \u003cstrong\u003eAdafruit library compatible\u003c\/strong\u003e — extensive tutorials and community support\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eTypical Applications\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWheeled robot and rover motor control\u003c\/li\u003e\n\u003cli\u003eStepper motor positioning projects\u003c\/li\u003e\n\u003cli\u003eArduino robotics learning projects\u003c\/li\u003e\n\u003cli\u003eConveyor and automation motor control\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"Keszoox","offers":[{"title":"Default Title","offer_id":45666021507307,"sku":"","price":21.22,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0677\/1005\/8731\/files\/L293D-V1-Motor-Driver-Shield-1.jpg?v=1723010258"},{"product_id":"l298p-motor-driver-shield","title":"L298P Motor Driver Shield for Arduino — 2A Dual DC \/ Stepper","description":"\u003ch2\u003eL298P Motor Driver Shield for Arduino — 2A Dual DC \/ Stepper\u003c\/h2\u003e\n\u003cp\u003eThe \u003cstrong\u003eL298P motor driver shield\u003c\/strong\u003e stacks directly onto Arduino Uno or Mega and enables control of up to \u003cstrong\u003e2 DC motors\u003c\/strong\u003e or \u003cstrong\u003e1 stepper motor\u003c\/strong\u003e at \u003cstrong\u003e2A per channel\u003c\/strong\u003e. Uses the \u003cstrong\u003eL298P H-bridge driver IC\u003c\/strong\u003e with PWM speed control and direction control via Arduino digital pins. Higher current capacity than L293D-based shields — suitable for larger DC motors.\u003c\/p\u003e\n\n\u003ch3\u003eKey Specifications\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDriver IC: \u003cstrong\u003eL298P\u003c\/strong\u003e | Channels: \u003cstrong\u003e2 DC motor or 1 stepper motor\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003eCurrent: \u003cstrong\u003e2A per channel\u003c\/strong\u003e (3A peak) | Motor voltage: \u003cstrong\u003e6.5–12V\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003eControl: \u003cstrong\u003ePWM speed + direction via Arduino digital pins\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003eServo headers: \u003cstrong\u003e2× servo PWM headers\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003eCompatible: \u003cstrong\u003eArduino Uno \/ Mega\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003eCompliance: \u003cstrong\u003eRoHS compliant\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eWhy Choose This?\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003e✅ \u003cstrong\u003e2A per channel\u003c\/strong\u003e — higher current than L293D shields for larger motors\u003c\/li\u003e\n\u003cli\u003e✅ \u003cstrong\u003ePWM speed control\u003c\/strong\u003e — smooth variable speed control via analogWrite()\u003c\/li\u003e\n\u003cli\u003e✅ \u003cstrong\u003eDirect stack onto Arduino\u003c\/strong\u003e — no wiring needed\u003c\/li\u003e\n\u003cli\u003e✅ \u003cstrong\u003eServo headers included\u003c\/strong\u003e — connect servos alongside DC motors\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eTypical Applications\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eWheeled robot and rover motor control\u003c\/li\u003e\n\u003cli\u003eStepper motor positioning projects\u003c\/li\u003e\n\u003cli\u003eArduino motor control learning projects\u003c\/li\u003e\n\u003cli\u003eConveyor and automation motor control\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"Keszoox","offers":[{"title":"Default Title","offer_id":45666023604459,"sku":"","price":54.87,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0677\/1005\/8731\/files\/L298P-Dual-Motor-Driver-Shield.jpg?v=1723010237"},{"product_id":"l293d-dual-h-bridge-motor-driver","title":"L293D Dual H-Bridge Motor Driver","description":"\u003cp\u003e\u003cspan\u003eGeneral purpose driver handles 4.5 – 36V @ 600mA\u003c\/span\u003e\u003c\/p\u003e\n\u003ch2\u003eDESCRIPTION\u003c\/h2\u003e\n\u003cp\u003eThe L293D Dual H-Bridge Motor Driver is a general purpose high voltage \/ high current driver that can handle 4.5 – 36V @ 600mA continuous per channel\u003c\/p\u003e\n\u003ch2\u003ePACKAGE INCLUDES:\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003eL293D Dual H-Bridge Motor Driver\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch2\u003e\u003cstrong\u003eKEY FEATURES OF L293D DUAL H-BRIDGE MOTOR DRIVER:\u003c\/strong\u003e\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003eContains four half H-Bridges that can operate as two full H-Bridges\u003c\/li\u003e\n\u003cli\u003eOperate 2 motors with direction and speed control or 4 motors with speed control only\u003c\/li\u003e\n\u003cli\u003eCan supply 600mA current per channel continuous and 1.2A peak\u003c\/li\u003e\n\u003cli\u003e4.5 to 36V motor voltage\u003c\/li\u003e\n\u003cli\u003e5V compatible on logic pins\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eThe L293D is a general purpose high voltage \/ high current driver  that can handle up to 600mA per channel (1.2A peak non-repetitive) and can operate over the range of 4.5 – 36V.  The chip includes built-in kick-back diodes to prevent damage when the motor is de-energized.\u003c\/p\u003e\n\u003cp\u003eThese devices are most often used to drive motors, but they can also be used to drive any inductive load such as relay solenoids or used to drive large switching power transistors.\u003c\/p\u003e\n\u003ch3\u003eHalf-Bridge vs Full-Bridge\u003c\/h3\u003e\n\u003cp\u003eThe chip contains four half H-Bridges that can be operated that way or can also be operated as two full H-Bridges.  They are capable of driving up to 4 solenoids, 4 uni-directional DC motors, 2 bi-directional DC motors or 1 stepper motor.\u003cimg decoding=\"async\" class=\"alignright size-full wp-image-5528 entered lazyloaded\" src=\"https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/03\/L293D-Pinout.jpg\" alt=\"L293D Pinout\" width=\"344\" height=\"197\" data-lazy-srcset=\"https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/03\/L293D-Pinout.jpg 344w, https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/03\/L293D-Pinout-200x115.jpg 200w, https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/03\/L293D-Pinout-300x172.jpg 300w, https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/03\/L293D-Pinout-280x160.jpg 280w\" data-lazy-sizes=\"(max-width: 344px) 100vw, 344px\" data-lazy-src=\"https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/03\/L293D-Pinout.jpg\" data-ll-status=\"loaded\" sizes=\"(max-width: 344px) 100vw, 344px\" srcset=\"https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/03\/L293D-Pinout.jpg 344w, https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/03\/L293D-Pinout-200x115.jpg 200w, https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/03\/L293D-Pinout-300x172.jpg 300w, https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/03\/L293D-Pinout-280x160.jpg 280w\"\u003e\u003c\/p\u003e\n\u003cp\u003eA half H-Bridge configuration allows a motor to be operated in one direction.  the Enable pins allow the motor to be turned ON\/OFF or speed regulated by applying a PWM signal to these pins.  The Enable pins are shared between channels 1\u0026amp;2 and 3\u0026amp;4 which limits the usefulness of this mode.\u003c\/p\u003e\n\u003cp\u003eA full H-Bridge configuration allows a DC motor to be run in both directions by reversing the current flow through the motor.  The Enable pins allow the motors to be turned ON\/OFF or speed regulated by applying a PWM signal to these pins.  This is the most common mode of operation.\u003c\/p\u003e\n\u003cp\u003eIf higher output current is required, the outputs can be run in parallel to get drive currents of up to 1.2A.  When paralleling outputs, channel 1 \u0026amp; 4 should be paralleled and channel 2 \u0026amp; 3 should be paralleled.  It is also possible to piggy-back a second chip on top of the first and solder the pins together to maintain full two H-Bridge functionality while also doubling the current handling to 1.2A.\u003c\/p\u003e\n\u003ch3\u003eUnidirectional DC Motor Control (using half H-Bridge)\u003c\/h3\u003e\n\u003cp\u003eThis table covers 1 of the 4 half H-Bridges in the device.  1A channel is shown but all 4 channels (1A\/2A\/3A\/4A) behave the same.  Note that the EN pins are shared between Channels 1\u0026amp;2 and 3\u0026amp;4.\u003c\/p\u003e\n\u003cp\u003eAlso, note that is in this half bridge configuration, one side of the motor will be connected directly to power or ground, so the direction control pins (1A in this case) will have the opposite effect depending on how the motor is wired.\u003c\/p\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ctable class=\"table table-bordered\" width=\"1029\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd width=\"95\"\u003e\u003cstrong\u003eEN\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd width=\"95\"\u003e\u003cstrong\u003e1A\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd width=\"203\"\u003e\u003cstrong\u003eFunction (Motor connected to VCC2)\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd width=\"203\"\u003e\u003cstrong\u003eFunction (Motor connected to Ground)\u003c\/strong\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"95\"\u003eH\u003c\/td\u003e\n\u003ctd width=\"95\"\u003eL\u003c\/td\u003e\n\u003ctd width=\"203\"\u003eMotor Run\u003c\/td\u003e\n\u003ctd width=\"203\"\u003eFast Motor Stop\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"95\"\u003eH\u003c\/td\u003e\n\u003ctd width=\"95\"\u003eH\u003c\/td\u003e\n\u003ctd width=\"203\"\u003eFast Motor Stop\u003c\/td\u003e\n\u003ctd width=\"203\"\u003eMotor Run\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"95\"\u003eL\u003c\/td\u003e\n\u003ctd width=\"95\"\u003eX\u003c\/td\u003e\n\u003ctd width=\"203\"\u003eFree-running Motor Stop\u003c\/td\u003e\n\u003ctd width=\"203\"\u003eFree-running Motor Stop\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch3\u003eBidirectional DC Motor Control (using full H-Bridge)\u003c\/h3\u003e\n\u003cp\u003eThis truth table covers the left half of the chip which forms one full H-Bridge.  The right side is a duplicate with 1A and 2A replaced with 3A and 4A.\u003c\/p\u003e\n\u003ctable class=\"table table-bordered\" width=\"661\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd width=\"95\"\u003e\u003cstrong\u003eEN\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd width=\"95\"\u003e\u003cstrong\u003e1A\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd width=\"95\"\u003e\u003cstrong\u003e2A\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd width=\"191\"\u003e\u003cstrong\u003eFunction\u003c\/strong\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"95\"\u003eH\u003c\/td\u003e\n\u003ctd width=\"95\"\u003eL\u003c\/td\u003e\n\u003ctd width=\"95\"\u003eH\u003c\/td\u003e\n\u003ctd width=\"191\"\u003eMotor Turn Right\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"95\"\u003eH\u003c\/td\u003e\n\u003ctd width=\"95\"\u003eH\u003c\/td\u003e\n\u003ctd width=\"95\"\u003eL\u003c\/td\u003e\n\u003ctd width=\"191\"\u003eMotor Turn Left\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"95\"\u003eH\u003c\/td\u003e\n\u003ctd width=\"95\"\u003eL\u003c\/td\u003e\n\u003ctd width=\"95\"\u003eL\u003c\/td\u003e\n\u003ctd width=\"191\"\u003eFast Motor Stop\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"95\"\u003eH\u003c\/td\u003e\n\u003ctd width=\"95\"\u003eH\u003c\/td\u003e\n\u003ctd width=\"95\"\u003eH\u003c\/td\u003e\n\u003ctd width=\"191\"\u003eFast Motor Stop\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"95\"\u003eL\u003c\/td\u003e\n\u003ctd width=\"95\"\u003eX\u003c\/td\u003e\n\u003ctd width=\"95\"\u003eX\u003c\/td\u003e\n\u003ctd width=\"191\"\u003eFree-Running Motor Stop\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp\u003e \u003c\/p\u003e\n\u003ch3\u003eConnecting Power\u003c\/h3\u003e\n\u003cp\u003eTake note that there are two power pins which are marked various ways depending on what datasheet you are looking at.  The important thing to remember is that pin 16 is the logic power and needs to be connected to 5V which can come from the uC or separate power supply.   Pin 8 is the motor power and can vary between 4.5 and 36V.\u003c\/p\u003e\n\u003cp\u003eThe IC package has 4 ground pins.  These are all connected internally and are used to help heat sink the chip when soldered to a PCB ground plane and handle the current under high load conditions.  For experimenting under light loads, only one needs to be connected.\u003c\/p\u003e\n\u003chr\u003e\n\u003ch2\u003eOUR EVALUATION RESULTS:\u003c\/h2\u003e\n\u003cp\u003eThese are old school devices, but they are easy to use, inexpensive, robust and get the job done when working with motors that don’t require a lot of current.\u003c\/p\u003e\n\u003ch3\u003eQuick Breadboard Control Example\u003c\/h3\u003e\n\u003cp\u003eTo get a feel for how the IC works in the full H-Bridge arrangement that allows for DC motor operation in both directions, do the following exercise:\u003cimg decoding=\"async\" class=\"size-full wp-image-4726 alignright entered lazyloaded\" src=\"https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/03\/L293D-Schematic.jpg\" alt=\"L293D Schematic\" width=\"495\" height=\"248\" data-lazy-srcset=\"https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/03\/L293D-Schematic.jpg 495w, https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/03\/L293D-Schematic-400x200.jpg 400w, https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/03\/L293D-Schematic-350x175.jpg 350w, https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/03\/L293D-Schematic-300x150.jpg 300w, https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/03\/L293D-Schematic-280x140.jpg 280w\" data-lazy-sizes=\"(max-width: 495px) 100vw, 495px\" data-lazy-src=\"https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/03\/L293D-Schematic.jpg\" data-ll-status=\"loaded\" sizes=\"(max-width: 495px) 100vw, 495px\" srcset=\"https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/03\/L293D-Schematic.jpg 495w, https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/03\/L293D-Schematic-400x200.jpg 400w, https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/03\/L293D-Schematic-350x175.jpg 350w, https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/03\/L293D-Schematic-300x150.jpg 300w, https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/03\/L293D-Schematic-280x140.jpg 280w\"\u003e\u003c\/p\u003e\n\u003col\u003e\n\u003cli\u003eConnect 5V to  both pins 8 and 16. These are the motor and digital power pins respectively.\u003c\/li\u003e\n\u003cli\u003eConnect one of the ground pins (like pin 4) to ground. There are 4 pins, but only one needs to be connected for this exercise.\u003c\/li\u003e\n\u003cli\u003eConnect a smaller DC motor that draws less than 600mA to pins 3 and 6 (\u003cstrong\u003e1Y\/2Y\u003c\/strong\u003e).  These are the two motor driver outputs for one of the channels.\u003c\/li\u003e\n\u003cli\u003eApply 5V power and nothing will happen because we haven’t told the motor which direction to turn yet.\u003c\/li\u003e\n\u003cli\u003eConnect jumper wires to pins 2 \u0026amp; 7 which are the\u003cspan\u003e \u003c\/span\u003e\u003cstrong\u003e1A\/2A\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003econtrol pins for this full-bridge.\u003c\/li\u003e\n\u003cli\u003eConnect the other end of one of the wires to ground and the other wire to 5V.  The motor should start turning.\u003c\/li\u003e\n\u003cli\u003eNow swap the power and ground connections to these 2 wires and the motor should start turning in the opposite direction,\u003c\/li\u003e\n\u003cli\u003eFrom this we learn that we can control the motor direction using logic levels on these two pins as per the logic truth table above.\u003c\/li\u003e\n\u003cli\u003eNow connect a jumper wire to pin 1 (\u003cstrong\u003e1\u0026amp;2 EN\u003c\/strong\u003e). This pin is active HIGH.  If this jumper is connected to ground, the motor should stop.  If it is connected to 5V or simply left floating, the motor should run.  If you were quick enough you could plug this jumper in and out of the ground connection really fast and control the speed of the motor by momentarily enabling\/disabling the drive to it.   Using a PWM pin on a uC automates this process and allows us to control the speed of the motor under program control which we’ll do below.\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003ch3\u003eHooking the L293D up to a uC\u003c\/h3\u003e\n\u003cp\u003eTo take our simple setup to the next level, the program below automates the control of the basic setup above using an Arduino or similar uC and gives you control of the motor through the Arduino IDE Serial Monitor window by entering commands.  Your just need to connect the 1A\/2A and EN control pins on the IC to pins 9, 8 and 10 on an uC.  You can use other digital pins, just make sure that you redefine them in the program.  The EN pin does need to be connected to a PWM capable pin.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eThe valid commands to type into the Serial Monitor Window include:\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eF\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e= Motor FORWARD\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eR\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e= Motor REVERSE\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eS\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e= Motor STOP\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eP\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e= Short for PWM, it sets or gets the motor speed.  P by itself does nothing.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e     P?\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e= Get the current speed setting from the uC\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e     P1\u003c\/strong\u003e –\u003cstrong\u003eP255\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e= Sets the PWM value which controls the speed of the motor.  This needs to all be typed on the same line before hitting ‘Send’ or the RETURN key to transmit  the command to the uC.\u003c\/p\u003e\n\u003cp\u003eNote that at low value speed settings like\u003cspan\u003e \u003c\/span\u003e\u003cstrong\u003eP5\u003c\/strong\u003e, the motor will not turn because it is not getting enough power, but you may hear it whining a bit.  This varies by motor and the voltage that your are driving it at.   If 5V is too low for your motor, you can change the voltage on pin 8 to a higher value or just stick with higher PWM values.  You may have to use values in the range of\u003cspan\u003e \u003c\/span\u003e\u003cstrong\u003eP25-50\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003eto get things moving.\u003c\/p\u003e\n\u003cp\u003eThe directions of ‘\u003cstrong\u003eF\u003c\/strong\u003e‘orward and ‘\u003cstrong\u003eR\u003c\/strong\u003e‘everse are relative to how the motor is wired to the L293D.  The wires to the motor can be swapped if it is desired to reverse the direction relative to the commands being given.\u003c\/p\u003e\n\u003cp\u003eThe program is somewhat simplistic to keep it reasonably short.  If the PWM value is zero, it assumes this is because the number given could not be converted to an integer and ignores it.  This means you can’t send the command ‘\u003cstrong\u003eP0\u003c\/strong\u003e‘ to stop the motor because it will be ignored.  Use the ‘\u003cstrong\u003eS\u003c\/strong\u003e‘ command instead.\u003c\/p\u003e\n\u003ch3\u003eUsing The Serial Monitor Window To Send Commands\u003c\/h3\u003e\n\u003cp\u003eUsually the Serial Monitor window is used only for displaying returned characters from the Arduino.  Since we are using it also for input, it is worth noting a few things.\u003c\/p\u003e\n\u003cp\u003eWhen using the Serial Monitor window for input, the commands need to be typed into the small top window, not the main window.  A carriage return or hitting the ‘\u003cstrong\u003eSend\u003c\/strong\u003e‘ button sends the command typed into this window to the Arduino.\u003c\/p\u003e\n\u003cp\u003eThe program echos the command (like ‘\u003cstrong\u003eR\u003c\/strong\u003e‘) back to the main window.  This is confirmation that the command was received by the Arduino.  It then sends a string of what it is doing with that command (like ‘\u003cstrong\u003eMotor Reverse\u003c\/strong\u003e‘)  as confirmation that it not only received the command but also understood and executed the command.\u003c\/p\u003e\n\u003cp\u003eMake sure the baud rate is set to the rate you have set in the program.   Program sets it to a default of\u003cspan\u003e \u003c\/span\u003e\u003cstrong\u003e9600\u003c\/strong\u003e.\u003c\/p\u003e\n\u003cp\u003eOn my setup I find that if the default ‘\u003cstrong\u003eBoth NL \u0026amp; CR\u003c\/strong\u003e‘ setting is used at the bottom of the Serial Monitor window, the window tends to hang intermittently.  Commands are still be sent and acted on by the Arduino, but the output from the Arduino stops being shown.  Closing and reopening the windows temporarily clears the problem.  Using ‘\u003cstrong\u003eCarriage return\u003c\/strong\u003e‘ seems to work fine.  I am not sure why that is.\u003c\/p\u003e\n\u003ch3\u003eL293D Dual H-Bridge Motor Driver Example Program\u003c\/h3\u003e\n\u003cpre class=\"copy-the-code-target\"\u003e\u003cspan\u003e\/*\u003c\/span\u003e\n\u003cspan\u003eExercise L293 Motor Driver IC\u003c\/span\u003e\n\u003cspan\u003eUses Serial Monitor window to issue commands for controlling a DC motor \u003c\/span\u003e\n\u003cspan\u003econnected to channels 1 \u0026amp; 2 on an L293D chip.\u003c\/span\u003e\n\u003cspan\u003e*\/\u003c\/span\u003e\n\u003cspan\u003econst\u003c\/span\u003e \u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003eEN_PIN\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e10\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e  \u003cspan\u003e\/\/ Must be PWM pin.  Connect to Pin 1 on L293\u003c\/span\u003e\n\u003cspan\u003econst\u003c\/span\u003e \u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003eA1_PIN\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e9\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e    \u003cspan\u003e\/\/ Can by any digital pin.  Connect to pin 2 on L293\u003c\/span\u003e\n\u003cspan\u003econst\u003c\/span\u003e \u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003eA2_PIN\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e8\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e    \u003cspan\u003e\/\/ Can by any digital pin.  Connect to pin 7 on L293\u003c\/span\u003e\n\n\u003cspan\u003echar\u003c\/span\u003e \u003cspan\u003ereadString\u003c\/span\u003e\u003cspan\u003e[\u003c\/span\u003e\u003cspan\u003e4\u003c\/span\u003e\u003cspan\u003e]\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e  \u003cspan\u003e\/\/ String array to hold PWM value typed in on keyboard\u003c\/span\u003e\n\u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003ePWM_Value\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e0\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e   \u003cspan\u003e\/\/ Our current PWM motor speed value\u003c\/span\u003e\n\u003cspan\u003e\/\/===============================================================================\u003c\/span\u003e\n\u003cspan\u003e\/\/  Initialization\u003c\/span\u003e\n\u003cspan\u003e\/\/===============================================================================\u003c\/span\u003e\n\u003cspan\u003evoid\u003c\/span\u003e \u003cspan\u003esetup\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e \u003cspan\u003e{\u003c\/span\u003e\n  \u003cspan\u003epinMode\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eEN_PIN\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eOUTPUT\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e  \u003cspan\u003e\/\/ Initialize output pins\u003c\/span\u003e\n  \u003cspan\u003epinMode\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eA1_PIN\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eOUTPUT\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cspan\u003epinMode\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eA2_PIN\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eOUTPUT\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003ebegin\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e9600\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e       \u003cspan\u003e\/\/ Initialize serial monitor\u003c\/span\u003e\n\u003cspan\u003e}\u003c\/span\u003e\n\u003cspan\u003e\/\/===============================================================================\u003c\/span\u003e\n\u003cspan\u003e\/\/  Main\u003c\/span\u003e\n\u003cspan\u003e\/\/===============================================================================\u003c\/span\u003e\n\u003cspan\u003evoid\u003c\/span\u003e \u003cspan\u003eloop\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e \u003cspan\u003e{\u003c\/span\u003e\n\u003cspan\u003e\/\/ Basically just loop while monitoring the serial port and then jump to DoSerial to\u003c\/span\u003e\n\u003cspan\u003e\/\/ handle incoming characters and act on them\u003c\/span\u003e\n\u003cspan\u003eif\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eavailable\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e \u003cspan\u003eDoSerial\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n\u003cspan\u003e}\u003c\/span\u003e\n\u003cspan\u003e\/\/===============================================================================\u003c\/span\u003e\n\u003cspan\u003e\/\/  Subroutine to handle characters typed via Serial Monitor Window\u003c\/span\u003e\n\u003cspan\u003e\/\/===============================================================================\u003c\/span\u003e\n\u003cspan\u003evoid\u003c\/span\u003e \u003cspan\u003eDoSerial\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\n\u003cspan\u003e{\u003c\/span\u003e\n  \u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003eindex\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e0\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003ePWM_Test_Value\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e0\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cspan\u003echar\u003c\/span\u003e \u003cspan\u003ech\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eread\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e  \u003cspan\u003e\/\/ Read the character we know we have\u003c\/span\u003e\n  \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eprintln\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003ech\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e       \u003cspan\u003e\/\/ Echo character typed to show we got it\u003c\/span\u003e\n\n  \u003cspan\u003e\/\/ Use Switch\/Case statement to handle the different commands\u003c\/span\u003e\n  \u003cspan\u003eswitch\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003ech\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e \u003cspan\u003e{\u003c\/span\u003e\n  \u003cspan\u003ecase\u003c\/span\u003e \u003cspan\u003e'f'\u003c\/span\u003e\u003cspan\u003e:\u003c\/span\u003e   \u003cspan\u003e\/\/ Motor FORWARD command\u003c\/span\u003e\n  \u003cspan\u003ecase\u003c\/span\u003e \u003cspan\u003e'F'\u003c\/span\u003e\u003cspan\u003e:\u003c\/span\u003e   \u003cspan\u003e\/\/ This fall-through case statement accepts upper and lower case\u003c\/span\u003e\n    \u003cspan\u003edigitalWrite\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eA1_PIN\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eLOW\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n    \u003cspan\u003edigitalWrite\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eA2_PIN\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eHIGH\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n    \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eprintln\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e\"Motor Forward\"\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n    \u003cspan\u003ebreak\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n\n  \u003cspan\u003ecase\u003c\/span\u003e \u003cspan\u003e'r'\u003c\/span\u003e\u003cspan\u003e:\u003c\/span\u003e   \u003cspan\u003e\/\/ Motor REVERSE command\u003c\/span\u003e\n  \u003cspan\u003ecase\u003c\/span\u003e \u003cspan\u003e'R'\u003c\/span\u003e\u003cspan\u003e:\u003c\/span\u003e\n    \u003cspan\u003edigitalWrite\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eA1_PIN\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eHIGH\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n    \u003cspan\u003edigitalWrite\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eA2_PIN\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eLOW\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n    \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eprintln\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e\"Motor Reverse\"\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n    \u003cspan\u003ebreak\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n\n   \u003cspan\u003ecase\u003c\/span\u003e \u003cspan\u003e's'\u003c\/span\u003e\u003cspan\u003e:\u003c\/span\u003e   \u003cspan\u003e\/\/ Motor STOP command\u003c\/span\u003e\n   \u003cspan\u003ecase\u003c\/span\u003e \u003cspan\u003e'S'\u003c\/span\u003e\u003cspan\u003e:\u003c\/span\u003e\n    \u003cspan\u003e\/\/digitalWrite(EN_PIN, LOW);\u003c\/span\u003e\n    \u003cspan\u003edigitalWrite\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eA1_PIN\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eLOW\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n    \u003cspan\u003edigitalWrite\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eA2_PIN\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eLOW\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n    \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eprintln\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e\"Motor Stop\"\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n    \u003cspan\u003ebreak\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n\n  \u003cspan\u003ecase\u003c\/span\u003e \u003cspan\u003e'p'\u003c\/span\u003e\u003cspan\u003e:\u003c\/span\u003e  \u003cspan\u003e\/\/ Motor SPEED command\u003c\/span\u003e\n  \u003cspan\u003ecase\u003c\/span\u003e \u003cspan\u003e'P'\u003c\/span\u003e\u003cspan\u003e:\u003c\/span\u003e\n    \u003cspan\u003e\/\/ This command is a little trickier.  We are looking for a number from 0-255\u003c\/span\u003e\n    \u003cspan\u003e\/\/ to follow this command so we can set the PWM speed.  If we see a '?'\u003c\/span\u003e\n    \u003cspan\u003e\/\/ we will report our current speed setting, otherwise we start collecting chars\u003c\/span\u003e\n    \u003cspan\u003e\/\/ into the readString array.\u003c\/span\u003e\n    \u003cspan\u003edelay\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e2\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e  \u003cspan\u003e\/\/ Give time for more characters to arrive.\u003c\/span\u003e\n    \u003cspan\u003efor\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003ei\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e \u003cspan\u003ei\u003c\/span\u003e\u003cspan\u003e\u0026lt;\u003c\/span\u003e\u003cspan\u003e4\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e \u003cspan\u003ei\u003c\/span\u003e\u003cspan\u003e++\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e \u003cspan\u003ereadString\u003c\/span\u003e\u003cspan\u003e[\u003c\/span\u003e\u003cspan\u003ei\u003c\/span\u003e\u003cspan\u003e]\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e' '\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e  \u003cspan\u003e\/\/ Clear buffer\u003c\/span\u003e\n    \u003cspan\u003ewhile\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eavailable\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e  \u003cspan\u003e\/\/ Read what we get and put into the string array\u003c\/span\u003e\n    \u003cspan\u003e{\u003c\/span\u003e\n      \u003cspan\u003echar\u003c\/span\u003e \u003cspan\u003ec\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eread\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n      \u003cspan\u003ereadString\u003c\/span\u003e\u003cspan\u003e[\u003c\/span\u003e\u003cspan\u003eindex\u003c\/span\u003e\u003cspan\u003e]\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003ec\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n      \u003cspan\u003eindex\u003c\/span\u003e\u003cspan\u003e++\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n      \u003cspan\u003edelay\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e2\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n    \u003cspan\u003e}\u003c\/span\u003e\n    \u003cspan\u003ereadString\u003c\/span\u003e\u003cspan\u003e[\u003c\/span\u003e\u003cspan\u003e3\u003c\/span\u003e\u003cspan\u003e]\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e''\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e \u003cspan\u003e\/\/ Append null to end of string array to make it a valid string\u003c\/span\u003e\n    \u003cspan\u003eindex\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e0\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e            \u003cspan\u003e\/\/ Reset our index back to the start of the string\u003c\/span\u003e\n    \u003cspan\u003eif\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003ereadString\u003c\/span\u003e\u003cspan\u003e[\u003c\/span\u003e\u003cspan\u003eindex\u003c\/span\u003e\u003cspan\u003e]\u003c\/span\u003e \u003cspan\u003e==\u003c\/span\u003e \u003cspan\u003e'?'\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e   \u003cspan\u003e\/\/ ? means report our current speed setting and exit.\u003c\/span\u003e\n    \u003cspan\u003e{\u003c\/span\u003e\n      \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eprint\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e\"Current PWM Setting: \"\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n      \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eprintln\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003ePWM_Value\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n      \u003cspan\u003ebreak\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n    \u003cspan\u003e}\u003c\/span\u003e\n    \u003cspan\u003ePWM_Test_Value\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003eatoi\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003ereadString\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e  \u003cspan\u003e\/\/ Try to convert string into integer\u003c\/span\u003e\n    \u003cspan\u003e\/\/ We assume a 0 value is because of a non-valid input and ignore the command\u003c\/span\u003e\n    \u003cspan\u003eif\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003ePWM_Test_Value\u003c\/span\u003e\u003cspan\u003e!=\u003c\/span\u003e\u003cspan\u003e0\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e \u003cspan\u003e{\u003c\/span\u003e   \n      \u003cspan\u003eif\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003ePWM_Test_Value\u003c\/span\u003e \u003cspan\u003e\u0026gt;\u003c\/span\u003e \u003cspan\u003e255\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e \u003cspan\u003ePWM_Value\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e255\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e     \u003cspan\u003e\/\/ Cap WPM setting at 255\u003c\/span\u003e\n      \u003cspan\u003eelse\u003c\/span\u003e \u003cspan\u003ePWM_Value\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003ePWM_Test_Value\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n      \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eprintln\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003ePWM_Value\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e        \u003cspan\u003e\/\/ Echo what we end up with to confirm we got it\u003c\/span\u003e\n      \u003cspan\u003eanalogWrite\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eEN_PIN\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003ePWM_Value\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e   \u003cspan\u003e\/\/ Set new speed on PWM pin.\u003c\/span\u003e\n    \u003cspan\u003e}\u003c\/span\u003e\n    \u003cspan\u003ebreak\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \n  \u003cspan\u003edefault\u003c\/span\u003e\u003cspan\u003e:\u003c\/span\u003e\n    \u003cspan\u003ebreak\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cspan\u003e}\u003c\/span\u003e\n  \u003cspan\u003edelay\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e10\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n\u003cspan\u003e}\u003c\/span\u003e\n\u003cbutton class=\"copy-the-code-button\" data-style=\"svg-icon\" title=\"Copy\"\u003e\u003csvg aria-hidden=\"true\" role=\"img\" class=\"copy-icon\" viewbox=\"0 0 16 16\" width=\"16\" height=\"16\" fill=\"currentColor\" focusable=\"false\"\u003e\u003cpath d=\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/button\u003e\u003c\/pre\u003e\n\u003cp\u003e\u003cem\u003eNotes: \u003c\/em\u003e\u003c\/p\u003e\n\u003col\u003e\n\u003cli\u003e\u003ci\u003eNone\u003c\/i\u003e\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003chr\u003e\n\u003ch2\u003eTECHNICAL SPECIFICATIONS\u003c\/h2\u003e\n\u003ctable class=\"table table-hover\" width=\"703\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd width=\"145\"\u003e\u003cstrong\u003e Operational Ratings\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd width=\"264\"\u003eVcc2 (Motor)\u003c\/td\u003e\n\u003ctd width=\"229\"\u003e4.5-36V\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"145\"\u003e\u003c\/td\u003e\n\u003ctd width=\"264\"\u003eVcc1 (Internal Logic)\u003c\/td\u003e\n\u003ctd width=\"229\"\u003e5V\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"145\"\u003e\u003c\/td\u003e\n\u003ctd width=\"264\"\u003eMax Current\u003c\/td\u003e\n\u003ctd width=\"229\"\u003e600mA  (per channel)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"145\"\u003e\u003c\/td\u003e\n\u003ctd width=\"264\"\u003eMax Current  (non-repetitive)\u003c\/td\u003e\n\u003ctd width=\"229\"\u003e1.2A   (per Channel)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"145\"\u003e\u003c\/td\u003e\n\u003ctd width=\"264\"\u003eVcc1 Max Current\u003c\/td\u003e\n\u003ctd width=\"229\"\u003e60mA\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"145\"\u003e\u003cstrong\u003ePackage\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd width=\"264\"\u003e\u003c\/td\u003e\n\u003ctd width=\"229\"\u003eDIP-16\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"145\"\u003e\u003cstrong\u003ePackage Type\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd width=\"264\"\u003e\u003c\/td\u003e\n\u003ctd width=\"229\"\u003ePlastic, thru-hole\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"145\"\u003e\u003cstrong\u003eMfr\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd width=\"264\"\u003e\u003c\/td\u003e\n\u003ctd width=\"229\"\u003eTI \/ ST\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"145\"\u003e\u003cstrong\u003eDatasheet\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd width=\"264\"\u003e\u003c\/td\u003e\n\u003ctd width=\"229\"\u003e\u003ca href=\"http:\/\/www.ti.com\/lit\/ds\/symlink\/l293.pdf\" rel=\"noopener\" target=\"_blank\"\u003e\u003cspan\u003e\u003cstrong\u003eL293D\u003c\/strong\u003e\u003c\/span\u003e\u003c\/a\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c!----\u003e","brand":"Keszoox","offers":[{"title":"Default Title","offer_id":45674462970091,"sku":"","price":4.87,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0677\/1005\/8731\/files\/L293D-Motor-Driver-IC-1.jpg?v=1723007439"},{"product_id":"uln2003a-7-channel-darlington-driver","title":"ULN2003A 7-Channel Darlington Transistor Array IC DIP-16 — 500mA \/ 50V, Relay \u0026 Stepper Driver","description":"\u003ch2\u003eULN2003A — 7-Channel Darlington Transistor Array, DIP-16\u003c\/h2\u003e\u003cp\u003eThe \u003cstrong\u003eULN2003A\u003c\/strong\u003e is the world's most widely used driver IC for interfacing microcontrollers to high-current loads. Its 7 NPN Darlington channels each sink up to \u003cstrong\u003e500mA at 50V\u003c\/strong\u003e, with built-in flyback diodes on every output for inductive load protection. It is the standard driver for \u003cstrong\u003e28BYJ-48 stepper motors\u003c\/strong\u003e (the most popular Arduino stepper motor), relay boards, solenoids, and high-power LED arrays — all without external transistors or diodes.\u003c\/p\u003e\u003cp\u003eThe ULN2003A's inputs are directly compatible with 5V TTL and CMOS logic, making it a plug-and-play interface between Arduino GPIO pins and high-current loads. Its DIP-16 package is breadboard-compatible for easy prototyping.\u003c\/p\u003e\u003ch3\u003eKey Features\u003c\/h3\u003e\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003e7 independent Darlington channels\u003c\/strong\u003e — each rated 500mA @ 50V\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eBuilt-in flyback diodes\u003c\/strong\u003e on all outputs — relay and solenoid protection included\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e5V TTL\/CMOS compatible inputs\u003c\/strong\u003e — direct connection to Arduino, ESP32, Raspberry Pi GPIO\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eActive-low outputs\u003c\/strong\u003e — output sinks current when input is HIGH\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eStandard driver for 28BYJ-48 stepper motor\u003c\/strong\u003e\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eNo external components required\u003c\/strong\u003e for basic relay\/solenoid driving\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eDIP-16 package\u003c\/strong\u003e — breadboard and through-hole PCB compatible\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eRoHS compliant\u003c\/strong\u003e\u003c\/li\u003e\n\u003c\/ul\u003e\u003ch3\u003eTechnical Specifications\u003c\/h3\u003e\u003ctable\u003e\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eChannels\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003e7\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eOutput Voltage (max)\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003e50V\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eOutput Current (per channel)\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003e500mA continuous\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eInput Voltage (logic HIGH)\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003e2.4V – 5V (TTL\/CMOS compatible)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eFlyback Diodes\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003eBuilt-in on all 7 outputs\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eOutput Type\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003eOpen-collector (active-low sink)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003ePackage\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003eDIP-16 (through-hole)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eManufacturer\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003eTexas Instruments \/ STMicroelectronics \/ Toshiba\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\u003c\/table\u003e\u003ch3\u003eULN2003A vs ULN2803A\u003c\/h3\u003e\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eULN2003A (this):\u003c\/strong\u003e 7 channels, DIP-16 — standard for 28BYJ-48 stepper motors, 7-segment displays, 7-relay boards\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eULN2803A:\u003c\/strong\u003e 8 channels, DIP-18 — preferred for 8-relay boards and full-byte I\/O driving\u003c\/li\u003e\n\u003c\/ul\u003e\u003ch3\u003eTypical Applications\u003c\/h3\u003e\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003e28BYJ-48 stepper motor driver\u003c\/strong\u003e — the standard driver IC for this popular Arduino stepper\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eRelay board driver\u003c\/strong\u003e — drive 7 relays from a single IC with built-in flyback protection\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eSolenoid valve array\u003c\/strong\u003e — control 7 solenoids from Arduino or PLC output\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eHigh-power LED driver\u003c\/strong\u003e — drive 7 high-current LEDs or LED segments\u003c\/li\u003e\n\u003cli\u003e\u003cstrong\u003eCommon-anode 7-segment display digit driver\u003c\/strong\u003e\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eOutput expander\u003c\/strong\u003e — extend microcontroller I\/O to drive 7 high-current loads\u003c\/li\u003e\n\u003c\/ul\u003e\u003ch3\u003ePackage Contents\u003c\/h3\u003e\u003cul\u003e\u003cli\u003e1 × ULN2003A 7-Channel Darlington Array IC (DIP-16)\u003c\/li\u003e\u003c\/ul\u003e\u003cp\u003e\u003cem\u003e\u003ca href=\"https:\/\/www.ti.com\/lit\/ds\/symlink\/uln2003a.pdf\" target=\"_blank\" rel=\"noopener noreferrer\"\u003eULN2003A Datasheet (Texas Instruments PDF)\u003c\/a\u003e\u003c\/em\u003e\u003c\/p\u003e","brand":"Keszoox","offers":[{"title":"Default Title","offer_id":45674498392299,"sku":"","price":4.22,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0677\/1005\/8731\/files\/ULN2003-Darlington-Transistor-Array-1.jpg?v=1723007236"},{"product_id":"drv8825-high-current-stepper-motor-driver-module","title":"DRV8825 High Current Stepper Motor Driver Module","description":"\u003cp\u003e\u003cspan\u003eBi-polar stepper motor driver that can handle up to 2.2A\u003c\/span\u003e\u003c\/p\u003e\n\u003ch2\u003eDESCRIPTION\u003c\/h2\u003e\n\u003cp\u003eThe DRV8825 High Current Stepper Motor Driver Module can drive one bipolar stepper motor of up to 2.2A.\u003c\/p\u003e\n\u003ch2\u003ePACKAGE INCLUDES:\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDRV8825 High Current Stepper Motor Driver Module\u003c\/li\u003e\n\u003cli\u003eHeatsink with 3M double-stick adhesive applied.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch2\u003eKEY FEATURES OF DRV8825 HIGH CURRENT STEPPER MOTOR DRIVER MODULE:\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003e2.2A current handling capability\u003c\/li\u003e\n\u003cli\u003eSmall footprint\u003c\/li\u003e\n\u003cli\u003eEasy step and direction control interface\u003c\/li\u003e\n\u003cli\u003eSix different step resolutions: full-step, half-step, 1\/4-step, 1\/8-step, 1\/16-step, and 1\/32-step\u003c\/li\u003e\n\u003cli\u003eAdjustable current control lets you set the maximum current output with a built-in potentiometer. That allows you to use voltages above your stepper motor’s rated voltage to achieve higher step rates\u003c\/li\u003e\n\u003cli\u003eAdjustable current decay modes.\u003c\/li\u003e\n\u003cli\u003eBuilt-in regulator so no external logic voltage supply is needed\u003c\/li\u003e\n\u003cli\u003eCan interface directly with 3.3 V and 5 V systems\u003c\/li\u003e\n\u003cli\u003eOver-temperature shutdown, over-current shutdown, and under-voltage lockout with FAULT pin output\u003c\/li\u003e\n\u003cli\u003eShort-to-ground and shorted-load protection\u003c\/li\u003e\n\u003cli\u003eExposed solderable ground pad below the driver IC on the bottom of the PCB can be used to enhance the cooling if desired.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eThe DRV8825 stepper motor driver can drive one bipolar stepper motor at up to  2.2A with adequate cooling.    The module can easily handle 1.5A with no heatsink.  A small heatsink is included and with a little air flow, it can handle up to the full 2.2A.  Note that the driver IC can handle up to 2.5A, but the 0.1 ohm current sense resistors limit the output to 2.2A.\u003c\/p\u003e\n\u003cp\u003eIt is packaged onto a small board with male headers installed in a wide DIP-16 footprint that makes it breadboard compatible or it can be mounted into a socket.  These are often used for precision control of stepper motors used in applications such as 3D printers or robotics.\u003c\/p\u003e\n\u003ch3\u003ePower Connections:\u003c\/h3\u003e\n\u003cp\u003eThe module operates at a voltage of from 8.2 to 45V.   Power is connected across the VMOT (Voltage Motor) pin and ground.  Note that though the driver operates at these voltages, stepper motors rated at lower voltages can be driven as long as the current limit is set for the motor that is being driven.\u003c\/p\u003e\n\u003cp\u003eIt is recommended that an electrolytic cap of 100uF or so size be placed across the VMOT and ground close to the module.  This becomes more important as the wiring form the driver to the motor increases in length. This is to help protect against LC induced voltage spikes that can exceed the 45V rating of the IC and cause damage.\u003c\/p\u003e\n\u003ch3\u003eMotor Connections:\u003c\/h3\u003e\n\u003cp\u003eThese are primarily designed to drive bipolar stepper motors with 4 wires.  In this case, one winding is connected across the 1A \u0026amp; 2A connections and the other winding is connected across the 1B \u0026amp; 2B connections.\u003c\/p\u003e\n\u003ch3\u003eCurrent Limit Adjustment:\u003c\/h3\u003e\n\u003cp\u003eThe module has active current limiting.  This allows the module to drive the motor at higher then rated voltages to achieve high step rates.\u003c\/p\u003e\n\u003cp\u003eThere is a trimmer potentiometer on the board which is used to set the current limit.  You will typically set the drivers current limit to be at or lower than the current rating of the motor.\u003c\/p\u003e\n\u003cp\u003eTo set the current limit, you measure the reference voltage and adjust it using the formula\u003cspan\u003e \u003c\/span\u003e\u003cstrong\u003e\u003cem\u003eCurrent Limit = VREF x 2\u003c\/em\u003e\u003c\/strong\u003e.  As an example, if your motor is rated for 1.2A, you would adjust the reference voltage to 0.6V if you wanted to have maximum current.\u003c\/p\u003e\n\u003cp\u003eThe reference voltage can be measured on the metal trimmer pot itself or on the two IC pins near the pot that look like they have a solder bridge.  One easy way to make the adjustment is to use an alligator clip on the shaft of a small metallic screwdriver and attach that to your DVM so you can both probe and adjust the voltage at the same time with the screwdriver.\u003c\/p\u003e\n\u003cp\u003eTo make the adjustment, you should have the motor connected and operating in full step mode.\u003c\/p\u003e\n\u003cp\u003e\u003cem\u003eNote that the motor coil current will be very different from the power supply current.  Typically the power supply voltage will be higher and the current lower than the voltage and current delivered to the motor coils, so you should not use the current measured at the power supply to make this adjustment.\u003c\/em\u003e\u003c\/p\u003e\n\u003ch3\u003eStep Size:\u003c\/h3\u003e\n\u003cp\u003eStepper motors have a set step size which is typically 1.8 degrees (200 steps per full revolution).  Microstepping drivers such as the DRV8825 allows for higher resolutions by allowing intermediate step movements.  This is achieved by energizing the coils with intermediate current levels.  For example, driving a motor in 1\/4 step mode will give a 200 step-per-revolution motor an 800 step resolution instead.\u003c\/p\u003e\n\u003cp\u003eThe step size is selected using the mode selector inputs (MODE 0, MODE 1, MODE 2) as shown in the table below.  These inputs have 100K pull-down resistors, so if they are left unconnected the driver operates in Full Step mode by default.\u003c\/p\u003e\n\u003cp\u003eIf microstepping is desired, the MODE inputs can be pulled high using a 10K or similar resistor if a fixed microstepping mode is being used or they can be dynamically driven using output pins on the microcontroller so that they modes can be changed on -the-fly.\u003c\/p\u003e\n\u003cp\u003eThe table below shows the microstepping modes that are available.\u003c\/p\u003e\n\u003ctable class=\"table table-hover\" width=\"739\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd width=\"160\"\u003e\u003cstrong\u003eMODE 0\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd width=\"160\"\u003e\u003cstrong\u003eMODE 1\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd width=\"160\"\u003e\u003cstrong\u003eMODE 2\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd width=\"160\"\u003e\u003cstrong\u003eMicrostep Resolution\u003c\/strong\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"160\"\u003e0\u003c\/td\u003e\n\u003ctd width=\"160\"\u003e0\u003c\/td\u003e\n\u003ctd width=\"160\"\u003e0\u003c\/td\u003e\n\u003ctd width=\"160\"\u003eFull Step (default)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"160\"\u003e1\u003c\/td\u003e\n\u003ctd width=\"160\"\u003e0\u003c\/td\u003e\n\u003ctd width=\"160\"\u003e0\u003c\/td\u003e\n\u003ctd width=\"160\"\u003eHalf Step\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"160\"\u003e0\u003c\/td\u003e\n\u003ctd width=\"160\"\u003e1\u003c\/td\u003e\n\u003ctd width=\"160\"\u003e0\u003c\/td\u003e\n\u003ctd width=\"160\"\u003e1\/4 Step\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"160\"\u003e1\u003c\/td\u003e\n\u003ctd width=\"160\"\u003e1\u003c\/td\u003e\n\u003ctd width=\"160\"\u003e0\u003c\/td\u003e\n\u003ctd width=\"160\"\u003e1\/8 Step\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"160\"\u003e0\u003c\/td\u003e\n\u003ctd width=\"160\"\u003e0\u003c\/td\u003e\n\u003ctd width=\"160\"\u003e1\u003c\/td\u003e\n\u003ctd width=\"160\"\u003e1\/16 Step\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"160\"\u003e1\u003c\/td\u003e\n\u003ctd width=\"160\"\u003e0\u003c\/td\u003e\n\u003ctd width=\"160\"\u003e1\u003c\/td\u003e\n\u003ctd width=\"160\"\u003e1\/32 Step\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"160\"\u003e0\u003c\/td\u003e\n\u003ctd width=\"160\"\u003e1\u003c\/td\u003e\n\u003ctd width=\"160\"\u003e1\u003c\/td\u003e\n\u003ctd width=\"160\"\u003e1\/32 Step\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"160\"\u003e1\u003c\/td\u003e\n\u003ctd width=\"160\"\u003e1\u003c\/td\u003e\n\u003ctd width=\"160\"\u003e1\u003c\/td\u003e\n\u003ctd width=\"160\"\u003e1\/32 Step\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp\u003eThere are 16 pins available on the module as shown below:\u003c\/p\u003e\n\u003cp\u003e\u003cimg decoding=\"async\" class=\"aligncenter wp-image-4886 size-full entered lazyloaded\" src=\"https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/04\/DRV8825-Pinout-2.jpg\" alt=\"DRV8825 Module Pin-out\" width=\"800\" height=\"450\" data-lazy-srcset=\"https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/04\/DRV8825-Pinout-2.jpg 800w, https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/04\/DRV8825-Pinout-2-400x225.jpg 400w, https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/04\/DRV8825-Pinout-2-300x169.jpg 300w, https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/04\/DRV8825-Pinout-2-768x432.jpg 768w, https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/04\/DRV8825-Pinout-2-280x158.jpg 280w\" data-lazy-sizes=\"(max-width: 800px) 100vw, 800px\" data-lazy-src=\"https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/04\/DRV8825-Pinout-2.jpg\" data-ll-status=\"loaded\" sizes=\"(max-width: 800px) 100vw, 800px\" srcset=\"https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/04\/DRV8825-Pinout-2.jpg 800w, https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/04\/DRV8825-Pinout-2-400x225.jpg 400w, https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/04\/DRV8825-Pinout-2-300x169.jpg 300w, https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/04\/DRV8825-Pinout-2-768x432.jpg 768w, https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/04\/DRV8825-Pinout-2-280x158.jpg 280w\"\u003e\u003c\/p\u003e\n\u003ch2\u003eOUR EVALUATION RESULTS:\u003c\/h2\u003e\n\u003cp\u003e\u003ca href=\"https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/04\/DRV8825-Driver-Minimal-Setup.jpg\"\u003e\u003cimg decoding=\"async\" class=\"alignright wp-image-4883 entered lazyloaded\" src=\"https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/04\/DRV8825-Driver-Minimal-Setup.jpg\" alt=\"DRV8825 Driver Minimal Setup Schematic\" width=\"400\" height=\"300\" data-lazy-srcset=\"https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/04\/DRV8825-Driver-Minimal-Setup.jpg 800w, https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/04\/DRV8825-Driver-Minimal-Setup-400x300.jpg 400w, https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/04\/DRV8825-Driver-Minimal-Setup-300x225.jpg 300w, https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/04\/DRV8825-Driver-Minimal-Setup-768x576.jpg 768w, https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/04\/DRV8825-Driver-Minimal-Setup-249x187.jpg 249w\" data-lazy-sizes=\"(max-width: 400px) 100vw, 400px\" data-lazy-src=\"https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/04\/DRV8825-Driver-Minimal-Setup.jpg\" data-ll-status=\"loaded\" sizes=\"(max-width: 400px) 100vw, 400px\" srcset=\"https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/04\/DRV8825-Driver-Minimal-Setup.jpg 800w, https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/04\/DRV8825-Driver-Minimal-Setup-400x300.jpg 400w, https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/04\/DRV8825-Driver-Minimal-Setup-300x225.jpg 300w, https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/04\/DRV8825-Driver-Minimal-Setup-768x576.jpg 768w, https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/04\/DRV8825-Driver-Minimal-Setup-249x187.jpg 249w\"\u003e\u003c\/a\u003e\u003c\/p\u003e\n\u003cp\u003eThese stepper motor drivers pack a lot in a small package.  They work great with our 1.2A stepper motors and will work well with any bipolar stepper motors up to their current limit of 2.2A.\u003c\/p\u003e\n\u003cp\u003eWhen using with an Arduino, the\u003cspan\u003e \u003c\/span\u003e\u003ca href=\"https:\/\/github.com\/laurb9\/StepperDriver\" rel=\"noopener noreferrer\" target=\"_blank\"\u003e\u003cstrong\u003eBasicStepperDriver.h\u003c\/strong\u003e\u003c\/a\u003e\u003cspan\u003e \u003c\/span\u003elibrary can be downloaded from GitHub which provides control for the DRV8825 and similar stepper drivers and is used in our program below.\u003c\/p\u003e\n\u003cp\u003eThe program below is a simple test program.  It uses the module in the minimal hardware mode using just the DIR and STEP pins with the micro-stepping set to the default of full step as shown in the drawing to the right.\u003c\/p\u003e\n\u003cp\u003eIt moves the stepper in one direction for 5 rotations, rotates in the reverse direction for 1 rotation and then rotates for one rotation in discrete individual full steps. Ensure that the RST and SLP pins are pulled up to Vcc on the Arduino.  Also ensure that the current limiting has been adjusted for the motor you are using.\u003c\/p\u003e\n\u003ch3\u003eDRV8825 Stepper Motor Driver Module Program\u003c\/h3\u003e\n\u003cpre class=\"copy-the-code-target\"\u003e\u003cspan\u003e\/*\u003c\/span\u003e\n\u003cspan\u003e * Exercise the DRV8825 Stepper Motor Driver Module\u003c\/span\u003e\n\u003cspan\u003e *\u003c\/span\u003e\n\u003cspan\u003e * This uses the minimal setup configuraiton with DIR connected to pin 8 and \u003c\/span\u003e\n\u003cspan\u003e * STEP connected to pin 9.\u003c\/span\u003e\n\u003cspan\u003e *\u003c\/span\u003e\n\u003cspan\u003e * The \/Reset and \/Sleep pins need to be pulled up to VCC\u003c\/span\u003e\n\u003cspan\u003e * Step size is left at default of Full Step\u003c\/span\u003e\n\u003cspan\u003e * This uses the BasicStepperDriver.h library which can be downloaded at GitHub\u003c\/span\u003e\n\u003cspan\u003e *\/\u003c\/span\u003e\n\u003cspan\u003e#include\u003c\/span\u003e \u003cspan\u003e\u0026lt;\u003c\/span\u003e\u003cspan\u003eArduino\u003c\/span\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eh\u003c\/span\u003e\u003cspan\u003e\u0026gt;\u003c\/span\u003e\n\u003cspan\u003e#include\u003c\/span\u003e \u003cspan\u003e\"BasicStepperDriver.h\"\u003c\/span\u003e\n\n\u003cspan\u003e\/\/ Motor steps per revolution. Most steppers are 200 steps or 1.8 degrees\/step\u003c\/span\u003e\n\u003cspan\u003econst\u003c\/span\u003e \u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003eMOTOR_STEPS\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e200\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n\u003cspan\u003e\/\/ Set speed of rotation\u003c\/span\u003e\n\u003cspan\u003econst\u003c\/span\u003e \u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003eRPM\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e120\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n\n\u003cspan\u003e\/\/ Using default step size. 1=full step, 2=half step, etc.\u003c\/span\u003e\n\u003cspan\u003econst\u003c\/span\u003e \u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003eMICROSTEPS\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e1\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n\n\u003cspan\u003e\/\/ Define Arduino pins usedUses default full step\u003c\/span\u003e\n\u003cspan\u003econst\u003c\/span\u003e \u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003eDIR_PIN\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e8\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n\u003cspan\u003econst\u003c\/span\u003e \u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003eSTEP_PIN\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e9\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n\n\u003cspan\u003e\/\/ Create stepper object in 2-wire basic configuration.  \u003c\/span\u003e\n\u003cb\u003e\u003cspan\u003eBasicStepperDriver\u003c\/span\u003e\u003c\/b\u003e \u003cspan\u003estepper\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eMOTOR_STEPS\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eDIR_PIN\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eSTEP_PIN\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n\n\u003cspan\u003e\/\/===============================================================================\u003c\/span\u003e\n\u003cspan\u003e\/\/  Initialization\u003c\/span\u003e\n\u003cspan\u003e\/\/===============================================================================\u003c\/span\u003e\n\u003cspan\u003evoid\u003c\/span\u003e \u003cspan\u003esetup\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e \u003cspan\u003e{\u003c\/span\u003e\n    \u003cspan\u003estepper\u003c\/span\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003ebegin\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eRPM\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eMICROSTEPS\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e  \u003cspan\u003e\/\/ Uses default full step mode\u003c\/span\u003e\n\u003cspan\u003e}\u003c\/span\u003e\n\u003cspan\u003e\/\/===============================================================================\u003c\/span\u003e\n\u003cspan\u003e\/\/  Main\u003c\/span\u003e\n\u003cspan\u003e\/\/===============================================================================\u003c\/span\u003e\n\u003cspan\u003evoid\u003c\/span\u003e \u003cspan\u003eloop\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e \u003cspan\u003e{\u003c\/span\u003e\n   \u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003ei\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n     \u003cspan\u003efor\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003ei\u003c\/span\u003e\u003cspan\u003e=\u003c\/span\u003e\u003cspan\u003e0\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e \u003cspan\u003ei\u003c\/span\u003e\u003cspan\u003e\u0026lt;\u003c\/span\u003e\u003cspan\u003e5\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e \u003cspan\u003ei\u003c\/span\u003e\u003cspan\u003e++\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e \u003cspan\u003estepper\u003c\/span\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003erotate\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e360\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e  \u003cspan\u003e\/\/ 360 = degrees rotation\u003c\/span\u003e\n\n    \u003cspan\u003estepper\u003c\/span\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003erotate\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e-\u003c\/span\u003e\u003cspan\u003e360\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e   \u003cspan\u003e\/\/ Rotate once in opposite direction\u003c\/span\u003e\n\n    \u003cspan\u003efor\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003ei\u003c\/span\u003e\u003cspan\u003e=\u003c\/span\u003e\u003cspan\u003e0\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e \u003cspan\u003ei\u003c\/span\u003e\u003cspan\u003e\u0026lt;\u003c\/span\u003e\u003cspan\u003e200\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e \u003cspan\u003ei\u003c\/span\u003e\u003cspan\u003e++\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e{\u003c\/span\u003e \u003cspan\u003e\/\/ Rotate 1 step at a time, pause between steps\u003c\/span\u003e\n      \u003cspan\u003estepper\u003c\/span\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003emove\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e1\u003c\/span\u003e \u003cspan\u003e*\u003c\/span\u003e \u003cspan\u003eMICROSTEPS\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e \u003cspan\u003e\/\/ Steps are full steps\u003c\/span\u003e\n      \u003cspan\u003edelay\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e25\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n    \u003cspan\u003e}\u003c\/span\u003e\n    \u003cspan\u003edelay\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e1000\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n\u003cspan\u003e}\u003c\/span\u003e\n\n\u003cbutton class=\"copy-the-code-button\" data-style=\"svg-icon\" title=\"Copy\"\u003e\u003csvg aria-hidden=\"true\" role=\"img\" class=\"copy-icon\" viewbox=\"0 0 16 16\" width=\"16\" height=\"16\" fill=\"currentColor\" focusable=\"false\"\u003e\u003cpath d=\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/button\u003e\u003c\/pre\u003e\n\u003ch2\u003eBEFORE THEY ARE SHIPPED, THESE MODULES ARE:\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSample inspected and tested per incoming shipment.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cem\u003eNotes: \u003c\/em\u003e\u003c\/p\u003e\n\u003col\u003e\n\u003cli\u003e\u003ci\u003eNone\u003c\/i\u003e\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003chr\u003e\n\u003ch2\u003eTECHNICAL SPECIFICATIONS\u003c\/h2\u003e\n\u003ctable class=\"table table-hover\" width=\"755\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd width=\"145\"\u003e Model\u003c\/td\u003e\n\u003ctd width=\"264\"\u003e Driver IC\u003c\/td\u003e\n\u003ctd width=\"229\"\u003eDRV8825\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"145\"\u003e Operating Ratings\u003c\/td\u003e\n\u003ctd width=\"264\"\u003e\u003c\/td\u003e\n\u003ctd width=\"229\"\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"145\"\u003e\u003c\/td\u003e\n\u003ctd width=\"264\"\u003e Voltage\u003c\/td\u003e\n\u003ctd width=\"229\"\u003e8.2 – 45VDC\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"145\"\u003e\u003c\/td\u003e\n\u003ctd width=\"264\"\u003e Current per phase (Max w\/o heatsink)\u003c\/td\u003e\n\u003ctd width=\"229\"\u003e1.5A\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"145\"\u003e\u003c\/td\u003e\n\u003ctd width=\"264\"\u003e Current per phase (Max with heatsink)\u003c\/td\u003e\n\u003ctd width=\"229\"\u003e2.2A\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"145\"\u003e\u003c\/td\u003e\n\u003ctd width=\"264\"\u003e Microstep resolutions\u003c\/td\u003e\n\u003ctd width=\"229\"\u003eFull, 1\/2, 1\/4, 1\/8, 1\/16, 1\/32\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"145\"\u003e Dimensions\u003c\/td\u003e\n\u003ctd width=\"264\"\u003e\u003c\/td\u003e\n\u003ctd width=\"229\"\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"145\"\u003e\u003c\/td\u003e\n\u003ctd width=\"264\"\u003eDriver Board (L x W)\u003c\/td\u003e\n\u003ctd width=\"229\"\u003e20 x 15mm (0.8 x 0.6″)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"145\"\u003e Datasheets\u003c\/td\u003e\n\u003ctd width=\"264\"\u003e\u003c\/td\u003e\n\u003ctd width=\"229\"\u003e\u003cspan\u003e\u003ca href=\"http:\/\/www.ti.com\/lit\/ds\/symlink\/drv8825.pdf\" rel=\"noopener noreferrer\" target=\"_blank\"\u003e\u003cstrong\u003eDRV8825 Driver\u003c\/strong\u003e\u003c\/a\u003e\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c!----\u003e","brand":"Keszoox","offers":[{"title":"Default Title","offer_id":45681535320299,"sku":"","price":8.72,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0677\/1005\/8731\/files\/DRV8825-Stepper-Motor-Driver-2.jpg?v=1723005657"},{"product_id":"l298n-dual-h-bridge-motor-control-module","title":"L298N Dual H-Bridge Motor Control Module","description":"\u003cp\u003e\u003cspan\u003eMotor control module can drive 2 DC motors or 1 stepper motor at up to 2A.\u003c\/span\u003e\u003c\/p\u003e\n\u003ch2\u003eDESCRIPTION\u003c\/h2\u003e\n\u003cp\u003eThe L298N Dual H-Bridge Motor Control Module can  be used to control 2 DC motors or 1 stepper motor at 2A continuous current per channel.\u003c\/p\u003e\n\u003ch2\u003ePACKAGE INCLUDES:\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003eL298N Dual H-Bridge Motor Control Module\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch2\u003eKEY FEATURES OF L298N DUAL H-BRIDGE MOTOR CONTROL MODULE:\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrive 2 DC motors with speed and direction control\u003c\/li\u003e\n\u003cli\u003eDrive 1 stepper motor\u003c\/li\u003e\n\u003cli\u003e5 – 35V motor voltage range\u003c\/li\u003e\n\u003cli\u003e2.5A peak current per channel (2A continuous)\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eThe module can handle up to 2.5A peak per bridge or 2A continuous and 25W total power.\u003c\/p\u003e\n\u003cp\u003eL298N modules do not have built-in current limiting, so they are best suited for DC motor control rather than stepper control, so that is what we are going to focus on here.\u003c\/p\u003e\n\u003cp\u003eWhen used with DC motors, the H-Bridge drive arrangement allows the direction of the rotation of the motors to be changed.  In addition PWM can be used to control the speed of the motors.  This gives full control over the DC motors.\u003c\/p\u003e\n\u003cp\u003ePWM stands for Pulse Width Modulation which means that the duty cycle (signal HIGH vs signal LOW) of the waveform can be changed.  As the duty cycle is changed, the average DC voltage as seen by the motors also changes which changes the speed at which the motor turns.  Motors require a minimum amount of voltage to start turning, so low PWM values may not move the motors but you may be able to hear the motors humming.\u003c\/p\u003e\n\u003ch3\u003eInput Power:\u003c\/h3\u003e\n\u003cp\u003eThe module has a Vcc input terminal and a 5V terminal which can either be an input or an output.  The module can be powered either by inputting 7 to 35V on the Vcc terminal or by inputting 5V on the 5V terminal.\u003c\/p\u003e\n\u003cp\u003eThere is a power button on the module that enables the Vcc input.  When Vcc is enabled a red LED will light.  If instead, you use the 5V power input, the switch is bypassed and the board will always be powered.\u003c\/p\u003e\n\u003cp\u003eThe Vcc input  feeds a built-in 5V regulator which is used by the L298N chip.  If the input voltage is in the range of 7 – 12VDC, there will be 5V available at the 5V terminal that  can be used to power an Arduino or other 5V logic.  The built-in 5V regulator can handle up to 400mA maximum.  If Vcc is higher than 12VDC, it is not recommended to use the built-in 5V to power other devices to avoid possible overheating of the 5V regulator.\u003c\/p\u003e\n\u003cp\u003eUsing the Vcc input with a voltage between 7-12V gives the most flexibility when using this module and is the recommended mode to use.\u003c\/p\u003e\n\u003cp\u003e\u003cem\u003eNOTE:  You cannot input voltages on both the Vcc and 5V terminals at the same time or damage may result.\u003c\/em\u003e\u003c\/p\u003e\n\u003ch3\u003eControl Inputs:\u003c\/h3\u003e\n\u003cp\u003eThe ENA \u0026amp; ENB pins are the enable pins for the 2 H-Bridge motor controllers in the L298N and are active HIGH.  As shipped, these pins are jumpered to 5V (HIGH) which means they are constantly enabled.  These jumpers are left on when using the module with a stepper motor.  If using the module with DC motors they can be left on if it is always desired to run the motors at full speed.  The motors can be stopped, run in fast forward or in fast reverse.  Normally speed control is required so the jumpers are removed and the ENA \/ ENB pins are connected to PWM pins on the microcontroller to enact speed control over the motors using Pulse Width Modulation (PWM).\u003c\/p\u003e\n\u003cp\u003eThe drivers can each handle up to 2A.  If the motors are on the smaller side such as is used on our Smart Car Chassis, two can be easily driven by each of the two drivers.  This can be handy when using with a 4 wheel drive vehicle since you normally want both motors on the same side of the vehicle to be turning in unison anyway and that way one L298N module can be used to drive all 4 wheels.\u003c\/p\u003e\n\u003cp\u003eThe IN1, IN2, IN3 and IN4 are control pins that determine the configuration of the two H-Bridges in the device.  The IN1 \/ IN2 pins control the ‘A’ motor bridge and the IN3 \/ IN4 pins control the ‘B’ motor bridge.    The H-Bridge is what controls the direction that the motor turns as shown in the chart below.  It can also be used for on\/off control of desired, but normally the ENA \/ ENB enable lines are used for that purpose.  There are green status LEDs on the IN1-4 lines near the motor terminal connections.  When the control pins are HIGH, the associated LEDs are brightly lit.  When they are LOW, the LEDs may either be off or dimly lit.\u003cbr\u003e\u003c\/p\u003e\n\u003ctable class=\"table table-bordered\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd width=\"213\"\u003e\u003c\/td\u003e\n\u003ctd width=\"213\"\u003eIN1 \/ (IN3)\u003c\/td\u003e\n\u003ctd width=\"213\"\u003eIN2 \/ (IN4)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"213\"\u003eForward Direction\u003c\/td\u003e\n\u003ctd width=\"213\"\u003eHIGH\u003c\/td\u003e\n\u003ctd width=\"213\"\u003eLOW\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"213\"\u003eReverse Direction\u003c\/td\u003e\n\u003ctd width=\"213\"\u003eLOW\u003c\/td\u003e\n\u003ctd width=\"213\"\u003eHIGH\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"213\"\u003eStopped\u003c\/td\u003e\n\u003ctd width=\"213\"\u003eLOW\u003c\/td\u003e\n\u003ctd width=\"213\"\u003eLOW\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"213\"\u003eStopped\u003c\/td\u003e\n\u003ctd width=\"213\"\u003eHIGH\u003c\/td\u003e\n\u003ctd width=\"213\"\u003eHIGH\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp\u003eNote that the direction that the motors turn (forward vs reverse) with the above commands depends on how the ‘+’ and ‘-‘ leads of  the motors are wired to the module.  If they are turning backwards from what is expected, reverse the motor leads at the module.\u003c\/p\u003e\n\u003ch3\u003eModule Connections:\u003c\/h3\u003e\n\u003cp\u003e\u003cstrong\u003e2 x 4 Header\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eIN1\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e– Digital input for Motor A – Connect to a digital output pin on the microcontroller.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eIN2\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e– Digital input for Motor A – Connect to a digital output pin on the microcontroller.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eIN3\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e– Digital input for Motor B – Connect to a digital output pin on the microcontroller.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eIN4\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e– Digital input for Motor B – Connect to a digital output pin on the microcontroller.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eENA\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e– Enable for motor A, active HIGH.   Remove jumper and connect to PWM pin on microcontroller if using speed control.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e5V\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e– Used to jumper ENA to HIGH\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e5V\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e– Used to jumper ENB to HIGH\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eENB\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e– Enable for motor B, active HIGH.  Remove jumper and connect to PWM pin on microcontroller if using speed control.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cstrong\u003e1 x 3 Terminal\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eVCC\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e– Main power input.  Can be 7-35V.  7-12V recommended.  This is the voltage that is applied to the motor minus a 2V drop through the L298N driver.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eGND\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e– System ground.   Must be in common with the MCU  ground.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e5V\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e– Input\/output.  Can input 5V if Vcc input is not used.  If Vcc of 7-12V is input, 5V is available on this terminal to power other logic devices such as an Arduino.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cstrong\u003e1 x 2 Terminal (Motor A)\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eOUT1\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e– Motor A ‘+’ positive lead\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eOUT2\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e– Motor A ‘-‘ negative lead\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cstrong\u003e1 x 2 Terminal (Motor B)\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eOUT3\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e– Motor A ‘+’ positive lead\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eOUT4\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e– Motor A ‘-‘ negative lead\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch2\u003eOUR EVALUATION RESULTS:\u003c\/h2\u003e\n\u003cp\u003eThese modules work well and are straightforward to use.  The logic is easy enough that a library is not needed to implement the software to control them.\u003ca href=\"https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/02\/L298N-Dual-H-Bridge-Motor-Control-Module-Testing.jpg\"\u003e\u003cimg decoding=\"async\" class=\"alignright size-medium wp-image-10470 entered lazyloaded\" alt=\"L298N Dual H-Bridge Motor Control Module - Testing\" width=\"300\" height=\"225\" data-lazy-srcset=\"https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/02\/L298N-Dual-H-Bridge-Motor-Control-Module-Testing-300x225.jpg 300w, https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/02\/L298N-Dual-H-Bridge-Motor-Control-Module-Testing-768x576.jpg 768w, https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/02\/L298N-Dual-H-Bridge-Motor-Control-Module-Testing-249x187.jpg 249w, https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/02\/L298N-Dual-H-Bridge-Motor-Control-Module-Testing-400x300.jpg 400w, https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/02\/L298N-Dual-H-Bridge-Motor-Control-Module-Testing.jpg 800w\" data-lazy-sizes=\"(max-width: 300px) 100vw, 300px\" data-lazy-src=\"https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/02\/L298N-Dual-H-Bridge-Motor-Control-Module-Testing-300x225.jpg\" src=\"https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/02\/L298N-Dual-H-Bridge-Motor-Control-Module-Testing-300x225.jpg\" data-ll-status=\"loaded\" sizes=\"(max-width: 300px) 100vw, 300px\" srcset=\"https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/02\/L298N-Dual-H-Bridge-Motor-Control-Module-Testing-300x225.jpg 300w, https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/02\/L298N-Dual-H-Bridge-Motor-Control-Module-Testing-768x576.jpg 768w, https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/02\/L298N-Dual-H-Bridge-Motor-Control-Module-Testing-249x187.jpg 249w, https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/02\/L298N-Dual-H-Bridge-Motor-Control-Module-Testing-400x300.jpg 400w, https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/02\/L298N-Dual-H-Bridge-Motor-Control-Module-Testing.jpg 800w\"\u003e\u003c\/a\u003e\u003c\/p\u003e\n\u003cp\u003eThe program below is a simple program to illustrate the control of DC motors.  It moves the motors through a repeating sequence of running them both forward, then backwards, then in  opposite directions.  It then ramps the motor speed up and then back down in both forwards and reverse directions.\u003c\/p\u003e\n\u003cp\u003eThe IN1-4 digital pins can be connected to any digital pins that are available on the MCU.  The ENA and ENB pins must be connected to PWM pins as we will use them for speed control.  The default program settings are as follows:\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eENA – Pin 10 (must be PWM capable)\u003c\/li\u003e\n\u003cli\u003eIN1 – Pin 9\u003c\/li\u003e\n\u003cli\u003eIN2 – Pin 8\u003c\/li\u003e\n\u003cli\u003eENB – Pin5 (must be PWM capable)\u003c\/li\u003e\n\u003cli\u003eIN3 – Pin 7\u003c\/li\u003e\n\u003cli\u003eIN4 – Pin 6\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eYou will also need a common ground between the MCU and the motor controller ground terminal.\u003c\/p\u003e\n\u003cp\u003eAll of the low level motor control is done in a function called Motor.  The Motor function takes the following inputs:\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003emot\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e= Motor to control.  This can be ‘A’ for motor A or ‘B’ for motor B or ‘C’ to control both.  Note that the single quotes are needed to denote that we are passing type char\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003edir\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e= Direction of motor.  This can be ‘F’ for forward or ‘R’ for reverse.  Again, but sure to use the single quotes.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003espeed\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e= Speed of motor.  The value passed to the function is expressed in a range of 0-100%.  That value is remapped to 0-255 for PWM control.  The remapping ignores speed values that are too low to make the motors turn using the constant MIN_SPEED which in our example is set to 27, but 0 still means 0 to stop the motors.  The optimum MIN_SPEED value for a particular setup will depend on the motors being used and the voltage at which they are being powered and is best determined experimentally.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eL298N Dual H-Bridge Motor Control Module Example Program\u003c\/h3\u003e\n\u003cpre class=\"copy-the-code-target\"\u003e\u003cspan\u003e\/*\u003c\/span\u003e\n\u003cspan\u003e*  L298N Dual H-Bridge Test - DC Motors\u003c\/span\u003e\n\u003cspan\u003e*  Code for exercising the L298N Motor Control module.\u003c\/span\u003e\n\u003cspan\u003e*  The low level motor control logic is kept in the function 'Motor'\u003c\/span\u003e\n\u003cspan\u003e*\/\u003c\/span\u003e\n\u003cspan\u003e\/\/  IN1-4 can be connected to any digital pins on microcontroller\u003c\/span\u003e\n\u003cspan\u003e\/\/  ENA and ENB must be connected to PWM pins.\u003c\/span\u003e\n\u003cspan\u003e\/\/  Motor A\u003c\/span\u003e\n\u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003econst\u003c\/span\u003e \u003cspan\u003eENA\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e10\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e  \u003cspan\u003e\/\/ Must be PWM pin\u003c\/span\u003e\n\u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003econst\u003c\/span\u003e \u003cspan\u003eIN1\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e9\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n\u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003econst\u003c\/span\u003e \u003cspan\u003eIN2\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e8\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n\u003cspan\u003e\/\/  Motor B\u003c\/span\u003e\n\u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003econst\u003c\/span\u003e \u003cspan\u003eENB\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e5\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e  \u003cspan\u003e\/\/ Must be PWM pin\u003c\/span\u003e\n\u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003econst\u003c\/span\u003e \u003cspan\u003eIN3\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e7\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n\u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003econst\u003c\/span\u003e \u003cspan\u003eIN4\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e6\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n\n\u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003econst\u003c\/span\u003e \u003cspan\u003eMIN_SPEED\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e27\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e   \u003cspan\u003e\/\/ Set to minimum PWM value that will make motors turn\u003c\/span\u003e\n\u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003econst\u003c\/span\u003e \u003cspan\u003eACCEL_DELAY\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e50\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e \u003cspan\u003e\/\/ delay between steps when ramping motor speed up or down.\u003c\/span\u003e\n\u003cspan\u003e\/\/===============================================================================\u003c\/span\u003e\n\u003cspan\u003e\/\/  Initialization\u003c\/span\u003e\n\u003cspan\u003e\/\/===============================================================================\u003c\/span\u003e\n\u003cspan\u003evoid\u003c\/span\u003e \u003cspan\u003esetup\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\n\u003cspan\u003e{\u003c\/span\u003e\n  \u003cspan\u003epinMode\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eENA\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eOUTPUT\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e   \u003cspan\u003e\/\/ set all the motor control pins to outputs\u003c\/span\u003e\n  \u003cspan\u003epinMode\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eENB\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eOUTPUT\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cspan\u003epinMode\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eIN1\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eOUTPUT\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cspan\u003epinMode\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eIN2\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eOUTPUT\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cspan\u003epinMode\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eIN3\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eOUTPUT\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cspan\u003epinMode\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eIN4\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eOUTPUT\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003ebegin\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e9600\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e     \u003cspan\u003e\/\/ Set comm speed for serial monitor messages\u003c\/span\u003e\n\u003cspan\u003e}\u003c\/span\u003e\n\u003cspan\u003e\/\/===============================================================================\u003c\/span\u003e\n\u003cspan\u003e\/\/  Main\u003c\/span\u003e\n\u003cspan\u003e\/\/===============================================================================\u003c\/span\u003e\n\u003cspan\u003evoid\u003c\/span\u003e \u003cspan\u003eloop\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\n\u003cspan\u003e{\u003c\/span\u003e\n  \u003cspan\u003e\/\/ This  will run both motors in both directions at a fixed speed\u003c\/span\u003e\n  \u003cspan\u003e\/\/ First go Forward at 75% power for 2 seconds\u003c\/span\u003e\n  \u003cspan\u003eMotor\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e'C'\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003e'F'\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003e75\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e   \n  \u003cspan\u003edelay\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e2000\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cspan\u003e\/\/ now change motor directions to reverse and run at 75% speed\u003c\/span\u003e\n  \u003cspan\u003eMotor\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e'C'\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003e'R'\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003e75\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e  \n  \u003cspan\u003edelay\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e2000\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e \n  \u003cspan\u003e\/\/ now run motors in opposite directions at same time at 50% speed\u003c\/span\u003e\n  \u003cspan\u003eMotor\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e'A'\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003e'F'\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003e50\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cspan\u003eMotor\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e'B'\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003e'R'\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003e50\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cspan\u003edelay\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e2000\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cspan\u003e\/\/ now turn off both motors\u003c\/span\u003e\n  \u003cspan\u003eMotor\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e'C'\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003e'F'\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003e0\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e  \n  \u003cspan\u003edelay\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e2000\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n\n  \u003cspan\u003e\/\/ Run the motors across the range of possible speeds in both directions\u003c\/span\u003e\n  \u003cspan\u003e\/\/ Maximum speed is determined by the motor itself and the operating voltage\u003c\/span\u003e\n\n  \u003cspan\u003e\/\/ Accelerate from zero to maximum speed\u003c\/span\u003e\n  \u003cspan\u003efor\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003ei\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e0\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e \u003cspan\u003ei\u003c\/span\u003e \u003cspan\u003e\u0026lt;=\u003c\/span\u003e \u003cspan\u003e100\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e \u003cspan\u003ei\u003c\/span\u003e\u003cspan\u003e++\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\n  \u003cspan\u003e{\u003c\/span\u003e\n    \u003cspan\u003eMotor\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e'C'\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003e'F'\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003ei\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n    \u003cspan\u003edelay\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eACCEL_DELAY\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cspan\u003e}\u003c\/span\u003e\n  \u003cspan\u003edelay\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e2000\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cspan\u003e\/\/ Decelerate from maximum speed to zero\u003c\/span\u003e\n  \u003cspan\u003efor\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003ei\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e100\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e \u003cspan\u003ei\u003c\/span\u003e \u003cspan\u003e\u0026gt;=\u003c\/span\u003e \u003cspan\u003e0\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e \u003cspan\u003e--\u003c\/span\u003e\u003cspan\u003ei\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\n  \u003cspan\u003e{\u003c\/span\u003e\n    \u003cspan\u003eMotor\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e'C'\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003e'F'\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003ei\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n    \u003cspan\u003edelay\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eACCEL_DELAY\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cspan\u003e}\u003c\/span\u003e\n  \u003cspan\u003edelay\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e2000\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cspan\u003e\/\/ Set direction to reverse and accelerate from zero to maximum speed\u003c\/span\u003e\n  \u003cspan\u003efor\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003ei\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e0\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e \u003cspan\u003ei\u003c\/span\u003e \u003cspan\u003e\u0026lt;=\u003c\/span\u003e \u003cspan\u003e100\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e \u003cspan\u003ei\u003c\/span\u003e\u003cspan\u003e++\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\n  \u003cspan\u003e{\u003c\/span\u003e\n    \u003cspan\u003eMotor\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e'C'\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003e'R'\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003ei\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n    \u003cspan\u003edelay\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eACCEL_DELAY\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cspan\u003e}\u003c\/span\u003e\n  \u003cspan\u003edelay\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e2000\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cspan\u003e\/\/ Decelerate from maximum speed to zero\u003c\/span\u003e\n  \u003cspan\u003efor\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003ei\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e100\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e \u003cspan\u003ei\u003c\/span\u003e \u003cspan\u003e\u0026gt;=\u003c\/span\u003e \u003cspan\u003e0\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e \u003cspan\u003e--\u003c\/span\u003e\u003cspan\u003ei\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\n  \u003cspan\u003e{\u003c\/span\u003e\n    \u003cspan\u003eMotor\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e'C'\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003e'R'\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003ei\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n    \u003cspan\u003edelay\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eACCEL_DELAY\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cspan\u003e}\u003c\/span\u003e\n  \u003cspan\u003e\/\/ Turn off motors\u003c\/span\u003e\n  \u003cspan\u003eMotor\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e'C'\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003e'F'\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003e0\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cspan\u003edelay\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e2000\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n\u003cspan\u003e}\u003c\/span\u003e\n\u003cspan\u003e\/*\u003c\/span\u003e\n\u003cspan\u003e * Motor function does all the heavy lifting of controlling the motors\u003c\/span\u003e\n\u003cspan\u003e * mot = motor to control either 'A' or 'B'.  'C' controls both motors.\u003c\/span\u003e\n\u003cspan\u003e * dir = Direction either 'F'orward or 'R'everse\u003c\/span\u003e\n\u003cspan\u003e * speed = Speed.  Takes in 1-100 percent and maps to 0-255 for PWM control.  \u003c\/span\u003e\n\u003cspan\u003e * Mapping ignores speed values that are too low to make the motor turn.\u003c\/span\u003e\n\u003cspan\u003e * In this case, anything below 27, but 0 still means 0 to stop the motors.\u003c\/span\u003e\n\u003cspan\u003e *\/\u003c\/span\u003e\n\u003cspan\u003evoid\u003c\/span\u003e \u003cspan\u003eMotor\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003echar\u003c\/span\u003e \u003cspan\u003emot\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003echar\u003c\/span\u003e \u003cspan\u003edir\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003espeed\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\n\u003cspan\u003e{\u003c\/span\u003e\n  \u003cspan\u003e\/\/ remap the speed from range 0-100 to 0-255\u003c\/span\u003e\n  \u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003enewspeed\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cspan\u003eif\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003espeed\u003c\/span\u003e \u003cspan\u003e==\u003c\/span\u003e \u003cspan\u003e0\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\n    \u003cspan\u003enewspeed\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e0\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e   \u003cspan\u003e\/\/ Don't remap zero, but remap everything else.\u003c\/span\u003e\n  \u003cspan\u003eelse\u003c\/span\u003e\n    \u003cspan\u003enewspeed\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003emap\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003espeed\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003e1\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003e100\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eMIN_SPEED\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003e255\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n\n  \u003cspan\u003eswitch\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003emot\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e \u003cspan\u003e{\u003c\/span\u003e\n    \u003cspan\u003ecase\u003c\/span\u003e \u003cspan\u003e'A'\u003c\/span\u003e\u003cspan\u003e:\u003c\/span\u003e   \u003cspan\u003e\/\/ Controlling Motor A\u003c\/span\u003e\n      \u003cspan\u003eif\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003edir\u003c\/span\u003e \u003cspan\u003e==\u003c\/span\u003e \u003cspan\u003e'F'\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e \u003cspan\u003e{\u003c\/span\u003e\n        \u003cspan\u003edigitalWrite\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eIN1\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eHIGH\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n        \u003cspan\u003edigitalWrite\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eIN2\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eLOW\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n      \u003cspan\u003e}\u003c\/span\u003e\n      \u003cspan\u003eelse\u003c\/span\u003e \u003cspan\u003eif\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003edir\u003c\/span\u003e \u003cspan\u003e==\u003c\/span\u003e \u003cspan\u003e'R'\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e \u003cspan\u003e{\u003c\/span\u003e\n        \u003cspan\u003edigitalWrite\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eIN1\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eLOW\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n        \u003cspan\u003edigitalWrite\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eIN2\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eHIGH\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n      \u003cspan\u003e}\u003c\/span\u003e\n      \u003cspan\u003eanalogWrite\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eENA\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003enewspeed\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n      \u003cspan\u003ebreak\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n\n    \u003cspan\u003ecase\u003c\/span\u003e \u003cspan\u003e'B'\u003c\/span\u003e\u003cspan\u003e:\u003c\/span\u003e   \u003cspan\u003e\/\/ Controlling Motor B\u003c\/span\u003e\n      \u003cspan\u003eif\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003edir\u003c\/span\u003e \u003cspan\u003e==\u003c\/span\u003e \u003cspan\u003e'F'\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e \u003cspan\u003e{\u003c\/span\u003e\n        \u003cspan\u003edigitalWrite\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eIN3\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eHIGH\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n        \u003cspan\u003edigitalWrite\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eIN4\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eLOW\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n      \u003cspan\u003e}\u003c\/span\u003e\n      \u003cspan\u003eelse\u003c\/span\u003e \u003cspan\u003eif\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003edir\u003c\/span\u003e \u003cspan\u003e==\u003c\/span\u003e \u003cspan\u003e'R'\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e \u003cspan\u003e{\u003c\/span\u003e\n        \u003cspan\u003edigitalWrite\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eIN3\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eLOW\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n        \u003cspan\u003edigitalWrite\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eIN4\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eHIGH\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n      \u003cspan\u003e}\u003c\/span\u003e\n      \u003cspan\u003eanalogWrite\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eENB\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003enewspeed\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n      \u003cspan\u003ebreak\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n\n    \u003cspan\u003ecase\u003c\/span\u003e \u003cspan\u003e'C'\u003c\/span\u003e\u003cspan\u003e:\u003c\/span\u003e  \u003cspan\u003e\/\/ Controlling Both Motors\u003c\/span\u003e\n      \u003cspan\u003eif\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003edir\u003c\/span\u003e \u003cspan\u003e==\u003c\/span\u003e \u003cspan\u003e'F'\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e \u003cspan\u003e{\u003c\/span\u003e\n        \u003cspan\u003edigitalWrite\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eIN1\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eHIGH\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n        \u003cspan\u003edigitalWrite\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eIN2\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eLOW\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n        \u003cspan\u003edigitalWrite\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eIN3\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eHIGH\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n        \u003cspan\u003edigitalWrite\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eIN4\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eLOW\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n      \u003cspan\u003e}\u003c\/span\u003e\n      \u003cspan\u003eelse\u003c\/span\u003e \u003cspan\u003eif\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003edir\u003c\/span\u003e \u003cspan\u003e==\u003c\/span\u003e \u003cspan\u003e'R'\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e \u003cspan\u003e{\u003c\/span\u003e\n        \u003cspan\u003edigitalWrite\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eIN1\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eLOW\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n        \u003cspan\u003edigitalWrite\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eIN2\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eHIGH\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n        \u003cspan\u003edigitalWrite\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eIN3\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eLOW\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n        \u003cspan\u003edigitalWrite\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eIN4\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eHIGH\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n      \u003cspan\u003e}\u003c\/span\u003e\n      \u003cspan\u003eanalogWrite\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eENA\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003enewspeed\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n      \u003cspan\u003eanalogWrite\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eENB\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003enewspeed\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n      \u003cspan\u003ebreak\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cspan\u003e}\u003c\/span\u003e\n  \u003cspan\u003e\/\/ Send what we are doing with the motors out to the Serial Monitor.\u003c\/span\u003e\n  \n  \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eprint\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e\"Motor: \"\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cspan\u003eif\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003emot\u003c\/span\u003e\u003cspan\u003e==\u003c\/span\u003e\u003cspan\u003e'C'\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\n      \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eprint\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e\"Both\"\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n    \u003cspan\u003eelse\u003c\/span\u003e\n      \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eprint\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003emot\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eprint\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e\"  Direction: \"\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eprint\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003edir\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eprint\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e\"  Speed: \"\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eprint\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003espeed\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eprint\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e\"  Mapped Speed: \"\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eprintln\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003enewspeed\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n\u003cspan\u003e}\u003c\/span\u003e\n\u003cbutton class=\"copy-the-code-button\" data-style=\"svg-icon\" title=\"Copy\"\u003e\u003csvg aria-hidden=\"true\" role=\"img\" class=\"copy-icon\" viewbox=\"0 0 16 16\" width=\"16\" height=\"16\" fill=\"currentColor\" focusable=\"false\"\u003e\u003cpath d=\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/button\u003e\u003c\/pre\u003e\n\u003ch2\u003e\u003cstrong\u003eBEFORE THEY ARE SHIPPED, THESE MODULES ARE:\u003c\/strong\u003e\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSample inspected and tested per incoming shipment.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cem\u003eNotes: \u003c\/em\u003e\u003c\/p\u003e\n\u003col\u003e\n\u003cli\u003e\u003ci\u003eNone\u003c\/i\u003e\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003chr\u003e\n\u003ch2\u003e\u003cstrong\u003eTECHNICAL SPECIFICATIONS\u003c\/strong\u003e\u003c\/h2\u003e\n\u003ctable class=\"table table-hover\" width=\"757\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd width=\"145\"\u003eOperating Ratings\u003c\/td\u003e\n\u003ctd width=\"264\"\u003e\u003c\/td\u003e\n\u003ctd width=\"229\"\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"145\"\u003e\u003c\/td\u003e\n\u003ctd width=\"264\"\u003e Voltage range (Vcc)\u003c\/td\u003e\n\u003ctd width=\"229\"\u003e 5 – 35 VDC\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"145\"\u003e\u003c\/td\u003e\n\u003ctd width=\"264\"\u003e Recommended voltage range (Vcc)\u003c\/td\u003e\n\u003ctd width=\"229\"\u003e7 – 12 VDC\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"145\"\u003e\u003c\/td\u003e\n\u003ctd width=\"264\"\u003e Voltage range (5V)\u003c\/td\u003e\n\u003ctd width=\"229\"\u003e4.5 – 5.5 VDC\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"145\"\u003e\u003c\/td\u003e\n\u003ctd width=\"264\"\u003eMax current per bridge\u003c\/td\u003e\n\u003ctd width=\"229\"\u003e 2 A\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"145\"\u003e\u003c\/td\u003e\n\u003ctd width=\"264\"\u003e Max power of module\u003c\/td\u003e\n\u003ctd width=\"229\"\u003e 25 W\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"145\"\u003e Dimensions\u003c\/td\u003e\n\u003ctd width=\"264\"\u003e\u003c\/td\u003e\n\u003ctd width=\"229\"\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"145\"\u003e\u003c\/td\u003e\n\u003ctd width=\"264\"\u003eDriver Board (L x W x H)\u003c\/td\u003e\n\u003ctd width=\"229\"\u003e54 x 44 x 28 mm (2.1 x 1.7 x 1.1″)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"145\"\u003eDatasheet\u003c\/td\u003e\n\u003ctd width=\"264\"\u003e\u003c\/td\u003e\n\u003ctd width=\"229\"\u003e\u003cspan\u003e\u003cstrong\u003e\u003ca href=\"http:\/\/www.st.com\/content\/ccc\/resource\/technical\/document\/datasheet\/82\/cc\/3f\/39\/0a\/29\/4d\/f0\/CD00000240.pdf\/files\/CD00000240.pdf\/jcr:content\/translations\/en.CD00000240.pdf\" rel=\"noopener noreferrer\" target=\"_blank\"\u003eL298N\u003c\/a\u003e\u003c\/strong\u003e\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c!----\u003e","brand":"Keszoox","offers":[{"title":"Default Title","offer_id":45681557537003,"sku":"","price":12.37,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0677\/1005\/8731\/files\/L298N-Dual-H-Bridge-Motor-Control-Module-1.jpg?v=1723005637"},{"product_id":"stepper-motor-with-uln2003a-driver-board","title":"Stepper Motor with ULN2003A Driver Board","description":"\u003cp\u003e\u003cspan\u003eSmall unipolar stepper motor comes with a ULN2003A driver board\u003c\/span\u003e\u003c\/p\u003e\n\u003ch2\u003eDESCRIPTION\u003c\/h2\u003e\n\u003cp\u003eThese are small unipolar stepper motors that come with a ULN2003A driver board that work well for smaller applications such as opening and closing a vent or to experiment with stepper motors.\u003c\/p\u003e\n\u003ch2\u003ePACKAGE INCLUDES:\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003e28BYJ-48 unipolar stepper motor with built-in cable\u003c\/li\u003e\n\u003cli\u003eULN2003 driver board\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch2\u003eKEY FEATURES OF STEPPER MOTOR WITH ULN2003A DRIVER BOARD:\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCompact size\u003c\/li\u003e\n\u003cli\u003eUnipolar \/ 4-phase operation\u003c\/li\u003e\n\u003cli\u003e5mm shaft\u003c\/li\u003e\n\u003cli\u003e64:1 gear reduction for good torque capability\u003c\/li\u003e\n\u003cli\u003e5V operation\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eThe most useful aspect of stepper motors compared to other motors is that the position of the motor shaft can be controlled directly in discrete steps without requiring some type of feedback mechanism to determine position as would be required with something like a standard DC motor.  Other benefits are that they are relatively precise in their movement, they tend to be fairly reliable since they do not use contact brushes in the motor and they generally have good torque even at stand-still which is maintained as long as power is supplied to the motor.  The main downside is that they are a bit power hungry and will consume power even when they are not moving.\u003c\/p\u003e\n\u003cp\u003eStepper motors work by converting electrical pulses into discrete increments of rotation of their shaft.  The motor is 4-phase and requires 4 control inputs.  Pulsing these inputs has several effects on the motor.\u003c\/p\u003e\n\u003col\u003e\n\u003cli\u003eThe sequence of the applied pulses determines the direction that the motor shaft turns.\u003c\/li\u003e\n\u003cli\u003eThe frequency of the input pulses determines the speed that the shaft turns.\u003c\/li\u003e\n\u003cli\u003eThe number of the input pulses determines how far the shaft turns.\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003cp\u003eThe motors are model 28BYJ-48 and operate at 5VDC.  The shaft is 5mm with two flat sides.  They have a 64:1 gear reduction, so they have pretty good torque capability.\u003c\/p\u003e\n\u003cp\u003ePower draw is approximately 240mA.  Power is drawn whether the motor is turning or not in order to hold its position, so the motor will be slightly warm whenever power is applied.  Because of the fairly high power draw, it is best to power the stepper motors directly from a 5V power supply rather than drawing that power from the MCU board that is driving it.\u003c\/p\u003e\n\u003cp\u003eThe motor comes with a ULN2003A based driver board.  The ULN2003A is a 7 channel darlington transistor driver of which 4 channels are used on this board.  The board has 4 LEDs that show activity on the 4 control input lines.  It has 2 connectors for making connections as follows:\u003c\/p\u003e\n\u003ch3\u003eMotor \/ Driver Connections:\u003c\/h3\u003e\n\u003cp\u003e\u003cstrong\u003e1 x 6 Header\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eVDD\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e– Connect to 5V power supply.  Due to high current draw, this should come directly from a power supply and not a microcontroller board.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eIN1\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e– Digital input 1 – Connect to a digital output pin on the MCU.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eIN2\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e– Digital input 2 – Connect to a digital output pin on the MCU.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eIN3\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e– Digital input 3 – Connect to a digital output pin on the MCU.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eIN4\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e– Digital input 4 – Connect to a digital output pin on the MCU.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eGND\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e– Connect to ground\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cstrong\u003e1 x 5 White Connector\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eThis is where the motor plugs into.  The connector is keyed, so it only goes in one way.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch2\u003eOUR EVALUATION RESULTS:\u003c\/h2\u003e\n\u003cp\u003eThese stepper motors are designed and used for small industrial applications such as opening and closing vanes.  They are a nice inexpensive way to learn about stepper motors and will work fine for many applications that don’t require absolute precision or huge torque loads.  Having the driver electronics make them straightforward to use.\u003c\/p\u003e\n\u003cp\u003eWhen using with an Arduino, the stepper.h library is built into the IDE and makes it straight forward to control stepper motors such as these.\u003c\/p\u003e\n\u003cp\u003eThe program below is a simple test program.  It moves the stepper in both directions and then allows the stepper to be controlled using a potentiometer attached to the Analog 0 pin.  Any other analog sensor could be used.  For instance, using an analog temperature sensor, the stepper could be used to open\/close vanes on an air vent to control temperature in a greenhouse.\u003c\/p\u003e\n\u003cp\u003eThe command  \u003cstrong\u003estepper(STEPS, 8, 10, 9, 11);\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003eis used by the stepper library to define which digital pins the motor is connected to on the Arduino.  These can be any 4 digital pins, but we use 8, 9, 10 and 11 in this example.  Note that we have these defined out of sequence based on the wiring to the motor.\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003eIN1 = D8\u003c\/li\u003e\n\u003cli\u003eIN2 = D9\u003c\/li\u003e\n\u003cli\u003eIN3 = D10\u003c\/li\u003e\n\u003cli\u003eIN4 = D11\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eThe most likely issue to run into is that the stepper only runs in one direction.  That generally indicates that the wiring to the 4-phases of the motor may be different.  If that happens you can try changing the ordering of the pin assignments in that command.\u003c\/p\u003e\n\u003ch3\u003eStepper Motor with ULN2003A Test Program\u003c\/h3\u003e\n\u003cpre class=\"copy-the-code-target\"\u003e\u003cspan\u003e\/*\u003c\/span\u003e\n\u003cspan\u003e * Stepper Motor Test\u003c\/span\u003e\n\u003cspan\u003e *\u003c\/span\u003e\n\u003cspan\u003e * Run the stepper motor CW and CCW one turn to verify wiring\u003c\/span\u003e\n\u003cspan\u003e * then have the stepper motor follow the rotation of a potentiometer\u003c\/span\u003e\n\u003cspan\u003e *\/\u003c\/span\u003e\n\n\u003cspan\u003e#include\u003c\/span\u003e \u003cspan\u003e\u0026lt;\u003c\/span\u003e\u003cb\u003e\u003cspan\u003eStepper\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eh\u003c\/span\u003e\u003cspan\u003e\u0026gt;\u003c\/span\u003e\n\n\u003cspan\u003e#define\u003c\/span\u003e \u003cspan\u003eSTEPS\u003c\/span\u003e \u003cspan\u003e2048\u003c\/span\u003e   \u003cspan\u003e\/\/ change this to the number of steps on your motor\u003c\/span\u003e\n\n\u003cspan\u003e\/\/ create an instance of the stepper class with the number of steps of the motor\u003c\/span\u003e\n\u003cspan\u003e\/\/ and the pins it's attached to.  Note the odd non-sequential pin ordering\u003c\/span\u003e\n\u003cb\u003e\u003cspan\u003eStepper\u003c\/span\u003e\u003c\/b\u003e \u003cspan\u003estepper\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eSTEPS\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003e8\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003e10\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003e9\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003e11\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n\n\u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003eADCPin\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e0\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e       \u003cspan\u003e\/\/  Analog pin that potentiometer is connected to.\u003c\/span\u003e\n\u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003eprev\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e0\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e         \u003cspan\u003e\/\/  Variable to hold the previous reading from analog input\u003c\/span\u003e\n\u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003ediff\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e0\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e         \u003cspan\u003e\/\/  Variable to hold difference between new and previous readings\u003c\/span\u003e\n\u003cspan\u003e\/\/===============================================================================\u003c\/span\u003e\n\u003cspan\u003e\/\/  Initialization\u003c\/span\u003e\n\u003cspan\u003e\/\/===============================================================================\u003c\/span\u003e\n\u003cspan\u003evoid\u003c\/span\u003e \u003cspan\u003esetup\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e \u003cspan\u003e{\u003c\/span\u003e\n  \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003ebegin\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e9600\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n\n  \u003cspan\u003estepper\u003c\/span\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003esetSpeed\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e12\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e         \u003cspan\u003e\/\/ set the speed of the motor to 12 RPMs\u003c\/span\u003e\n\n  \u003cspan\u003e\/\/ Run this sequence one time to test the basic motor operation\u003c\/span\u003e\n  \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eprintln\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e\"counterclockwise\"\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cspan\u003estepper\u003c\/span\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003estep\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eSTEPS\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e        \u003cspan\u003e\/\/ step one revolution in one direction:\u003c\/span\u003e\n  \u003cspan\u003edelay\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e500\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n\n  \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eprintln\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e\"clockwise\"\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cspan\u003estepper\u003c\/span\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003estep\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e-\u003c\/span\u003e\u003cspan\u003eSTEPS\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e         \u003cspan\u003e\/\/ step one revolution in the other direction:\u003c\/span\u003e\n  \u003cspan\u003edelay\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e500\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n\u003cspan\u003e}\u003c\/span\u003e\n\u003cspan\u003e\/\/===============================================================================\u003c\/span\u003e\n\u003cspan\u003e\/\/  Main\u003c\/span\u003e\n\u003cspan\u003e\/\/===============================================================================\u003c\/span\u003e\n\u003cspan\u003evoid\u003c\/span\u003e \u003cspan\u003eloop\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e \u003cspan\u003e{\u003c\/span\u003e\n   \n  \u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003eval\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003eanalogRead\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eADCPin\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e   \u003cspan\u003e\/\/ get the sensor value from the pot\u003c\/span\u003e\n  \n  \u003cspan\u003eval\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003eval\u003c\/span\u003e \u003cspan\u003e*\u003c\/span\u003e \u003cspan\u003e2\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e                  \u003cspan\u003e\/\/ADC range is 0-1023.  Double to match # steps in stepper\u003c\/span\u003e\n\n  \u003cspan\u003ediff\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003eval\u003c\/span\u003e \u003cspan\u003e-\u003c\/span\u003e \u003cspan\u003eprev\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e              \u003cspan\u003e\/\/  Calculate the difference between the readings\u003c\/span\u003e\n  \u003cspan\u003ediff\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003eabs\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003ediff\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e               \u003cspan\u003e\/\/  Convert any negative number to positive\u003c\/span\u003e\n  \u003cspan\u003eif\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003ediff\u003c\/span\u003e \u003cspan\u003e\u0026gt;\u003c\/span\u003e \u003cspan\u003e10\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e \u003cspan\u003e{\u003c\/span\u003e                \u003cspan\u003e\/\/  Look for a decent size change to ignore noise on the ADC\u003c\/span\u003e\n     \u003cspan\u003estepper\u003c\/span\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003estep\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eval\u003c\/span\u003e \u003cspan\u003e-\u003c\/span\u003e \u003cspan\u003eprev\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e    \u003cspan\u003e\/\/ move a number of steps equal to the change in the pot\u003c\/span\u003e\n     \u003cspan\u003eprev\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003eval\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e                  \u003cspan\u003e\/\/ remember the previous value of the sensor\u003c\/span\u003e\n     \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eprint\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e\"Pot = \"\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e      \u003cspan\u003e\/\/ Print the ADC value we are reacting to\u003c\/span\u003e\n     \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eprintln\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eval\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cspan\u003e}\u003c\/span\u003e\n  \u003cspan\u003edelay\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e100\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n\u003cspan\u003e}\u003c\/span\u003e\n\u003cbutton class=\"copy-the-code-button\" data-style=\"svg-icon\" title=\"Copy\"\u003e\u003csvg aria-hidden=\"true\" role=\"img\" class=\"copy-icon\" viewbox=\"0 0 16 16\" width=\"16\" height=\"16\" fill=\"currentColor\" focusable=\"false\"\u003e\u003cpath d=\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/button\u003e\u003c\/pre\u003e\n\u003ch2\u003eBEFORE THEY ARE SHIPPED, THESE MOTORS ARE:\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSample inspected and tested per incoming shipment.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cem\u003eNotes: \u003c\/em\u003e\u003c\/p\u003e\n\u003col\u003e\n\u003cli\u003e\u003ci\u003eNone\u003c\/i\u003e\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003chr\u003e\n\u003ch2\u003eTECHNICAL SPECIFICATIONS\u003c\/h2\u003e\n\u003ctable class=\"table table-hover\" width=\"778\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd width=\"145\"\u003e\u003cstrong\u003eMotor Model\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd width=\"264\"\u003e\u003c\/td\u003e\n\u003ctd width=\"229\"\u003e28BYJ-48\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"145\"\u003e\u003cstrong\u003eOperating Ratings\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd width=\"264\"\u003e Voltage\u003c\/td\u003e\n\u003ctd width=\"229\"\u003e5VDC\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"145\"\u003e\u003c\/td\u003e\n\u003ctd width=\"264\"\u003e Current\u003c\/td\u003e\n\u003ctd width=\"229\"\u003e240mA (typical)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"145\"\u003e \u003cstrong\u003eNumber of phases\u003c\/strong\u003e\n\u003c\/td\u003e\n\u003ctd width=\"264\"\u003e\u003c\/td\u003e\n\u003ctd width=\"229\"\u003e4\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"145\"\u003e \u003cstrong\u003eGear Reduction Ratio\u003c\/strong\u003e\n\u003c\/td\u003e\n\u003ctd width=\"264\"\u003e\u003c\/td\u003e\n\u003ctd width=\"229\"\u003e64:1\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"145\"\u003e \u003cstrong\u003eDimensions\u003c\/strong\u003e\n\u003c\/td\u003e\n\u003ctd width=\"264\"\u003e Cable Length\u003c\/td\u003e\n\u003ctd width=\"229\"\u003e 24cm  (9.5″)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"145\"\u003e\u003c\/td\u003e\n\u003ctd width=\"264\"\u003e Motor Housing Diameter\u003c\/td\u003e\n\u003ctd width=\"229\"\u003e28mm (1.1″)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"145\"\u003e\u003c\/td\u003e\n\u003ctd width=\"264\"\u003e Motor Height (minus shaft)\u003c\/td\u003e\n\u003ctd width=\"229\"\u003e20mm (0.8″)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"145\"\u003e\u003c\/td\u003e\n\u003ctd width=\"264\"\u003eMotor Housing with Mounting Ears\u003c\/td\u003e\n\u003ctd width=\"229\"\u003e42mm (1.7″)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"145\"\u003e\u003c\/td\u003e\n\u003ctd width=\"264\"\u003eShaft diameter\u003c\/td\u003e\n\u003ctd width=\"229\"\u003e5mm (3mm on flat sides)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"145\"\u003e\u003c\/td\u003e\n\u003ctd width=\"264\"\u003eShaft length\u003c\/td\u003e\n\u003ctd width=\"229\"\u003e8mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"145\"\u003e\u003c\/td\u003e\n\u003ctd width=\"264\"\u003eDriver Board (L x W)\u003c\/td\u003e\n\u003ctd width=\"229\"\u003e25 x 18mm (1 x 0.7″)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c!----\u003e","brand":"Keszoox","offers":[{"title":"Default Title","offer_id":45681606263019,"sku":"","price":7.37,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0677\/1005\/8731\/files\/Stepper-Motor-with-ULN2003A-Driver-1.jpg?v=1722237689"},{"product_id":"tb6612fbg-dual-motor-driver-module","title":"TB6612FBG Dual Motor Driver Module","description":"\u003cp\u003e\u003cspan\u003eCan power two DC 4.5-13.5V motors at 1.2A continuous per channel\u003c\/span\u003e\u003c\/p\u003e\n\u003ch2\u003eDESCRIPTION\u003c\/h2\u003e\n\u003cp\u003eThese small TB6612FBG Dual Motor Driver Modules are capable of powering two DC 4.5-13.5V motors at 1.2A continuous current per channel (3.2A peak) while controlling speed and direction.\u003c\/p\u003e\n\u003ch2\u003ePACKAGE INCLUDES:\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTB6612FNG Motor Driver Module\u003c\/li\u003e\n\u003cli\u003e2 x 8-pin male headers\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch2\u003eKEY FEATURES OF TB6612FBG DUAL MOTOR DRIVER MODULE:\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrive 2 DC motors with speed and direction control\u003c\/li\u003e\n\u003cli\u003eDrive 1 bipolar stepper motor\u003c\/li\u003e\n\u003cli\u003eCapable of 1.2A continuous or 3.2A peak per channel\u003c\/li\u003e\n\u003cli\u003eEfficient MOSFET H-Bridge technology for high efficiency\u003c\/li\u003e\n\u003cli\u003e3.3 \u0026amp; 5V compatible\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eThe logic circuitry operates over a range of 2.7 – 5.5V so it is both 3.3V and 5V compatible.\u003c\/p\u003e\n\u003cp\u003eThe module can also be used to control a single bipolar stepper motor.  Since the module does not provide built-in current limiting, it is best used as a DC motor controller.\u003c\/p\u003e\n\u003cp\u003eThese work well when you want a drive solution for smaller motors that doesn’t require using a full shield.  Being constructed of MOSFET H-bridge technology, they are more efficient and dissipate less heat than older style technology such as the L298.\u003c\/p\u003e\n\u003cp\u003eThe two H-bridges can be run in parallel to double the current handling capability if using with a single DC motor.\u003c\/p\u003e\n\u003cp\u003eThe drivers are rated for up to 1.2A.  If the motors are on the smaller side such as is used on our Smart Car Chassis, two can be easily driven by each of the two drivers.  This can be handy when using with a 4 wheel drive vehicle since you normally want both motors on the same side of the vehicle to be turning in unison anyway and that way one module can be used to drive all 4 wheels.\u003c\/p\u003e\n\u003cp\u003eThe module comes with 2 strips of male headers.  These can be soldered on for use on a breadboard, or you can attach wires directly to the board depending on what your application requires.  If soldering the headers on, it is recommended to insert the headers into a solderless breadboard first to hold them in alignment while soldering the pins.\u003c\/p\u003e\n\u003cp\u003eThe module has the pin-out labeling on the bottom side of the board.  If desired, the headers can be soldered to the top side so that the labeling will be visible when the module is installed on a breadboard or just refer to our handy pic with the pins labeled.\u003c\/p\u003e\n\u003ch3\u003eControl Inputs\u003c\/h3\u003e\n\u003cp\u003eThe\u003cspan\u003e \u003c\/span\u003e\u003cstrong\u003eSTBY\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003epin is the enable pin and is active HIGH to enable the motors to operate.  The STBY pin is pulled LOW via a 200K pull-down resistor by default which disables the motors.  To enable the motors to operate, this pin needs to be pulled HIGH.  This can be done either by tying the pin to Vcc or by driving the pin HIGH using an output pin of a uC.\u003c\/p\u003e\n\u003cp\u003eThe\u003cspan\u003e \u003c\/span\u003e\u003cstrong\u003ePWMA\/PWMB\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003eare PWM inputs for motor speed control.  The PWMA input controls the speed of Motor A and PWMB controls the speed of Motor B.  The higher the PWM value (up to 255) the faster the motor turns.  At low PWM values, there is a point at which the DC motor does not receive enough drive power to cause the motor to turn.  A motor may require a minimum PWM value of 25 or 50 to start turning.  This is best determined experimentally.\u003c\/p\u003e\n\u003cp\u003eThe\u003cspan\u003e \u003c\/span\u003e\u003cstrong\u003eAIN1, AIN2, BIN1\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003eand\u003cspan\u003e \u003c\/span\u003e\u003cstrong\u003eBIN2\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003eare control pins that determine the configuration of the two H-Bridges in the device.  The AIN1 \/ AIN2 pins control the ‘A’ motor bridge and the BIN1 \/ BIN2 pins control the ‘B’ motor bridge.    The H-Bridge is what controls the direction that the motor turns as shown in the chart below.  It can also be used for on\/off control of desired.\u003cbr\u003e\u003c\/p\u003e\n\u003ctable class=\"table table-bordered\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd width=\"213\"\u003e\u003c\/td\u003e\n\u003ctd width=\"213\"\u003eAIN1 \/ (BIN1)\u003c\/td\u003e\n\u003ctd width=\"213\"\u003eAIN2 \/ (BIN2)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"213\"\u003eForward Direction\u003c\/td\u003e\n\u003ctd width=\"213\"\u003eHIGH\u003c\/td\u003e\n\u003ctd width=\"213\"\u003eLOW\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"213\"\u003eReverse Direction\u003c\/td\u003e\n\u003ctd width=\"213\"\u003eLOW\u003c\/td\u003e\n\u003ctd width=\"213\"\u003eHIGH\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"213\"\u003eBrake \/ Stopped\u003c\/td\u003e\n\u003ctd width=\"213\"\u003eLOW\u003c\/td\u003e\n\u003ctd width=\"213\"\u003eLOW\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"213\"\u003eBrake \/ Stopped\u003c\/td\u003e\n\u003ctd width=\"213\"\u003eHIGH\u003c\/td\u003e\n\u003ctd width=\"213\"\u003eHIGH\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003cp\u003eNote that the direction that the motors turn (forward vs reverse) with the above commands depends on how the ‘+’ and ‘-‘ leads of  the motors are wired to the module.  If they are turning backwards from what is expected, reverse the motor leads at the module.\u003c\/p\u003e\n\u003ch3\u003eModule Connections\u003c\/h3\u003e\n\u003cp\u003e\u003cstrong\u003e1 x 8 Header (top to bottom left side)\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eVM\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e– Motor Voltage (4.5 – 13.5V)\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eVCC\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e– Logic voltage (2.7 – 5.5V)\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eGND\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e– Ground.  There are 3 ground pins which are all tied together on the module.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eA1\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e– Motor A connection ‘+’\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eA2\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e– Motor A connection ‘-‘\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eB1\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e– Motor B connection ‘+’\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eB2\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e– Motor B connection  ‘-‘\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eGND\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e– Ground.  There are 3 ground pins which are all tied together on the module.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cstrong\u003e1 x 8 Header (top to bottom right side)\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003ePWMA\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e– PWM pin for Motor A for speed control\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eAIN2\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e– IN2 digital input for Motor A – Connect to a digital output pin on the uC.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eAIN1\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e– IN1 digital input for Motor A – Connect to a digital output pin on the uC.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eSTBY\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e– Standby.  Has pull-down resistor to ground to disable the driver.  To enable, either tie to Vcc or use logic HIGH from output pin.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eBIN1\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e– IN1 digital input for Motor B – Connect to a digital output pin on the uC.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eBIN2\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e– IN2 digital input for Motor B – Connect to a digital output pin on the uC.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePWMB\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e– PWM pin for Motor B for speed control\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eGND\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e– Ground.  There are 3 ground pins which are all tied together on the module.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch2\u003eOUR EVALUATION RESULTS:\u003c\/h2\u003e\n\u003cp\u003eThese modules work well and are straightforward to use.  The logic is easy enough that a library is not needed to implement the software to control them, but there are one or more libraries available should you want to make use of them.\u003c\/p\u003e\n\u003cp\u003eThe program below is a simple program to illustrate the control of DC motors.  It moves the motors through a repeating sequence of running them both forward, then backwards, then in  opposite directions.  It then ramps the motor speed up and then back down in both forwards and reverse directions.  It prints out what it is doing to the Serial Monitor window.\u003c\/p\u003e\n\u003cp\u003eThe AIN1,AIN2, BIN1, BIN2 digital pins can be connected to any digital pins that are available on the uC.  The PWMA and PWMB pins must be connected to PWM pins as we will use them for speed control.\u003c\/p\u003e\n\u003cp\u003eAll of the low level motor control is done in a function called Motor.  The Motor function takes the following inputs:\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003emot\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e= Motor to control.  This can be ‘A’ for motor A or ‘B’ for motor B or ‘C’ to control both.  Note that the single quotes are needed to denote that we are passing type char\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003edir\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e= Direction of motor.  This can be ‘F’ for forward or ‘R’ for reverse.  Again, but sure to use the single quotes.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003espeed\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e= Speed of motor.  The value passed to the function is expressed in a range of 0-100%.  That value is remapped to 0-255 for PWM control.  The remapping ignores speed values that are too low to make the motors turn using the constant MIN_SPEED which in our example is set to 27, but 0 still means 0 to stop the motors.  The optimum MIN_SPEED value for a particular setup will depend on the motors being used and the voltage at which they are being powered and is best determined experimentally.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eTB6612FBG Dual Motor Driver Module Example Program\u003c\/h3\u003e\n\u003cpre class=\"copy-the-code-target\"\u003e\u003cspan\u003e\/*\u003c\/span\u003e\n\u003cspan\u003e*  TB6612FBG Dual Motor Driver Module Test\u003c\/span\u003e\n\u003cspan\u003e*  Code for exercising the TB6612FBG Motor Control module.\u003c\/span\u003e\n\u003cspan\u003e*  The low level motor control logic is kept in the function 'Motor'\u003c\/span\u003e\n\u003cspan\u003e*  Be sure to tie STBY pin HIGH to enable the device\u003c\/span\u003e\n\u003cspan\u003e*\/\u003c\/span\u003e\n\u003cspan\u003e\/\/  AIN1-2 and BIN1-2 can be connected to any digital pins on uC\u003c\/span\u003e\n\u003cspan\u003e\/\/  PWMA and PWMB must be connected to PWM pins.\u003c\/span\u003e\n\u003cspan\u003e\/\/  Motor A\u003c\/span\u003e\n\u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003econst\u003c\/span\u003e \u003cspan\u003ePWMA\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e10\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e  \u003cspan\u003e\/\/ Must be PWM pin\u003c\/span\u003e\n\u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003econst\u003c\/span\u003e \u003cspan\u003eAIN1\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e9\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n\u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003econst\u003c\/span\u003e \u003cspan\u003eAIN2\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e8\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n\u003cspan\u003e\/\/  Motor B\u003c\/span\u003e\n\u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003econst\u003c\/span\u003e \u003cspan\u003ePWMB\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e5\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e  \u003cspan\u003e\/\/ Must be PWM pin\u003c\/span\u003e\n\u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003econst\u003c\/span\u003e \u003cspan\u003eBIN1\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e7\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n\u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003econst\u003c\/span\u003e \u003cspan\u003eBIN2\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e6\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n\n\u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003econst\u003c\/span\u003e \u003cspan\u003eMIN_SPEED\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e27\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e   \u003cspan\u003e\/\/ Set to minimum PWM value that will make motors turn\u003c\/span\u003e\n\u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003econst\u003c\/span\u003e \u003cspan\u003eACCEL_DELAY\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e50\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e \u003cspan\u003e\/\/ delay between steps when ramping motor speed up or down.\u003c\/span\u003e\n\u003cspan\u003e\/\/===============================================================================\u003c\/span\u003e\n\u003cspan\u003e\/\/  Initialization\u003c\/span\u003e\n\u003cspan\u003e\/\/===============================================================================\u003c\/span\u003e\n\u003cspan\u003evoid\u003c\/span\u003e \u003cspan\u003esetup\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\n\u003cspan\u003e{\u003c\/span\u003e\n  \u003cspan\u003epinMode\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003ePWMA\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eOUTPUT\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e   \u003cspan\u003e\/\/ set all the motor control pins to outputs\u003c\/span\u003e\n  \u003cspan\u003epinMode\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003ePWMB\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eOUTPUT\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cspan\u003epinMode\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eAIN1\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eOUTPUT\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cspan\u003epinMode\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eAIN2\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eOUTPUT\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cspan\u003epinMode\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eBIN1\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eOUTPUT\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cspan\u003epinMode\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eBIN2\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eOUTPUT\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003ebegin\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e9600\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e     \u003cspan\u003e\/\/ Set comm speed for serial monitor messages\u003c\/span\u003e\n\u003cspan\u003e}\u003c\/span\u003e\n\u003cspan\u003e\/\/===============================================================================\u003c\/span\u003e\n\u003cspan\u003e\/\/  Main\u003c\/span\u003e\n\u003cspan\u003e\/\/===============================================================================\u003c\/span\u003e\n\u003cspan\u003evoid\u003c\/span\u003e \u003cspan\u003eloop\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\n\u003cspan\u003e{\u003c\/span\u003e\n  \u003cspan\u003e\/\/ This  will run both motors in both directions at a fixed speed\u003c\/span\u003e\n  \u003cspan\u003e\/\/ First go Forward at 75% power for 2 seconds\u003c\/span\u003e\n  \u003cspan\u003eMotor\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e'C'\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003e'F'\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003e75\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e   \n  \u003cspan\u003edelay\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e2000\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cspan\u003e\/\/ now change motor directions to reverse and run at 75% speed\u003c\/span\u003e\n  \u003cspan\u003eMotor\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e'C'\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003e'R'\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003e75\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e  \n  \u003cspan\u003edelay\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e2000\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e \n  \u003cspan\u003e\/\/ now run motors in opposite directions at same time at 50% speed\u003c\/span\u003e\n  \u003cspan\u003eMotor\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e'A'\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003e'F'\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003e50\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cspan\u003eMotor\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e'B'\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003e'R'\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003e50\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cspan\u003edelay\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e2000\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cspan\u003e\/\/ now turn off both motors\u003c\/span\u003e\n  \u003cspan\u003eMotor\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e'C'\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003e'F'\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003e0\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e  \n  \u003cspan\u003edelay\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e2000\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n\n  \u003cspan\u003e\/\/ Run the motors across the range of possible speeds in both directions\u003c\/span\u003e\n  \u003cspan\u003e\/\/ Maximum speed is determined by the motor itself and the operating voltage\u003c\/span\u003e\n\n  \u003cspan\u003e\/\/ Accelerate from zero to maximum speed\u003c\/span\u003e\n  \u003cspan\u003efor\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003ei\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e0\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e \u003cspan\u003ei\u003c\/span\u003e \u003cspan\u003e\u0026lt;=\u003c\/span\u003e \u003cspan\u003e100\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e \u003cspan\u003ei\u003c\/span\u003e\u003cspan\u003e++\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\n  \u003cspan\u003e{\u003c\/span\u003e\n    \u003cspan\u003eMotor\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e'C'\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003e'F'\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003ei\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n    \u003cspan\u003edelay\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eACCEL_DELAY\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cspan\u003e}\u003c\/span\u003e\n  \u003cspan\u003edelay\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e2000\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cspan\u003e\/\/ Decelerate from maximum speed to zero\u003c\/span\u003e\n  \u003cspan\u003efor\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003ei\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e100\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e \u003cspan\u003ei\u003c\/span\u003e \u003cspan\u003e\u0026gt;=\u003c\/span\u003e \u003cspan\u003e0\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e \u003cspan\u003e--\u003c\/span\u003e\u003cspan\u003ei\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\n  \u003cspan\u003e{\u003c\/span\u003e\n    \u003cspan\u003eMotor\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e'C'\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003e'F'\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003ei\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n    \u003cspan\u003edelay\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eACCEL_DELAY\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cspan\u003e}\u003c\/span\u003e\n  \u003cspan\u003edelay\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e2000\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cspan\u003e\/\/ Set direction to reverse and accelerate from zero to maximum speed\u003c\/span\u003e\n  \u003cspan\u003efor\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003ei\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e0\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e \u003cspan\u003ei\u003c\/span\u003e \u003cspan\u003e\u0026lt;=\u003c\/span\u003e \u003cspan\u003e100\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e \u003cspan\u003ei\u003c\/span\u003e\u003cspan\u003e++\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\n  \u003cspan\u003e{\u003c\/span\u003e\n    \u003cspan\u003eMotor\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e'C'\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003e'R'\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003ei\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n    \u003cspan\u003edelay\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eACCEL_DELAY\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cspan\u003e}\u003c\/span\u003e\n  \u003cspan\u003edelay\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e2000\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cspan\u003e\/\/ Decelerate from maximum speed to zero\u003c\/span\u003e\n  \u003cspan\u003efor\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003ei\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e100\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e \u003cspan\u003ei\u003c\/span\u003e \u003cspan\u003e\u0026gt;=\u003c\/span\u003e \u003cspan\u003e0\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e \u003cspan\u003e--\u003c\/span\u003e\u003cspan\u003ei\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\n  \u003cspan\u003e{\u003c\/span\u003e\n    \u003cspan\u003eMotor\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e'C'\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003e'R'\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003ei\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n    \u003cspan\u003edelay\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eACCEL_DELAY\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cspan\u003e}\u003c\/span\u003e\n  \u003cspan\u003e\/\/ Turn off motors\u003c\/span\u003e\n  \u003cspan\u003eMotor\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e'C'\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003e'F'\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003e0\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cspan\u003edelay\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e2000\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n\u003cspan\u003e}\u003c\/span\u003e\n\u003cspan\u003e\/*\u003c\/span\u003e\n\u003cspan\u003e * Motor function does all the heavy lifting of controlling the motors\u003c\/span\u003e\n\u003cspan\u003e * mot = motor to control either 'A' or 'B'.  'C' controls both motors.\u003c\/span\u003e\n\u003cspan\u003e * dir = Direction either 'F'orward or 'R'everse\u003c\/span\u003e\n\u003cspan\u003e * speed = Speed.  Takes in 1-100 percent and maps to 0-255 for PWM control.  \u003c\/span\u003e\n\u003cspan\u003e * Mapping ignores speed values that are too low to make the motor turn.\u003c\/span\u003e\n\u003cspan\u003e * In this case, anything below 27, but 0 still means 0 to stop the motors.\u003c\/span\u003e\n\u003cspan\u003e *\/\u003c\/span\u003e\n\u003cspan\u003evoid\u003c\/span\u003e \u003cspan\u003eMotor\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003echar\u003c\/span\u003e \u003cspan\u003emot\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003echar\u003c\/span\u003e \u003cspan\u003edir\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003espeed\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\n\u003cspan\u003e{\u003c\/span\u003e\n  \u003cspan\u003e\/\/ remap the speed from range 0-100 to 0-255\u003c\/span\u003e\n  \u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003enewspeed\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cspan\u003eif\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003espeed\u003c\/span\u003e \u003cspan\u003e==\u003c\/span\u003e \u003cspan\u003e0\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\n    \u003cspan\u003enewspeed\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e0\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e   \u003cspan\u003e\/\/ Don't remap zero, but remap everything else.\u003c\/span\u003e\n  \u003cspan\u003eelse\u003c\/span\u003e\n    \u003cspan\u003enewspeed\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003emap\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003espeed\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003e1\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003e100\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eMIN_SPEED\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003e255\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n\n  \u003cspan\u003eswitch\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003emot\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e \u003cspan\u003e{\u003c\/span\u003e\n    \u003cspan\u003ecase\u003c\/span\u003e \u003cspan\u003e'A'\u003c\/span\u003e\u003cspan\u003e:\u003c\/span\u003e   \u003cspan\u003e\/\/ Controlling Motor A\u003c\/span\u003e\n      \u003cspan\u003eif\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003edir\u003c\/span\u003e \u003cspan\u003e==\u003c\/span\u003e \u003cspan\u003e'F'\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e \u003cspan\u003e{\u003c\/span\u003e\n        \u003cspan\u003edigitalWrite\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eAIN1\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eHIGH\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n        \u003cspan\u003edigitalWrite\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eAIN2\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eLOW\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n      \u003cspan\u003e}\u003c\/span\u003e\n      \u003cspan\u003eelse\u003c\/span\u003e \u003cspan\u003eif\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003edir\u003c\/span\u003e \u003cspan\u003e==\u003c\/span\u003e \u003cspan\u003e'R'\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e \u003cspan\u003e{\u003c\/span\u003e\n        \u003cspan\u003edigitalWrite\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eAIN1\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eLOW\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n        \u003cspan\u003edigitalWrite\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eAIN2\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eHIGH\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n      \u003cspan\u003e}\u003c\/span\u003e\n      \u003cspan\u003eanalogWrite\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003ePWMA\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003enewspeed\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n      \u003cspan\u003ebreak\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n\n    \u003cspan\u003ecase\u003c\/span\u003e \u003cspan\u003e'B'\u003c\/span\u003e\u003cspan\u003e:\u003c\/span\u003e   \u003cspan\u003e\/\/ Controlling Motor B\u003c\/span\u003e\n      \u003cspan\u003eif\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003edir\u003c\/span\u003e \u003cspan\u003e==\u003c\/span\u003e \u003cspan\u003e'F'\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e \u003cspan\u003e{\u003c\/span\u003e\n        \u003cspan\u003edigitalWrite\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eBIN1\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eHIGH\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n        \u003cspan\u003edigitalWrite\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eBIN2\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eLOW\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n      \u003cspan\u003e}\u003c\/span\u003e\n      \u003cspan\u003eelse\u003c\/span\u003e \u003cspan\u003eif\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003edir\u003c\/span\u003e \u003cspan\u003e==\u003c\/span\u003e \u003cspan\u003e'R'\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e \u003cspan\u003e{\u003c\/span\u003e\n        \u003cspan\u003edigitalWrite\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eBIN1\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eLOW\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n        \u003cspan\u003edigitalWrite\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eBIN2\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eHIGH\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n      \u003cspan\u003e}\u003c\/span\u003e\n      \u003cspan\u003eanalogWrite\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003ePWMB\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003enewspeed\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n      \u003cspan\u003ebreak\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n\n    \u003cspan\u003ecase\u003c\/span\u003e \u003cspan\u003e'C'\u003c\/span\u003e\u003cspan\u003e:\u003c\/span\u003e  \u003cspan\u003e\/\/ Controlling Both Motors\u003c\/span\u003e\n      \u003cspan\u003eif\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003edir\u003c\/span\u003e \u003cspan\u003e==\u003c\/span\u003e \u003cspan\u003e'F'\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e \u003cspan\u003e{\u003c\/span\u003e\n        \u003cspan\u003edigitalWrite\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eAIN1\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eHIGH\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n        \u003cspan\u003edigitalWrite\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eAIN2\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eLOW\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n        \u003cspan\u003edigitalWrite\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eBIN1\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eHIGH\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n        \u003cspan\u003edigitalWrite\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eBIN2\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eLOW\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n      \u003cspan\u003e}\u003c\/span\u003e\n      \u003cspan\u003eelse\u003c\/span\u003e \u003cspan\u003eif\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003edir\u003c\/span\u003e \u003cspan\u003e==\u003c\/span\u003e \u003cspan\u003e'R'\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e \u003cspan\u003e{\u003c\/span\u003e\n        \u003cspan\u003edigitalWrite\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eAIN1\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eLOW\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n        \u003cspan\u003edigitalWrite\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eAIN2\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eHIGH\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n        \u003cspan\u003edigitalWrite\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eBIN1\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eLOW\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n        \u003cspan\u003edigitalWrite\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eBIN2\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eHIGH\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n      \u003cspan\u003e}\u003c\/span\u003e\n      \u003cspan\u003eanalogWrite\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003ePWMA\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003enewspeed\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n      \u003cspan\u003eanalogWrite\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003ePWMB\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003enewspeed\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n      \u003cspan\u003ebreak\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cspan\u003e}\u003c\/span\u003e\n  \u003cspan\u003e\/\/ Send what we are doing with the motors out to the Serial Monitor.\u003c\/span\u003e\n  \n  \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eprint\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e\"Motor: \"\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cspan\u003eif\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003emot\u003c\/span\u003e\u003cspan\u003e==\u003c\/span\u003e\u003cspan\u003e'C'\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\n      \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eprint\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e\"Both\"\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n    \u003cspan\u003eelse\u003c\/span\u003e\n      \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eprint\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003emot\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eprint\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e\"\\t Direction: \"\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eprint\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003edir\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eprint\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e\"\\t Speed: \"\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eprint\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003espeed\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eprint\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e\"\\t Mapped Speed: \"\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eprintln\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003enewspeed\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n\u003cspan\u003e}\u003c\/span\u003e\n\u003cbutton class=\"copy-the-code-button\" data-style=\"svg-icon\" title=\"Copy\"\u003e\u003csvg aria-hidden=\"true\" role=\"img\" class=\"copy-icon\" viewbox=\"0 0 16 16\" width=\"16\" height=\"16\" fill=\"currentColor\" focusable=\"false\"\u003e\u003cpath d=\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/button\u003e\u003c\/pre\u003e\n\u003ch2\u003eBEFORE THEY ARE SHIPPED, THESE MODULES ARE:\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003eInspected\u003c\/li\u003e\n\u003cli\u003eSample tested per incoming shipment\u003c\/li\u003e\n\u003cli\u003eRepackaged in quality recloseable ESD bags for safe storage.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cem\u003eNotes: \u003c\/em\u003e\u003c\/p\u003e\n\u003col\u003e\n\u003cli\u003e\u003ci\u003eNone\u003c\/i\u003e\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003chr\u003e\n\u003ch2\u003eTECHNICAL SPECIFICATIONS\u003c\/h2\u003e\n\u003ctable class=\"table table-hover\" width=\"764\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd width=\"145\"\u003eOperating Ratings\u003c\/td\u003e\n\u003ctd width=\"264\"\u003e\u003c\/td\u003e\n\u003ctd width=\"229\"\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"145\"\u003e\u003c\/td\u003e\n\u003ctd width=\"264\"\u003e Motor Voltage Range (VM)\u003c\/td\u003e\n\u003ctd width=\"229\"\u003e 4.5 – 13.5VDC\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"145\"\u003e\u003c\/td\u003e\n\u003ctd width=\"264\"\u003e Logic Voltage Range (VCC)\u003c\/td\u003e\n\u003ctd width=\"229\"\u003e2.7 – 5.5VDC\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"145\"\u003e\u003c\/td\u003e\n\u003ctd width=\"264\"\u003eMax Current per Bridge – Continuous\u003c\/td\u003e\n\u003ctd width=\"229\"\u003e 1.2A\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"145\"\u003e\u003c\/td\u003e\n\u003ctd width=\"264\"\u003eMax Current per Bridge – Peak\u003c\/td\u003e\n\u003ctd width=\"229\"\u003e3.2A\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"145\"\u003e\u003c\/td\u003e\n\u003ctd width=\"264\"\u003eMaximum PWM Frequency\u003c\/td\u003e\n\u003ctd width=\"229\"\u003e100kHz\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"145\"\u003e Dimensions\u003c\/td\u003e\n\u003ctd width=\"264\"\u003e\u003c\/td\u003e\n\u003ctd width=\"229\"\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"145\"\u003e\u003c\/td\u003e\n\u003ctd width=\"264\"\u003eDriver Board (L x W x H)\u003c\/td\u003e\n\u003ctd width=\"229\"\u003e20 x 20mm (0.8 x 0.8″)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"145\"\u003eDatasheet\u003c\/td\u003e\n\u003ctd width=\"264\"\u003e\u003c\/td\u003e\n\u003ctd width=\"229\"\u003e\u003cspan\u003e\u003cstrong\u003e\u003ca href=\"https:\/\/toshiba.semicon-storage.com\/us\/product\/linear\/motordriver\/detail.TB6612FNG.html\" rel=\"noopener\" target=\"_blank\"\u003eTB6612FBG\u003c\/a\u003e\u003c\/strong\u003e\u003c\/span\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c!----\u003e","brand":"Keszoox","offers":[{"title":"Default Title","offer_id":45681608524011,"sku":"","price":9.87,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0677\/1005\/8731\/files\/TB6612FNG-Dual-Motor-Driver-Module-1.jpg?v=1723005364"},{"product_id":"vnh3sp30-dual-monster-motor-driver-shield","title":"VNH3SP30 Dual Monster Motor Driver Shield","description":"\u003cp\u003e\u003cspan\u003e2-channel DC motor driver shield that can drive 2 motors at up to 9A sustained.\u003c\/span\u003e\u003c\/p\u003e\n\u003ch2\u003eDESCRIPTION\u003c\/h2\u003e\n\u003cp\u003eThe VNH3SP30 Dual Monster Motor Driver Shield is a 2-channel DC motor driver shield that can drive 2 motors at up to 9A sustained.\u003c\/p\u003e\n\u003ch2\u003ePACKAGE INCLUDES:\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVNH3SP30 Dual Monster Motor Shield\u003c\/li\u003e\n\u003cli\u003eQty 1 – 1×40 breakable male header strip\u003c\/li\u003e\n\u003cli\u003eQty 2 – 8 pin stackable M\/F header strip\u003c\/li\u003e\n\u003cli\u003eQty 2 – 6 pin stackable M\/F header strip\u003c\/li\u003e\n\u003cli\u003eQty 3 – 2-pos 5.08mm screw terminal strip\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch2\u003eKEY FEATURES OF VNH3SP30 DUAL MONSTER MOTOR DRIVER SHIELD:\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrive 2 DC motor at 5.5 – 16V\u003c\/li\u003e\n\u003cli\u003e30A peak current, 6-9A sustained per channel.\u003c\/li\u003e\n\u003cli\u003eTwo full H-Bridges with speed control via PWM and direction control\u003c\/li\u003e\n\u003cli\u003eReverse power protection\u003c\/li\u003e\n\u003cli\u003eDiagnostic output to detect thermal shutdown and similar faults.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eThis shield is based on the VNH3SP30-E driver chip. These devices were originally designed to drive motors in automotive power seats, so they are designed to handle a fair amount of power.  They technically can handle up to 30A continuous with good heat sinking applied.\u003c\/p\u003e\n\u003cp\u003eIn a typical shield format like used here, you can go up to 20A peak for a few seconds of in-rush current and around 6-9A sustained depending on motor drive voltage.\u003c\/p\u003e\n\u003cp\u003eThese are a good choice when you are either using larger motors or just want to take your motor control to the next level over what a more typical driver module can provide.\u003c\/p\u003e\n\u003cp\u003eWhen used with DC motors, the H-Bridge drive arrangement allows the direction of the rotation of the motors to be changed.  In addition PWM can be used to control the speed of the motors.  This gives full control over the DC motors.\u003c\/p\u003e\n\u003ch3\u003eMotor Power Connections\u003c\/h3\u003e\n\u003cp\u003eMotor voltage must be between 5.5 – 16V.  The manufacturer rates the chip for up to 36V operation but it should be limited to 16V to avoid possible issues that sometimes arise with higher voltages.\u003c\/p\u003e\n\u003cp\u003eThe module has reverse power protection via the use of N-Channel MOSFETS on the low side of the drivers.  5V which comes from the Arduino is only used for logic pull-ups on the board for the ENABLE pins.  There are two unpopulated thru-hole capacitor locations on the board.  These are in parallel with the two 470uF SMD caps that go across the motor Vcc and Gnd connections.  In some high current applications it may be beneficial to add additional capacitors of 470uF or larger to these locations, but they are typically not needed.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e     1 x 2 Terminal (Motor Power)\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003e‘+’\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e= Motor Vcc which must be between 5.5 and 16V.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e‘-‘\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e= Motor Ground.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eMotor Connections\u003c\/h3\u003e\n\u003cp\u003eThe motor connections are via two screw terminals for each motor.  Multiple motors can be driven off each connection as long as the total current stays within bounds.\u003c\/p\u003e\n\u003cp\u003eThe wiring of which lead of the motor connects to which terminal is somewhat arbitrary and relative to what you consider forward vs reverse motor operation.  If the motor goes in the opposite direction that you expect, simply reverse the wiring.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e     1 x 2 Terminal (Motor 1)\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eA1\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e– Motor 1 ‘-‘ positive lead\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eB1\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e– Motor 1 ‘+’ negative lead\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cstrong\u003e     1 x 2 Terminal (Motor 2)\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eA2\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e– Motor 2 ‘-‘ positive lead\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eB2\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e– Motor 2 ‘+’ negative lead\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eMotor Control Pins\u003c\/h3\u003e\n\u003cp\u003eThe pins\u003cspan\u003e \u003c\/span\u003e\u003cstrong\u003eA1\/A2\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003eand\u003cspan\u003e \u003c\/span\u003e\u003cstrong\u003eB1\/B2\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003ecorrespond to the INA and INB pins on the driver IC which control the state of the H-Bridge in the device.  The basic modes are to rotate CW, rotate CCW or brake.  The operation is per the table below\u003c\/p\u003e\n\u003ctable class=\"table table-bordered\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd width=\"213\"\u003e\u003c\/td\u003e\n\u003ctd width=\"213\"\u003e\u003cstrong\u003eA1 \/ (A2)\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd width=\"213\"\u003e\u003cstrong\u003eB1 \/ (B2)\u003c\/strong\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"213\"\u003eForward Direction (CW)\u003c\/td\u003e\n\u003ctd width=\"213\"\u003eHIGH\u003c\/td\u003e\n\u003ctd width=\"213\"\u003eLOW\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"213\"\u003eReverse Direction (CCW)\u003c\/td\u003e\n\u003ctd width=\"213\"\u003eLOW\u003c\/td\u003e\n\u003ctd width=\"213\"\u003eHIGH\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"213\"\u003eStopped (Brake to GND)\u003c\/td\u003e\n\u003ctd width=\"213\"\u003eLOW\u003c\/td\u003e\n\u003ctd width=\"213\"\u003eLOW\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"213\"\u003eStopped (Brake to VCC)\u003c\/td\u003e\n\u003ctd width=\"213\"\u003eHIGH\u003c\/td\u003e\n\u003ctd width=\"213\"\u003eHIGH\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003ch4\u003eArduino to Shield Control Pin Connections\u003c\/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eD4\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e= A2\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eD5\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e= PWM Motor 1\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eD6\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e= PWM Motor 2\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eD7\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e= A1\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eD8\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e= B1\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eD9\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e= B2\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eThese connections are automatically made when the board is used in a shield configuration.  If wiring discretely, these pins can be reassigned as needed.\u003c\/p\u003e\n\u003ch3\u003eEN\/DIAG Pins\u003c\/h3\u003e\n\u003cp\u003eThese pins serve a dual purpose and are bi-directional.  First they are the Enable pins for the device and are active HIGH.  The module has pull-ups on these pins, so if left unconnected or set as inputs, the drivers will always be enabled.  If the pins are being used to enable\/disable the drivers, they need to be driven HIGH to enable the devices.\u003c\/p\u003e\n\u003cp\u003eThe second purpose they serve is to indicate a fault such as a thermal shutdown.  If that should occur, the pins are driven LOW by the module.  See the truth table in the datasheet below on page 15 for operation of the DIAG function.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e      Arduino to Shield EN\/DIAG Pin Connections\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eA0\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e= EN\/DIAG 1\u003cstrong\u003e\u003cbr\u003e\u003c\/strong\u003e\n\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eA1\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e= EN\/DIAG 2\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eAssembling the Board\u003c\/h3\u003e\n\u003cp\u003eWe provide this board as a kit with male headers, stackable male\/female headers as well as terminal blocks for power and motor connections.  This gives you the flexibility to configure the board to use as a stand-alone, or as a shield that fits on top of an Arduino Uno, Mega 2560 or similar board with the ability to mount a daughter board on top or use jumpers.\u003c\/p\u003e\n\u003cp\u003eIf using the screw terminals for the motor connections, it is recommended to cut the pins off flush with the board before soldering.  On some Arduino boards, the USB and ICSP connectors can come close to these pins, so cutting them off provides additional clearance.\u003c\/p\u003e\n\u003cp\u003eIf using as a shield, use some care to ensure the stackable header pins are held straight during the soldering process so that they will align with the Arduino female headers.  It is generally easiest to insert the stackable headers into the shield and then insert those partway into the female headers on an Arduino to keep everything aligned.  By inserting them only partway, that leaves more room for the soldering iron tip without melting the connectors.  Flip the boards over and tack solder the end pins using a small soldering iron tip to keep the connectors in place and aligned.  Carefully remove the shield and finish soldering all the pins from the bottom side of the board.\u003c\/p\u003e\n\u003cp\u003e\u003cimg decoding=\"async\" class=\"aligncenter wp-image-8794 size-full entered exited\" alt=\"VNH3SP30 Monster Motor Shield - Soldering\" width=\"506\" height=\"281\" data-lazy-srcset=\"https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/04\/VNH3SP30-Monster-Motor-Shield-Soldering-rotated-e1588540665619.jpg 506w, https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/04\/VNH3SP30-Monster-Motor-Shield-Soldering-rotated-e1588540665619-300x167.jpg 300w, https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/04\/VNH3SP30-Monster-Motor-Shield-Soldering-rotated-e1588540665619-280x155.jpg 280w, https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/04\/VNH3SP30-Monster-Motor-Shield-Soldering-rotated-e1588540665619-400x222.jpg 400w\" data-lazy-sizes=\"(max-width: 506px) 100vw, 506px\" data-lazy-src=\"https:\/\/protosupplies.com\/wp-content\/uploads\/2018\/04\/VNH3SP30-Monster-Motor-Shield-Soldering-rotated-e1588540665619.jpg\" src=\"data:image\/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MDYgMjgxIj48L3N2Zz4=\"\u003e\u003c\/p\u003e\n\u003cp\u003eThe male header pins are superfluous in most applications, but can be installed in place of the stackable headers if using the module mainly for breadboard testing or using point to point wiring.\u003c\/p\u003e\n\u003ch2\u003eOUR EVALUATION RESULTS:\u003c\/h2\u003e\n\u003cp\u003eThese modules work very well and are straightforward to use for basic motor control.\u003c\/p\u003e\n\u003cp\u003eOur test results for thermal performance vs motor current indicates that a constant current of 6-9A is about the most that can be pulled before some heat sinking is applied and will vary depending on the motor drive voltage being used.  Tmax on the case is 150C.  Below are some thermal results of the case temperature under different loads at constant current @ 12VDC.\u003c\/p\u003e\n\u003cp\u003e2A = 35C\u003cbr\u003e3A = 50C\u003cbr\u003e4A = 65C\u003cbr\u003e5A = 92C\u003cbr\u003e6A = 115C\u003c\/p\u003e\n\u003cp\u003eIf using the devices with PWM, the current handling capability is higher.  At 50% PWM, the current handling capability will be about double but the power delivered to the motors will be the same.  These chips can also handle a fairly significant power on current surge of 20A for 8 seconds before they start to overheat.\u003c\/p\u003e\n\u003cp\u003eIf you want to optimize the power handling capability, adding a good heat sink and perhaps a fan blowing across it will give you some head room.  If you are driving just one motor with it, you can parallel the two drivers which will basically double the current handling capability.\u003c\/p\u003e\n\u003cp\u003eIf you are familiar with the common L298N motor drivers, the basic control logic is very similar and is easy enough that a library is not needed to implement the software to control them though there are some libraries available up on GitHub if you want to go that route.\u003c\/p\u003e\n\u003cp\u003eIt does get a little more tricky when working with the DIAG (Diagnostics) functions.  A review of the datasheet will help in understanding that function better.  These can be nice to have features for incorporating feedback of the system status into your code.  For instance, you can tell if a motor driver has gone into thermal shutdown.\u003c\/p\u003e\n\u003cp\u003eThe program below illustrates the basic use of this module.  It allows the user to enter commands via the Serial Monitor window to control the functions of the motors.\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eS\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e= Stop motors\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eF\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e= Forward direction\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eR\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e= Reverse direction\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePxxx\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e= Sets the PWM speed from 0 (P0) to 255 (P255)\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eP?\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e= Returns the current PWM setting\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eNote that you can use upper or lower case letters when entering commands.\u003c\/p\u003e\n\u003cp\u003eTo run a basic test just plug the shield onto the Arduino Uno or similar MCU.  Hook motor power of 5.5 to 16V up to the motor power terminal block and hook 2 DC motors up to the 2 motor terminal blocks.  Download the code and start typing commands.\u003c\/p\u003e\n\u003cp\u003eNote that the pin connections in the program are dictated by the shield and cannot be changed when using it as a shield.\u003c\/p\u003e\n\u003ch3\u003eVNH3SP30 Dual Monster Motor Driver Shield Example Program\u003c\/h3\u003e\n\u003cpre class=\"copy-the-code-target\"\u003e\u003cspan\u003e\/*\u003c\/span\u003e\n\u003cspan\u003eExercise Monster Motor Shield\u003c\/span\u003e\n\u003cspan\u003eUses Serial Monitor window to issue commands for controlling the DC motors \u003c\/span\u003e\n\u003cspan\u003econnected to the shield\u003c\/span\u003e\n\u003cspan\u003eS = Stop\u003c\/span\u003e\n\u003cspan\u003eF = Forward\u003c\/span\u003e\n\u003cspan\u003eR = Reverse\u003c\/span\u003e\n\u003cspan\u003eC = Returns the current reading of the motors\u003c\/span\u003e\n\u003cspan\u003ePxxx (P0 - P255) sets the PWM speed value\u003c\/span\u003e\n\u003cspan\u003eP? = Returns the current PWM value\u003c\/span\u003e\n\u003cspan\u003e*\/\u003c\/span\u003e\n\u003cspan\u003econst\u003c\/span\u003e \u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003eMOTOR_1\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e0\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n\u003cspan\u003econst\u003c\/span\u003e \u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003eMOTOR_2\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e1\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n\u003cspan\u003econst\u003c\/span\u003e \u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003eBRAKE\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e0\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n\u003cspan\u003econst\u003c\/span\u003e \u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003eCW\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e1\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n\u003cspan\u003econst\u003c\/span\u003e \u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003eCCW\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e2\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n\u003cspan\u003e\/*\u003c\/span\u003e\n\u003cspan\u003eNote:  the pin definitions below are set by the shield pinout. If using\u003c\/span\u003e\n\u003cspan\u003ethe board as a shield, these pins must remain as specified below.\u003c\/span\u003e\n\u003cspan\u003eIf wiring the board rather than using as a shield, these can be changed. *\/\u003c\/span\u003e\n\u003cspan\u003econst\u003c\/span\u003e \u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003eMOTOR_A1_PIN\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e7\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e \u003cspan\u003e\/\/Motor 1 control inputs\u003c\/span\u003e\n\u003cspan\u003econst\u003c\/span\u003e \u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003eMOTOR_A2_PIN\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e4\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n\u003cspan\u003econst\u003c\/span\u003e \u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003eMOTOR_B1_PIN\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e8\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e \u003cspan\u003e\/\/ Motor 2 control inputs\u003c\/span\u003e\n\u003cspan\u003econst\u003c\/span\u003e \u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003eMOTOR_B2_PIN\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e9\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n\n\u003cspan\u003econst\u003c\/span\u003e \u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003ePWM_MOTOR_1\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e5\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n\u003cspan\u003econst\u003c\/span\u003e \u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003ePWM_MOTOR_2\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e6\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n\u003cspan\u003e\/\/const int EN_PIN_1 = A0;\u003c\/span\u003e\n\u003cspan\u003e\/\/const int EN_PIN_2 = A1;\u003c\/span\u003e\n\n\u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003emotor_Speed\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e150\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e  \u003cspan\u003e\/\/default motor speed\u003c\/span\u003e\n\u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003emotor_State\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003eBRAKE\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n\n\u003cspan\u003echar\u003c\/span\u003e \u003cspan\u003ereadString\u003c\/span\u003e\u003cspan\u003e[\u003c\/span\u003e\u003cspan\u003e4\u003c\/span\u003e\u003cspan\u003e]\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e  \u003cspan\u003e\/\/ String array to hold PWM value typed in on keyboard\u003c\/span\u003e\n\u003cspan\u003e\/\/===============================================================================\u003c\/span\u003e\n\u003cspan\u003e\/\/  Initialization\u003c\/span\u003e\n\u003cspan\u003e\/\/===============================================================================\u003c\/span\u003e\n\u003cspan\u003evoid\u003c\/span\u003e \u003cspan\u003esetup\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e \u003cspan\u003e{\u003c\/span\u003e\n  \u003cspan\u003epinMode\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eMOTOR_A1_PIN\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eOUTPUT\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cspan\u003epinMode\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eMOTOR_B1_PIN\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eOUTPUT\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cspan\u003epinMode\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eMOTOR_A2_PIN\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eOUTPUT\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cspan\u003epinMode\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eMOTOR_B2_PIN\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eOUTPUT\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cspan\u003epinMode\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003ePWM_MOTOR_1\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eOUTPUT\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cspan\u003epinMode\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003ePWM_MOTOR_2\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eOUTPUT\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cspan\u003e\/\/pinMode(EN_PIN_1, OUTPUT);      \/\/ Uncomment these 4 lines to use the Enable pins\u003c\/span\u003e\n  \u003cspan\u003e\/\/pinMode(EN_PIN_2, OUTPUT);      \/\/ to enable\/disable the device.  \u003c\/span\u003e\n                                    \u003cspan\u003e\/\/ To monitor for fault conditions instead, they \u003c\/span\u003e\n                                    \u003cspan\u003e\/\/ would be defined as inputs\u003c\/span\u003e\n \u003cspan\u003e\/\/ digitalWrite(EN_PIN_1, HIGH);  \/\/ Set EN pins high to enable drivers\u003c\/span\u003e\n \u003cspan\u003e\/\/ digitalWrite(EN_PIN_2, HIGH); \u003c\/span\u003e\n  \n  \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003ebegin\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e9600\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e           \u003cspan\u003e\/\/ Initialize serial monitor\u003c\/span\u003e\n  \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eprintln\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e\"Enter command:\"\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e    \u003cspan\u003e\/\/ Printout commands\u003c\/span\u003e\n  \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eprintln\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e\"S = STOP\"\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eprintln\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e\"F = FORWARD\"\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eprintln\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e\"R = REVERSE\"\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eprintln\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e\"Pxxx = PWM SPEED (P000 - P254)\"\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eprintln\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e\"P? = RETURNS CURRENT PWM SPEED\"\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n\u003cspan\u003e}\u003c\/span\u003e\n\u003cspan\u003e\/\/===============================================================================\u003c\/span\u003e\n\u003cspan\u003e\/\/  Main\u003c\/span\u003e\n\u003cspan\u003e\/\/===============================================================================\u003c\/span\u003e\n\u003cspan\u003evoid\u003c\/span\u003e \u003cspan\u003eloop\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e \u003cspan\u003e{\u003c\/span\u003e\n\u003cspan\u003e\/\/ Just loop while monitoring the serial port and then jump to DoSerial to\u003c\/span\u003e\n\u003cspan\u003e\/\/ handle incoming characters and act on them\u003c\/span\u003e\n\u003cspan\u003eif\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eavailable\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e \u003cspan\u003eDoSerial\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n\u003cspan\u003e}\u003c\/span\u003e\n\u003cspan\u003e\/\/===============================================================================\u003c\/span\u003e\n\u003cspan\u003e\/\/  Subroutine to handle characters typed via Serial Monitor Window\u003c\/span\u003e\n\u003cspan\u003e\/\/===============================================================================\u003c\/span\u003e\n\u003cspan\u003evoid\u003c\/span\u003e \u003cspan\u003eDoSerial\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\n\u003cspan\u003e{\u003c\/span\u003e\n  \u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003eindex\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e0\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003epwm_Value\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e0\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \n  \u003cspan\u003echar\u003c\/span\u003e \u003cspan\u003ech\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eread\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e  \u003cspan\u003e\/\/ Read the character we know we have\u003c\/span\u003e\n  \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eprintln\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003ech\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e       \u003cspan\u003e\/\/ Echo character typed to show we got it\u003c\/span\u003e\n\n  \u003cspan\u003e\/\/ Use Switch\/Case statement to handle the different commands\u003c\/span\u003e\n  \u003cspan\u003eswitch\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003ech\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e \u003cspan\u003e{\u003c\/span\u003e\n  \u003cspan\u003ecase\u003c\/span\u003e \u003cspan\u003e'f'\u003c\/span\u003e\u003cspan\u003e:\u003c\/span\u003e   \u003cspan\u003e\/\/ Motor FORWARD command\u003c\/span\u003e\n  \u003cspan\u003ecase\u003c\/span\u003e \u003cspan\u003e'F'\u003c\/span\u003e\u003cspan\u003e:\u003c\/span\u003e   \u003cspan\u003e\/\/ This fall-through case statement accepts upper and lower case\u003c\/span\u003e\n    \u003cspan\u003emotor_State\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003eCW\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n    \u003cspan\u003eMotor_Cmd\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eMOTOR_1\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003emotor_State\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003emotor_Speed\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n    \u003cspan\u003eMotor_Cmd\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eMOTOR_2\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003emotor_State\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003emotor_Speed\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n    \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eprintln\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e\"Motors Forward\"\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n    \u003cspan\u003ebreak\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n\n  \u003cspan\u003ecase\u003c\/span\u003e \u003cspan\u003e'r'\u003c\/span\u003e\u003cspan\u003e:\u003c\/span\u003e   \u003cspan\u003e\/\/ Motor REVERSE command\u003c\/span\u003e\n  \u003cspan\u003ecase\u003c\/span\u003e \u003cspan\u003e'R'\u003c\/span\u003e\u003cspan\u003e:\u003c\/span\u003e\n    \u003cspan\u003emotor_State\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003eCCW\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n    \u003cspan\u003eMotor_Cmd\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eMOTOR_1\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003emotor_State\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003emotor_Speed\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n    \u003cspan\u003eMotor_Cmd\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eMOTOR_2\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003emotor_State\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003emotor_Speed\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n    \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eprintln\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e\"Motors Reverse\"\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n    \u003cspan\u003ebreak\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n\n   \u003cspan\u003ecase\u003c\/span\u003e \u003cspan\u003e's'\u003c\/span\u003e\u003cspan\u003e:\u003c\/span\u003e   \u003cspan\u003e\/\/ Motor STOP command\u003c\/span\u003e\n   \u003cspan\u003ecase\u003c\/span\u003e \u003cspan\u003e'S'\u003c\/span\u003e\u003cspan\u003e:\u003c\/span\u003e\n    \u003cspan\u003emotor_State\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003eBRAKE\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n    \u003cspan\u003eMotor_Cmd\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eMOTOR_1\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003emotor_State\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003e0\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n    \u003cspan\u003eMotor_Cmd\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eMOTOR_2\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003emotor_State\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003e0\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n    \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eprintln\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e\"Motors Stop\"\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n    \u003cspan\u003ebreak\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \n  \u003cspan\u003ecase\u003c\/span\u003e \u003cspan\u003e'p'\u003c\/span\u003e\u003cspan\u003e:\u003c\/span\u003e  \u003cspan\u003e\/\/ Motor SPEED command\u003c\/span\u003e\n  \u003cspan\u003ecase\u003c\/span\u003e \u003cspan\u003e'P'\u003c\/span\u003e\u003cspan\u003e:\u003c\/span\u003e\n    \u003cspan\u003e\/\/ This command is a little trickier.  We are looking for a number from 0-255\u003c\/span\u003e\n    \u003cspan\u003e\/\/ to follow this command so we can set the PWM speed.  If we see a '?'\u003c\/span\u003e\n    \u003cspan\u003e\/\/ we will report our current speed setting, otherwise we start collecting chars\u003c\/span\u003e\n    \u003cspan\u003e\/\/ into the readString array.\u003c\/span\u003e\n    \u003cspan\u003edelay\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e2\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e  \u003cspan\u003e\/\/ Give time for more characters to arrive.\u003c\/span\u003e\n    \u003cspan\u003efor\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003ei\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e \u003cspan\u003ei\u003c\/span\u003e\u003cspan\u003e\u0026lt;\u003c\/span\u003e\u003cspan\u003e4\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e \u003cspan\u003ei\u003c\/span\u003e\u003cspan\u003e++\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e \u003cspan\u003ereadString\u003c\/span\u003e\u003cspan\u003e[\u003c\/span\u003e\u003cspan\u003ei\u003c\/span\u003e\u003cspan\u003e]\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e' '\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e  \u003cspan\u003e\/\/ Clear string array\u003c\/span\u003e\n    \u003cspan\u003ewhile\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eavailable\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e  \u003cspan\u003e\/\/ Read what we get and put into the string array\u003c\/span\u003e\n    \u003cspan\u003e{\u003c\/span\u003e\n      \u003cspan\u003echar\u003c\/span\u003e \u003cspan\u003ec\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eread\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n      \u003cspan\u003ereadString\u003c\/span\u003e\u003cspan\u003e[\u003c\/span\u003e\u003cspan\u003eindex\u003c\/span\u003e\u003cspan\u003e]\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003ec\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n      \u003cspan\u003eindex\u003c\/span\u003e\u003cspan\u003e++\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n      \u003cspan\u003edelay\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e2\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n    \u003cspan\u003e}\u003c\/span\u003e\n    \u003cspan\u003ereadString\u003c\/span\u003e\u003cspan\u003e[\u003c\/span\u003e\u003cspan\u003e3\u003c\/span\u003e\u003cspan\u003e]\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e'\\0'\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e \u003cspan\u003e\/\/ Append null to end of string array to make it a valid string\u003c\/span\u003e\n    \u003cspan\u003eindex\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e0\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e            \u003cspan\u003e\/\/ Reset our index back to the start of the string\u003c\/span\u003e\n    \u003cspan\u003eif\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003ereadString\u003c\/span\u003e\u003cspan\u003e[\u003c\/span\u003e\u003cspan\u003eindex\u003c\/span\u003e\u003cspan\u003e]\u003c\/span\u003e \u003cspan\u003e==\u003c\/span\u003e \u003cspan\u003e'?'\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e   \u003cspan\u003e\/\/ ? means report our current speed setting and exit.\u003c\/span\u003e\n    \u003cspan\u003e{\u003c\/span\u003e\n      \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eprint\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e\"Current PWM Setting: \"\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n      \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eprintln\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003emotor_Speed\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n      \u003cspan\u003ebreak\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n    \u003cspan\u003e}\u003c\/span\u003e\n    \u003cspan\u003epwm_Value\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003eatoi\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003ereadString\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e  \u003cspan\u003e\/\/ Try to convert string into integer\u003c\/span\u003e\n    \u003cspan\u003e\/\/ We assume a 0 value is because of a non-valid input and ignore the command\u003c\/span\u003e\n    \u003cspan\u003eif\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003epwm_Value\u003c\/span\u003e\u003cspan\u003e!=\u003c\/span\u003e\u003cspan\u003e0\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e \u003cspan\u003e{\u003c\/span\u003e   \n      \u003cspan\u003eif\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003epwm_Value\u003c\/span\u003e \u003cspan\u003e\u0026gt;\u003c\/span\u003e \u003cspan\u003e255\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e \u003cspan\u003epwm_Value\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e255\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e     \u003cspan\u003e\/\/ Cap WPM setting at 255\u003c\/span\u003e\n      \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eprintln\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003epwm_Value\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e        \u003cspan\u003e\/\/ Echo what we end up with to confirm we got it\u003c\/span\u003e\n      \u003cspan\u003emotor_Speed\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003epwm_Value\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n      \u003cspan\u003eMotor_Cmd\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eMOTOR_1\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003emotor_State\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003emotor_Speed\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n      \u003cspan\u003eMotor_Cmd\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eMOTOR_2\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003emotor_State\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003emotor_Speed\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e  \n    \u003cspan\u003e}\u003c\/span\u003e\n    \u003cspan\u003ebreak\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \n  \u003cspan\u003edefault\u003c\/span\u003e\u003cspan\u003e:\u003c\/span\u003e\n    \u003cspan\u003ebreak\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cspan\u003e}\u003c\/span\u003e\n\u003cspan\u003e}\u003c\/span\u003e\n\u003cspan\u003evoid\u003c\/span\u003e \u003cspan\u003eMotor_Cmd\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003emotor\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003eDIR\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003ePWM\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e     \u003cspan\u003e\/\/Function that writes to the motors\u003c\/span\u003e\n\u003cspan\u003e{\u003c\/span\u003e\n  \u003cspan\u003eif\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003emotor\u003c\/span\u003e \u003cspan\u003e==\u003c\/span\u003e \u003cspan\u003eMOTOR_1\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\n  \u003cspan\u003e{\u003c\/span\u003e\n    \u003cspan\u003eif\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eDIR\u003c\/span\u003e \u003cspan\u003e==\u003c\/span\u003e \u003cspan\u003eCW\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e    \u003cspan\u003e{\u003c\/span\u003e\n      \u003cspan\u003edigitalWrite\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eMOTOR_A1_PIN\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eLOW\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e \n      \u003cspan\u003edigitalWrite\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eMOTOR_B1_PIN\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eHIGH\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n    \u003cspan\u003e}\u003c\/span\u003e\n    \u003cspan\u003eelse\u003c\/span\u003e \u003cspan\u003eif\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eDIR\u003c\/span\u003e \u003cspan\u003e==\u003c\/span\u003e \u003cspan\u003eCCW\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e    \u003cspan\u003e{\u003c\/span\u003e\n      \u003cspan\u003edigitalWrite\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eMOTOR_A1_PIN\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eHIGH\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n      \u003cspan\u003edigitalWrite\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eMOTOR_B1_PIN\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eLOW\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e      \n    \u003cspan\u003e}\u003c\/span\u003e\n    \u003cspan\u003eelse\u003c\/span\u003e    \u003cspan\u003e{\u003c\/span\u003e\n      \u003cspan\u003edigitalWrite\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eMOTOR_A1_PIN\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eLOW\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n      \u003cspan\u003edigitalWrite\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eMOTOR_B1_PIN\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eLOW\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e            \n    \u003cspan\u003e}\u003c\/span\u003e\n    \u003cspan\u003eanalogWrite\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003ePWM_MOTOR_1\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003ePWM\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e \n  \u003cspan\u003e}\u003c\/span\u003e\n  \u003cspan\u003eelse\u003c\/span\u003e \u003cspan\u003eif\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003emotor\u003c\/span\u003e \u003cspan\u003e==\u003c\/span\u003e \u003cspan\u003eMOTOR_2\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\n  \u003cspan\u003e{\u003c\/span\u003e\n    \u003cspan\u003eif\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eDIR\u003c\/span\u003e \u003cspan\u003e==\u003c\/span\u003e \u003cspan\u003eCW\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e    \u003cspan\u003e{\u003c\/span\u003e\n      \u003cspan\u003edigitalWrite\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eMOTOR_A2_PIN\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eLOW\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n      \u003cspan\u003edigitalWrite\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eMOTOR_B2_PIN\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eHIGH\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n    \u003cspan\u003e}\u003c\/span\u003e\n    \u003cspan\u003eelse\u003c\/span\u003e \u003cspan\u003eif\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eDIR\u003c\/span\u003e \u003cspan\u003e==\u003c\/span\u003e \u003cspan\u003eCCW\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e    \u003cspan\u003e{\u003c\/span\u003e\n      \u003cspan\u003edigitalWrite\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eMOTOR_A2_PIN\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eHIGH\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n      \u003cspan\u003edigitalWrite\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eMOTOR_B2_PIN\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eLOW\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e      \n    \u003cspan\u003e}\u003c\/span\u003e\n    \u003cspan\u003eelse\u003c\/span\u003e    \u003cspan\u003e{\u003c\/span\u003e\n      \u003cspan\u003edigitalWrite\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eMOTOR_A2_PIN\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eLOW\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n      \u003cspan\u003edigitalWrite\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eMOTOR_B2_PIN\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eLOW\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e            \n    \u003cspan\u003e}\u003c\/span\u003e \n    \u003cspan\u003eanalogWrite\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003ePWM_MOTOR_2\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003ePWM\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cspan\u003e}\u003c\/span\u003e\n\u003cspan\u003e}\u003c\/span\u003e\n\u003cbutton class=\"copy-the-code-button\" data-style=\"svg-icon\" title=\"Copy\"\u003e\u003csvg aria-hidden=\"true\" role=\"img\" class=\"copy-icon\" viewbox=\"0 0 16 16\" width=\"16\" height=\"16\" fill=\"currentColor\" focusable=\"false\"\u003e\u003cpath d=\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/button\u003e\u003c\/pre\u003e\n\u003ch2\u003e\u003cstrong\u003eBEFORE THEY ARE SHIPPED, THESE MODULES ARE:\u003c\/strong\u003e\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003eInspected \u0026amp; kitted\u003c\/li\u003e\n\u003cli\u003ePackaged in quality resealable ESD bags for safe storage.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cem\u003eNotes: \u003c\/em\u003e\u003c\/p\u003e\n\u003col\u003e\n\u003cli\u003e\u003ci\u003eNone\u003c\/i\u003e\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003chr\u003e\n\u003ch2\u003eTECHNICAL SPECIFICATIONS\u003c\/h2\u003e\n\u003ctable class=\"table table-hover\" width=\"758\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd width=\"145\"\u003e\u003cstrong\u003eOperating Ratings\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd width=\"264\"\u003e\u003c\/td\u003e\n\u003ctd width=\"229\"\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"145\"\u003eVoltage Range\u003c\/td\u003e\n\u003ctd width=\"264\"\u003eMotors\u003c\/td\u003e\n\u003ctd width=\"229\"\u003e 5.5 – 16VDC\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"145\"\u003eMax Current per bridge\u003c\/td\u003e\n\u003ctd width=\"264\"\u003ePeak\u003c\/td\u003e\n\u003ctd width=\"229\"\u003e30A\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"145\"\u003e\u003c\/td\u003e\n\u003ctd width=\"264\"\u003eSustained without heat sinking\u003c\/td\u003e\n\u003ctd width=\"229\"\u003e6-9A\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"145\"\u003e\u003c\/td\u003e\n\u003ctd width=\"264\"\u003eSustained with adequate heat sinking\u003c\/td\u003e\n\u003ctd width=\"229\"\u003e12-14A\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"145\"\u003eMOSFET\u003c\/td\u003e\n\u003ctd width=\"264\"\u003eON resistance (per leg)\u003c\/td\u003e\n\u003ctd width=\"229\"\u003e34mΩ (typ)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"145\"\u003eMax PWM Frequency\u003c\/td\u003e\n\u003ctd width=\"264\"\u003e\u003c\/td\u003e\n\u003ctd width=\"229\"\u003e10kHz\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"145\"\u003e\u003cstrong\u003e Dimensions\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd width=\"264\"\u003e\u003c\/td\u003e\n\u003ctd width=\"229\"\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"145\"\u003e\u003c\/td\u003e\n\u003ctd width=\"264\"\u003eDriver Board (L x W)\u003c\/td\u003e\n\u003ctd width=\"229\"\u003e61 x 54mm (2.4 x 2.1″)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"145\"\u003e\u003cstrong\u003eDatasheet\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd width=\"264\"\u003eST Microelectronics\u003c\/td\u003e\n\u003ctd width=\"229\"\u003e\u003ca href=\"https:\/\/www.st.com\/resource\/en\/datasheet\/vnh3sp30-e.pdf\" rel=\"noopener noreferrer\" target=\"_blank\"\u003e\u003cspan\u003e\u003cstrong\u003eVNH3SP30-E\u003c\/strong\u003e\u003c\/span\u003e\u003c\/a\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c!----\u003e","brand":"Keszoox","offers":[{"title":"Default Title","offer_id":45681611866347,"sku":"","price":37.37,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0677\/1005\/8731\/files\/VNH3SP30-Monster-Motor-Shield.jpg?v=1723005357"},{"product_id":"vnh2sp30-single-monster-motor-driver-module","title":"VNH2SP30 Single Monster Motor Driver Module","description":"\u003cp\u003e\u003cspan\u003eThe VNH2SP30 Single Monster Motor Driver Module can drive motors up to 12A sustained with adequate heat sinking and 6A without a heat sink..\u003c\/span\u003e\u003c\/p\u003e\n\u003ch2\u003eDESCRIPTION\u003c\/h2\u003e\n\u003cp\u003eThe VNH2SP30 Single Monster Motor Driver Module can drive motors up to 12A sustained with adequate heat sinking and 6A without a heat sink.\u003c\/p\u003e\n\u003ch2\u003ePACKAGE INCLUDES:\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003eVNH2SP30 Single Monster Motor Module\u003c\/li\u003e\n\u003cli\u003e1 x 40 snappable male header strip\u003c\/li\u003e\n\u003cli\u003e2 x 2-pos 5.08mm screw terminal strip\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch2\u003eKEY FEATURES OF VNH2SP30 SINGLE MONSTER MOTOR DRIVER MODULE:\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrive 1 DC motor at 5.5 – 16V\u003c\/li\u003e\n\u003cli\u003e30A peak current, 12A sustained with adequate heat sink and 6A with no heat sink.\u003c\/li\u003e\n\u003cli\u003eFull H-Bridge with speed control via PWM and direction control\u003c\/li\u003e\n\u003cli\u003eReverse power protection\u003c\/li\u003e\n\u003cli\u003eDrive current monitoring capability\u003c\/li\u003e\n\u003cli\u003eDiagnostic output to detect thermal shutdown and similar faults.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eThis module is a 1-channel DC motor driver based on the VNH2SP30-E driver chip.  These devices were originally designed to drive motors in automotive power seats, so they are designed to handle a fair amount of power and can go up to 30A peak and around 12-14A sustained with adequate heat sinking.  Without heat sinking, current should be limited to 6A.\u003c\/p\u003e\n\u003cp\u003eBesides high current handling capability, the device provides the ability to measure motor current and provide fault status.  These are a great choice when you are either using larger motors or just want to take your motor control to the next level over what a more typical driver module can provide.\u003c\/p\u003e\n\u003cp\u003eWhen used with DC motors, the H-Bridge drive arrangement allows the direction of the rotation of the motors to be changed.  In addition PWM can be used to control the speed of the motors.  This gives full control over the DC motors.\u003c\/p\u003e\n\u003ch3\u003eMotor Power Connections\u003c\/h3\u003e\n\u003cp\u003eMotor voltage must be between 5.5 – 16V.  The module has reverse power protection via the use of N-Channel MOSFET on the low side of the driver.  5V which comes from the microcontroller is only used for logic pull-ups on the board for the ENABLE pins.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e     1 x 2 Terminal (Motor Power)\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003e‘+’\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e= Motor Vcc which must be between 5.5 and 16V.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e‘-‘\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e= Motor Ground.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eMotor Connections\u003c\/h3\u003e\n\u003cp\u003eThe motor connections are via two screw terminals.  Multiple motors can be driven off the connection as long as the total current stays within bounds and you want the motors to be doing the same thing i.e. same direction and speed.\u003c\/p\u003e\n\u003cp\u003eThe wiring of which lead of the motor connects to which terminal is somewhat arbitrary and relative to what you consider forward vs reverse motor operation.  If the motor goes in the opposite direction that you expect, simply reverse the wiring.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e     1 x 2 Terminal (Motor)\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eOUTA\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e– Motor ‘-‘ positive lead\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eOUTB\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e– Motor ‘+’ negative lead\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003ch3\u003eMotor Control Pins\u003c\/h3\u003e\n\u003cp\u003eThe\u003cspan\u003e \u003c\/span\u003e\u003cstrong\u003eINA\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003eand\u003cspan\u003e \u003c\/span\u003e\u003cstrong\u003eINB\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003epins control the state of the H-Bridge in the device.  The basic modes are to rotate CW, rotate CCW or brake.  The operation is per the table below\u003c\/p\u003e\n\u003ctable class=\"table table-bordered\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd width=\"213\"\u003e\u003c\/td\u003e\n\u003ctd width=\"213\"\u003eINA\u003c\/td\u003e\n\u003ctd width=\"213\"\u003eINB\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"213\"\u003eForward Direction (CW)\u003c\/td\u003e\n\u003ctd width=\"213\"\u003eHIGH\u003c\/td\u003e\n\u003ctd width=\"213\"\u003eLOW\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"213\"\u003eReverse Direction (CCW)\u003c\/td\u003e\n\u003ctd width=\"213\"\u003eLOW\u003c\/td\u003e\n\u003ctd width=\"213\"\u003eHIGH\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"213\"\u003eStopped (Brake to GND)\u003c\/td\u003e\n\u003ctd width=\"213\"\u003eLOW\u003c\/td\u003e\n\u003ctd width=\"213\"\u003eLOW\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"213\"\u003eStopped (Brake to VCC)\u003c\/td\u003e\n\u003ctd width=\"213\"\u003eHIGH\u003c\/td\u003e\n\u003ctd width=\"213\"\u003eHIGH\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003ch3\u003eCS Current Sense Pins\u003c\/h3\u003e\n\u003cp\u003eThe analog voltage output provides a representation of the amount of current being drawn by the motor.  Accuracy of the current sensing reading is approximately 10%.  They are less accurate at lower currents such as around 150mA and more accurate at higher currents.  In addition, the reading may vary a bit depending on the direction that the motor is turning as the sensing circuits are different depending on the direction of rotation of the motor.\u003c\/p\u003e\n\u003cp\u003eIf used, this output should be connected to an analog input pin.\u003c\/p\u003e\n\u003cp\u003eThere is a small 33nF cap on the module to help filter the PWM pulse noise out of the current sense output.  This is inadequate in most cases and the reading may be erratic.  A 1 to 10uF or so capacitor between these pins and ground will usually provide adequate filtering to get reliable readings.\u003c\/p\u003e\n\u003ch3\u003eEN\/DIAG Pins\u003c\/h3\u003e\n\u003cp\u003eThese pins serve a dual purpose and are bi-directional.  First they are the Enable pins for the device and are active HIGH.  The module has pull-ups on these pins, so if left unconnected or set as inputs, the drivers will always be enabled.  If the pins are being used to enable\/disable the drivers, they need to be driven HIGH to enable the devices.\u003c\/p\u003e\n\u003cp\u003eThe second purpose they serve is to indicate a fault such as a thermal shutdown.  If that should occur, the pins are driven LOW by the module.  See the truth table in the datasheet linked below on page 15 for operation of the DIAG function.\u003c\/p\u003e\n\u003ch2\u003eOUR EVALUATION RESULTS:\u003c\/h2\u003e\n\u003cp\u003eThese modules work very well and are straightforward to use for basic motor control.\u003c\/p\u003e\n\u003cp\u003eOur test results for thermal performance vs motor current indicates that 6A is about the most that can be pulled before some heat sinking is applied.  Tmax on the case is 150C.  Below are some thermal results of the case temperature under different loads.\u003c\/p\u003e\n\u003cp\u003e2A = 35C\u003cbr\u003e3A = 50C\u003cbr\u003e4A = 65C\u003cbr\u003e5A = 92C\u003cbr\u003e6A = 115C\u003c\/p\u003e\n\u003cp\u003eIf you are familiar with the common L298N motor drivers, the basic control logic is very similar and is easy enough that a library is not needed to implement the software to control them though there are some libraries available up on GitHub if you want to go that route.\u003c\/p\u003e\n\u003cp\u003eIt does get a little more tricky when working with the CS (current sensing) and DIAG (Diagnostics) functions.  A review of the datasheet will help in understanding these functions better.  These can be nice to have features for incorporating feedback of the system status into your code.  For instance, you can tell if a motor has been stalled or if the device has gone into thermal shutdown.\u003c\/p\u003e\n\u003cp\u003eThe program below illustrates the basic use of this module.  It allows the user to enter commands via the Serial Monitor window to control the functions of the motors.\u003c\/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eS\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e= Stop motors\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eF\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e= Forward direction\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eR\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e= Reverse direction\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eC\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e= Return the current readings from the motors\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePxxx\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e= Sets the PWM speed from 0 (P0) to 255 (P255)\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eP?\u003c\/strong\u003e\u003cspan\u003e \u003c\/span\u003e= Returns the current PWM setting\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003eNote that you can use upper or lower case letters when entering commands.\u003c\/p\u003e\n\u003cp\u003eThe pins used are defined in the program, but can be changed as needed for the uC you are using:\u003c\/p\u003e\n\u003cp\u003ePin 7 = Motor A1\u003cbr\u003ePin 8 = Motor B1\u003cbr\u003ePin 5 = Motor PWM.  Needs to be a PWM capable pin\u003cbr\u003ePin A0 = Diagnostic Output.  Can be any analog pin\u003cbr\u003ePin A2 = Current Sense.  Can be any analog pin\u003c\/p\u003e\n\u003ch3\u003eVNH2SP30 Single Monster Motor Driver Module Example Program\u003c\/h3\u003e\n\u003cpre class=\"copy-the-code-target\"\u003e\u003cspan\u003e\/*\u003c\/span\u003e\n\u003cspan\u003eExercise Monster Motor Mini Module\u003c\/span\u003e\n\u003cspan\u003eUses Serial Monitor window to issue commands for controlling the DC motor\u003c\/span\u003e\n\u003cspan\u003econnected to the module\u003c\/span\u003e\n\u003cspan\u003eS = Stop\u003c\/span\u003e\n\u003cspan\u003eF = Forward\u003c\/span\u003e\n\u003cspan\u003eR = Reverse\u003c\/span\u003e\n\u003cspan\u003eC = Returns the current reading of the motors\u003c\/span\u003e\n\u003cspan\u003ePxxx (P0 - P255) sets the PWM speed value\u003c\/span\u003e\n\u003cspan\u003eP? = Returns the current PWM value\u003c\/span\u003e\n\u003cspan\u003e*\/\u003c\/span\u003e\n\u003cspan\u003econst\u003c\/span\u003e \u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003eBRAKE\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e0\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n\u003cspan\u003econst\u003c\/span\u003e \u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003eCW\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e1\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n\u003cspan\u003econst\u003c\/span\u003e \u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003eCCW\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e2\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n\u003cspan\u003econst\u003c\/span\u003e \u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003eCS_THRESHOLD\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e15\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n\n\u003cspan\u003econst\u003c\/span\u003e \u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003eMOTOR_A1_PIN\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e7\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e   \u003cspan\u003e\/\/Motor control input pins\u003c\/span\u003e\n\u003cspan\u003econst\u003c\/span\u003e \u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003eMOTOR_B1_PIN\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e8\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n\n\u003cspan\u003econst\u003c\/span\u003e \u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003ePWM_MOTOR\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e5\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e      \u003cspan\u003e\/\/ Motor PWM input pin\u003c\/span\u003e\n\u003cspan\u003econst\u003c\/span\u003e \u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003eCURRENT_SENSE\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003eA2\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e \u003cspan\u003e\/\/ Current sense pin\u003c\/span\u003e\n\u003cspan\u003econst\u003c\/span\u003e \u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003eEN_PIN\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003eA0\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e        \u003cspan\u003e\/\/ Enable\/Diag pin\u003c\/span\u003e\n\n\u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003emotor_Speed\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e150\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e    \u003cspan\u003e\/\/Default motor speed\u003c\/span\u003e\n\u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003emotor_State\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003eBRAKE\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e  \u003cspan\u003e\/\/ Current motor state\u003c\/span\u003e\n\u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003emot_current\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e0\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e      \u003cspan\u003e\/\/ Motor current\u003c\/span\u003e\n\n\u003cspan\u003echar\u003c\/span\u003e \u003cspan\u003ereadString\u003c\/span\u003e\u003cspan\u003e[\u003c\/span\u003e\u003cspan\u003e4\u003c\/span\u003e\u003cspan\u003e]\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e   \u003cspan\u003e\/\/ String array to hold PWM value typed in on keyboard\u003c\/span\u003e\n\u003cspan\u003e\/\/===============================================================================\u003c\/span\u003e\n\u003cspan\u003e\/\/  Initialization\u003c\/span\u003e\n\u003cspan\u003e\/\/===============================================================================\u003c\/span\u003e\n\u003cspan\u003evoid\u003c\/span\u003e \u003cspan\u003esetup\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e \u003cspan\u003e{\u003c\/span\u003e\n  \u003cspan\u003epinMode\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eMOTOR_A1_PIN\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eOUTPUT\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cspan\u003epinMode\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eMOTOR_B1_PIN\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eOUTPUT\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cspan\u003epinMode\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003ePWM_MOTOR\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eOUTPUT\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n      \u003cspan\u003e\/\/ Uncomment the next 2 lines to use the Enable pins to enable\/disable the device.\u003c\/span\u003e\n      \u003cspan\u003e\/\/ To monitor for fault conditions instead, they would be defined as inputs  \u003c\/span\u003e\n \u003cspan\u003e\/\/ pinMode(EN_PIN, OUTPUT);      \u003c\/span\u003e\n \u003cspan\u003e\/\/ digitalWrite(EN_PIN, HIGH);  \u003c\/span\u003e\n  \n  \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003ebegin\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e9600\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e           \u003cspan\u003e\/\/ Initialize serial monitor\u003c\/span\u003e\n  \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eprintln\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e\"Enter command:\"\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e    \u003cspan\u003e\/\/ Printout commands\u003c\/span\u003e\n  \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eprintln\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e\"S = STOP\"\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eprintln\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e\"F = FORWARD\"\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eprintln\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e\"R = REVERSE\"\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eprintln\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e\"C = READ MOTOR CURRENT\"\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eprintln\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e\"Pxxx = PWM SPEED (P000 - P254)\"\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eprintln\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e\"P? = RETURNS CURRENT PWM SPEED\"\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n\u003cspan\u003e}\u003c\/span\u003e\n\u003cspan\u003e\/\/===============================================================================\u003c\/span\u003e\n\u003cspan\u003e\/\/  Main\u003c\/span\u003e\n\u003cspan\u003e\/\/===============================================================================\u003c\/span\u003e\n\u003cspan\u003evoid\u003c\/span\u003e \u003cspan\u003eloop\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e \u003cspan\u003e{\u003c\/span\u003e\n\u003cspan\u003e\/\/ Just loop while monitoring the serial port and then jump to DoSerial to\u003c\/span\u003e\n\u003cspan\u003e\/\/ handle incoming characters and act on them\u003c\/span\u003e\n\u003cspan\u003eif\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eavailable\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e \u003cspan\u003eDoSerial\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n\u003cspan\u003e}\u003c\/span\u003e\n\u003cspan\u003e\/\/===============================================================================\u003c\/span\u003e\n\u003cspan\u003e\/\/  Subroutine to handle characters typed via Serial Monitor Window\u003c\/span\u003e\n\u003cspan\u003e\/\/===============================================================================\u003c\/span\u003e\n\u003cspan\u003evoid\u003c\/span\u003e \u003cspan\u003eDoSerial\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\n\u003cspan\u003e{\u003c\/span\u003e\n  \u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003eindex\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e0\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003epwm_Value\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e0\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003emot1_ADC\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e0\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cspan\u003efloat\u003c\/span\u003e \u003cspan\u003emot1_voltage\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e0.0\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \n  \u003cspan\u003echar\u003c\/span\u003e \u003cspan\u003ech\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eread\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e  \u003cspan\u003e\/\/ Read the character we know we have\u003c\/span\u003e\n  \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eprintln\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003ech\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e       \u003cspan\u003e\/\/ Echo character typed to show we got it\u003c\/span\u003e\n\n  \u003cspan\u003e\/\/ Use Switch\/Case statement to handle the different commands\u003c\/span\u003e\n  \u003cspan\u003eswitch\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003ech\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e \u003cspan\u003e{\u003c\/span\u003e\n  \u003cspan\u003ecase\u003c\/span\u003e \u003cspan\u003e'f'\u003c\/span\u003e\u003cspan\u003e:\u003c\/span\u003e   \u003cspan\u003e\/\/ Motor FORWARD command\u003c\/span\u003e\n  \u003cspan\u003ecase\u003c\/span\u003e \u003cspan\u003e'F'\u003c\/span\u003e\u003cspan\u003e:\u003c\/span\u003e   \u003cspan\u003e\/\/ This fall-through case statement accepts upper and lower case\u003c\/span\u003e\n    \u003cspan\u003emotor_State\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003eCW\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n    \u003cspan\u003eMotor_Cmd\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003emotor_State\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003emotor_Speed\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n    \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eprintln\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e\"Motor Forward\"\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n    \u003cspan\u003ebreak\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n\n  \u003cspan\u003ecase\u003c\/span\u003e \u003cspan\u003e'r'\u003c\/span\u003e\u003cspan\u003e:\u003c\/span\u003e   \u003cspan\u003e\/\/ Motor REVERSE command\u003c\/span\u003e\n  \u003cspan\u003ecase\u003c\/span\u003e \u003cspan\u003e'R'\u003c\/span\u003e\u003cspan\u003e:\u003c\/span\u003e\n    \u003cspan\u003emotor_State\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003eCCW\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n    \u003cspan\u003eMotor_Cmd\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003emotor_State\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003emotor_Speed\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n    \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eprintln\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e\"Motor Reverse\"\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n    \u003cspan\u003ebreak\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n\n   \u003cspan\u003ecase\u003c\/span\u003e \u003cspan\u003e's'\u003c\/span\u003e\u003cspan\u003e:\u003c\/span\u003e   \u003cspan\u003e\/\/ Motor STOP command\u003c\/span\u003e\n   \u003cspan\u003ecase\u003c\/span\u003e \u003cspan\u003e'S'\u003c\/span\u003e\u003cspan\u003e:\u003c\/span\u003e\n    \u003cspan\u003emotor_State\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003eBRAKE\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n    \u003cspan\u003eMotor_Cmd\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003emotor_State\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003e0\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n    \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eprintln\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e\"Motor Stop\"\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n    \u003cspan\u003ebreak\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n      \n   \u003cspan\u003ecase\u003c\/span\u003e \u003cspan\u003e'c'\u003c\/span\u003e\u003cspan\u003e:\u003c\/span\u003e   \u003cspan\u003e\/\/ Motor Current command\u003c\/span\u003e\n   \u003cspan\u003ecase\u003c\/span\u003e \u003cspan\u003e'C'\u003c\/span\u003e\u003cspan\u003e:\u003c\/span\u003e\n    \u003cspan\u003emot1_ADC\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003eanalogRead\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eCURRENT_SENSE\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n    \u003cspan\u003emot1_voltage\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003emot1_ADC\u003c\/span\u003e \u003cspan\u003e*\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e5.0\u003c\/span\u003e \u003cspan\u003e\/\u003c\/span\u003e \u003cspan\u003e1024\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n    \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eprint\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e\"Motor 1 Current: \"\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n    \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eprint\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003emot1_voltage\u003c\/span\u003e \u003cspan\u003e*\u003c\/span\u003e \u003cspan\u003e26\u003c\/span\u003e\u003cspan\u003e*\u003c\/span\u003e\u003cspan\u003e100\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n    \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eprintln\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e\" mA\"\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n    \u003cspan\u003ebreak\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n\n  \u003cspan\u003ecase\u003c\/span\u003e \u003cspan\u003e'p'\u003c\/span\u003e\u003cspan\u003e:\u003c\/span\u003e  \u003cspan\u003e\/\/ Motor SPEED command\u003c\/span\u003e\n  \u003cspan\u003ecase\u003c\/span\u003e \u003cspan\u003e'P'\u003c\/span\u003e\u003cspan\u003e:\u003c\/span\u003e\n    \u003cspan\u003e\/\/ This command is a little trickier.  We are looking for a number from 0-255\u003c\/span\u003e\n    \u003cspan\u003e\/\/ to follow this command so we can set the PWM speed.  If we see a '?'\u003c\/span\u003e\n    \u003cspan\u003e\/\/ we will report our current speed setting, otherwise we start collecting chars\u003c\/span\u003e\n    \u003cspan\u003e\/\/ into the readString array.\u003c\/span\u003e\n    \u003cspan\u003edelay\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e2\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e  \u003cspan\u003e\/\/ Give time for more characters to arrive.\u003c\/span\u003e\n    \u003cspan\u003efor\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003ei\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e \u003cspan\u003ei\u003c\/span\u003e\u003cspan\u003e\u0026lt;\u003c\/span\u003e\u003cspan\u003e4\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e \u003cspan\u003ei\u003c\/span\u003e\u003cspan\u003e++\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e \u003cspan\u003ereadString\u003c\/span\u003e\u003cspan\u003e[\u003c\/span\u003e\u003cspan\u003ei\u003c\/span\u003e\u003cspan\u003e]\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e' '\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e  \u003cspan\u003e\/\/ Clear string array\u003c\/span\u003e\n    \u003cspan\u003ewhile\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eavailable\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e  \u003cspan\u003e\/\/ Read what we get and put into the string array\u003c\/span\u003e\n    \u003cspan\u003e{\u003c\/span\u003e\n      \u003cspan\u003echar\u003c\/span\u003e \u003cspan\u003ec\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eread\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n      \u003cspan\u003ereadString\u003c\/span\u003e\u003cspan\u003e[\u003c\/span\u003e\u003cspan\u003eindex\u003c\/span\u003e\u003cspan\u003e]\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003ec\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n      \u003cspan\u003eindex\u003c\/span\u003e\u003cspan\u003e++\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n      \u003cspan\u003edelay\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e2\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n    \u003cspan\u003e}\u003c\/span\u003e\n    \u003cspan\u003ereadString\u003c\/span\u003e\u003cspan\u003e[\u003c\/span\u003e\u003cspan\u003e3\u003c\/span\u003e\u003cspan\u003e]\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e''\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e \u003cspan\u003e\/\/ Append null to end of string array to make it a valid string\u003c\/span\u003e\n    \u003cspan\u003eindex\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e0\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e            \u003cspan\u003e\/\/ Reset our index back to the start of the string\u003c\/span\u003e\n    \u003cspan\u003eif\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003ereadString\u003c\/span\u003e\u003cspan\u003e[\u003c\/span\u003e\u003cspan\u003eindex\u003c\/span\u003e\u003cspan\u003e]\u003c\/span\u003e \u003cspan\u003e==\u003c\/span\u003e \u003cspan\u003e'?'\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e   \u003cspan\u003e\/\/ ? means report our current speed setting and exit.\u003c\/span\u003e\n    \u003cspan\u003e{\u003c\/span\u003e\n      \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eprint\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003e\"Current PWM Setting: \"\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n      \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eprintln\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003emotor_Speed\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n      \u003cspan\u003ebreak\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n    \u003cspan\u003e}\u003c\/span\u003e\n    \u003cspan\u003epwm_Value\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003eatoi\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003ereadString\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e  \u003cspan\u003e\/\/ Try to convert string into integer\u003c\/span\u003e\n    \u003cspan\u003e\/\/ We assume a 0 value is because of a non-valid input and ignore the command\u003c\/span\u003e\n    \u003cspan\u003eif\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003epwm_Value\u003c\/span\u003e\u003cspan\u003e!=\u003c\/span\u003e\u003cspan\u003e0\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e \u003cspan\u003e{\u003c\/span\u003e   \n      \u003cspan\u003eif\u003c\/span\u003e \u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003epwm_Value\u003c\/span\u003e \u003cspan\u003e\u0026gt;\u003c\/span\u003e \u003cspan\u003e255\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e \u003cspan\u003epwm_Value\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003e255\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e     \u003cspan\u003e\/\/ Cap WPM setting at 255\u003c\/span\u003e\n      \u003cb\u003e\u003cspan\u003eSerial\u003c\/span\u003e\u003c\/b\u003e\u003cspan\u003e.\u003c\/span\u003e\u003cspan\u003eprintln\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003epwm_Value\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e        \u003cspan\u003e\/\/ Echo what we end up with to confirm we got it\u003c\/span\u003e\n      \u003cspan\u003emotor_Speed\u003c\/span\u003e \u003cspan\u003e=\u003c\/span\u003e \u003cspan\u003epwm_Value\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n      \u003cspan\u003eMotor_Cmd\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003emotor_State\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003emotor_Speed\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n    \u003cspan\u003e}\u003c\/span\u003e\n    \u003cspan\u003ebreak\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \n  \u003cspan\u003edefault\u003c\/span\u003e\u003cspan\u003e:\u003c\/span\u003e\n    \u003cspan\u003ebreak\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n  \u003cspan\u003e}\u003c\/span\u003e\n\u003cspan\u003e}\u003c\/span\u003e\n\u003cspan\u003evoid\u003c\/span\u003e \u003cspan\u003eMotor_Cmd\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003edirect\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eint\u003c\/span\u003e \u003cspan\u003epwm\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e     \u003cspan\u003e\/\/Function that writes to the motors\u003c\/span\u003e\n\u003cspan\u003e{\u003c\/span\u003e\n  \u003cspan\u003e{\u003c\/span\u003e\n    \u003cspan\u003eif\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003edirect\u003c\/span\u003e \u003cspan\u003e==\u003c\/span\u003e \u003cspan\u003eCW\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e    \u003cspan\u003e{\u003c\/span\u003e\n      \u003cspan\u003edigitalWrite\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eMOTOR_A1_PIN\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eLOW\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e \n      \u003cspan\u003edigitalWrite\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eMOTOR_B1_PIN\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eHIGH\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n    \u003cspan\u003e}\u003c\/span\u003e\n    \u003cspan\u003eelse\u003c\/span\u003e \u003cspan\u003eif\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003edirect\u003c\/span\u003e \u003cspan\u003e==\u003c\/span\u003e \u003cspan\u003eCCW\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e    \u003cspan\u003e{\u003c\/span\u003e\n      \u003cspan\u003edigitalWrite\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eMOTOR_A1_PIN\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eHIGH\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n      \u003cspan\u003edigitalWrite\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eMOTOR_B1_PIN\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eLOW\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e      \n    \u003cspan\u003e}\u003c\/span\u003e\n    \u003cspan\u003eelse\u003c\/span\u003e    \u003cspan\u003e{\u003c\/span\u003e\n      \u003cspan\u003edigitalWrite\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eMOTOR_A1_PIN\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eLOW\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e\n      \u003cspan\u003edigitalWrite\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003eMOTOR_B1_PIN\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003eLOW\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e            \n    \u003cspan\u003e}\u003c\/span\u003e\n    \u003cspan\u003eanalogWrite\u003c\/span\u003e\u003cspan\u003e(\u003c\/span\u003e\u003cspan\u003ePWM_MOTOR\u003c\/span\u003e\u003cspan\u003e,\u003c\/span\u003e \u003cspan\u003epwm\u003c\/span\u003e\u003cspan\u003e)\u003c\/span\u003e\u003cspan\u003e;\u003c\/span\u003e \n  \u003cspan\u003e}\u003c\/span\u003e\n\u003cspan\u003e}\u003c\/span\u003e\n\u003cbutton class=\"copy-the-code-button\" data-style=\"svg-icon\" title=\"Copy\"\u003e\u003csvg aria-hidden=\"true\" role=\"img\" class=\"copy-icon\" viewbox=\"0 0 16 16\" width=\"16\" height=\"16\" fill=\"currentColor\"\u003e\u003cpath d=\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z\"\u003e\u003c\/path\u003e\u003cpath d=\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z\"\u003e\u003c\/path\u003e\u003c\/svg\u003e\u003c\/button\u003e\u003c\/pre\u003e\n\u003ch2\u003e\u003cstrong\u003eBEFORE THEY ARE SHIPPED, THESE MODULES ARE:\u003c\/strong\u003e\u003c\/h2\u003e\n\u003cul\u003e\n\u003cli\u003eInspected\u003c\/li\u003e\n\u003cli\u003eBasic operation of driver verified\u003c\/li\u003e\n\u003cli\u003eRepackaged in quality recloseable ESD bags for safe storage.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003cp\u003e\u003cem\u003eNotes: \u003c\/em\u003e\u003c\/p\u003e\n\u003col\u003e\n\u003cli\u003e\u003ci\u003eNone\u003c\/i\u003e\u003c\/li\u003e\n\u003c\/ol\u003e\n\u003chr\u003e\n\u003ch2\u003eTECHNICAL SPECIFICATIONS\u003c\/h2\u003e\n\u003ctable class=\"table table-hover\" width=\"758\"\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd width=\"145\"\u003eOperating Ratings\u003c\/td\u003e\n\u003ctd width=\"264\"\u003e\u003c\/td\u003e\n\u003ctd width=\"229\"\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"145\"\u003e\u003c\/td\u003e\n\u003ctd width=\"264\"\u003e Voltage range (Vcc)\u003c\/td\u003e\n\u003ctd width=\"229\"\u003e 5.5 – 16VDC\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"145\"\u003e\u003c\/td\u003e\n\u003ctd width=\"264\"\u003eMax current per bridge (peak)\u003c\/td\u003e\n\u003ctd width=\"229\"\u003e30A\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"145\"\u003e\u003c\/td\u003e\n\u003ctd width=\"264\"\u003eMax current per bridge (sustained)\u003c\/td\u003e\n\u003ctd width=\"229\"\u003e12-14A (with heat sinking)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"145\"\u003e Dimensions\u003c\/td\u003e\n\u003ctd width=\"264\"\u003e\u003c\/td\u003e\n\u003ctd width=\"229\"\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"145\"\u003e\u003c\/td\u003e\n\u003ctd width=\"264\"\u003eDriver Board (L x W)\u003c\/td\u003e\n\u003ctd width=\"229\"\u003e55 x 29mm (2.2 x 1.1″)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"145\"\u003eDatasheet\u003c\/td\u003e\n\u003ctd width=\"264\"\u003e\u003c\/td\u003e\n\u003ctd width=\"229\"\u003e\u003ca href=\"http:\/\/www.st.com\/resource\/en\/datasheet\/cd00043711.pdf\" rel=\"noopener\" target=\"_blank\"\u003e\u003cspan\u003e\u003cstrong\u003eVNH2SP30-E\u003c\/strong\u003e\u003c\/span\u003e\u003c\/a\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c!----\u003e","brand":"Keszoox","offers":[{"title":"Default Title","offer_id":45681613242603,"sku":"","price":34.97,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0677\/1005\/8731\/files\/VNH2SP30-Single-Monster-Motor-Module.jpg?v=1723005347"},{"product_id":"stepper-motor-driver-module-with-heat-sink-drv8825-a4988-expansion-board-for-3d-printer-arduino-uno-and-ramps-1-4-diy-projects","title":"Stepper Motor Driver Module with Heat Sink ¨C DRV8825 \/ A4988 Expansion Board for 3D Printer, Arduino UNO and RAMPS 1.4 DIY Projects","description":"\u003ch1\u003eSPECIFICATIONS\u003c\/h1\u003e\u003cp\u003e\u003cspan\u003eApplication\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eComputer\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eBlack board size\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003e42.8*42.5*11.7mm\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eBrand Name\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eKeszoox\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eCondition\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eNew\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eDissipation Power\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003e1\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eHigh-concerned chemical\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eNone\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eOperating Temperature\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003e1\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eOrigin\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eMainland China\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003ePackage\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eSMD\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eQuantity\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003e1\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eRed board size\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003e41.6*34.2*10.1mm\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eSupply Voltage\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003e1\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eType\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eVoltage Regulator\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eis_customized\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eYes\u003c\/span\u003e\u003c\/p\u003e\u003cdiv class=\"detailmodule_text-image\"\u003e\n\u003cp style=\"font-family:OpenSans;font-size:20px;font-weight:900;line-height:28px;white-space:pre-wrap;color:rgb(0, 0, 0);margin-bottom:12px\" class=\"detail-desc-decorate-title\"\u003eSpecial Reminder:\u003c\/p\u003e\n\u003cp style=\"font-family:OpenSans;font-size:14px;font-weight:300;line-height:20px;white-space:pre-wrap;color:rgb(0, 0, 0);margin-bottom:12px\" class=\"detail-desc-decorate-content\"\u003ePay close attention to the orientation during installation. Incorrect installation may damage the driver or even the motherboard.\u003c\/p\u003e\n\u003cdiv\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/S5bf70cf06c83431c9fe2d9ebf0d993a6D.png\" slate-data-type=\"image\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\u003cdiv class=\"detailmodule_text-image\"\u003e\u003cp style=\"font-family:OpenSans;font-size:14px;font-weight:300;line-height:20px;white-space:pre-wrap;color:rgb(0, 0, 0);margin-bottom:12px\" class=\"detail-desc-decorate-content\"\u003eName:\u003cbr\u003e4988\/8825 Stepper Motor Driver Module Expansion Board\u003cbr\u003eSpecifications:\u003cbr\u003e?Size: 42 ¡Á 42 ¡Á 15 mm\u003cbr\u003e?Mounting: 3 mm\u003cbr\u003e?Hole Spacing: 1400 ¡Á 1400 mil (35.56 ¡Á 35.56 mm)\u003cbr\u003e?Logic Voltage: 5V\u003cbr\u003e?Input Voltage: 12-30V\u003cbr\u003e?Port Type: Digital\u003cbr\u003e?Interface: Direction, Enable, Speed\u003cbr\u003e?Compatible Modules: A4988, DRV8825\u003c\/p\u003e\u003c\/div\u003e\u003cdiv class=\"detailmodule_text-image\"\u003e\n\u003cp style=\"font-family:OpenSans;font-size:20px;font-weight:900;line-height:28px;white-space:pre-wrap;color:rgb(0, 0, 0);margin-bottom:12px\" class=\"detail-desc-decorate-title\"\u003eNote:\u003c\/p\u003e\n\u003cp style=\"font-family:OpenSans;font-size:14px;font-weight:300;line-height:20px;white-space:pre-wrap;color:rgb(0, 0, 0);margin-bottom:12px\" class=\"detail-desc-decorate-content\"\u003eWhen installing the driver module, ensure correct orientation to avoid damaging the module.\u003cbr\u003eThis product is an expansion board only and does not include 4988\/8825 driver modules.\u003c\/p\u003e\n\u003c\/div\u003e\u003cdiv class=\"detailmodule_text-image\"\u003e\n\u003cp style=\"font-family:OpenSans;font-size:20px;font-weight:900;line-height:28px;white-space:pre-wrap;color:rgb(0, 0, 0);margin-bottom:12px\" class=\"detail-desc-decorate-title\"\u003eProduct Introduction:\u003c\/p\u003e\n\u003cp style=\"font-family:OpenSans;font-size:14px;font-weight:300;line-height:20px;white-space:pre-wrap;color:rgb(0, 0, 0);margin-bottom:12px\" class=\"detail-desc-decorate-content\"\u003e1.Compatible with A4988\/DRV8825 drivers. Pay attention to the direction when inserting, as incorrect orientation may damage the driver.\u003cbr\u003e2.Set all jumpers to the ON DP position for 16 microsteps (A4988) or 32 microsteps (DRV8825).\u003cbr\u003e3.Connect the motor to JM.\u003cbr\u003e4.Connect the 5V and 12V-24V power supply to JV.\u003cbr\u003e5.JC's E\\S\\D\\G correspond to Enable\\Step\\Dir\\GND for driver signal output.\u003c\/p\u003e\n\u003cdiv\u003e\n\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/Sdaf6e889071242c5b876d7b5350dcb63t.png\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/Sed5843b6019f44f48b4392a7c6a6fe636.png\" slate-data-type=\"image\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003cdiv class=\"detailmodule_text-image\"\u003e\n\u003cp style=\"font-family:OpenSans;font-size:20px;font-weight:900;line-height:28px;white-space:pre-wrap;color:rgb(0, 0, 0);margin-bottom:12px\" class=\"detail-desc-decorate-title\"\u003eContact Us\u003c\/p\u003e\n\u003cp style=\"font-family:OpenSans;font-size:14px;font-weight:300;line-height:20px;white-space:pre-wrap;color:rgb(0, 0, 0);margin-bottom:12px\" class=\"detail-desc-decorate-content\"\u003eIf You Have Any Questions, Please Feel Free To Contact Us. Our Office Hours Are Monday To Friday (Except Holidays).\u003cbr\u003eIf You Send An Email Outside Business Hours And Don¡¯t Receive A Reply, Rest Assured We Will Respond On The Next Business Day.\u003c\/p\u003e\n\u003cdiv\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/Sfbc518e390764cb0bbf08f06f648df31g.jpg\" slate-data-type=\"image\"\u003e\u003c\/div\u003e\n\u003c\/div\u003e\u003cbr\u003e","brand":"Keszoox","offers":[{"title":"Red board \/ CHINA","offer_id":46978922545387,"sku":"14:1202#Red board;200007763:201336100","price":2.68,"currency_code":"USD","in_stock":true},{"title":"Black board \/ CHINA","offer_id":46978922578155,"sku":"14:350852#Black board;200007763:201336100","price":2.92,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0677\/1005\/8731\/files\/stepper-motor-driver-module-drv8825-a4988.webp?v=1761029518"},{"product_id":"a4988-drv8825-stepper-motor-driver-heatsink-stepstick-3d-printer-arduino","title":"A4988 \/ DRV8825 Stepper Motor Driver Module with Heat Sink — StepStick for 3D Printers \u0026 Arduino","description":"\u003ch2\u003eA4988 \/ DRV8825 Stepper Motor Driver Module with Heat Sink — StepStick Carrier\u003c\/h2\u003e\n\u003cp\u003eThe \u003cstrong\u003eA4988 and DRV8825 stepper motor driver modules\u003c\/strong\u003e are the industry-standard StepStick-format drivers used in RAMPS 1.4\/1.6 boards, 3D printer control boards (MKS, SKR, Creality), and Arduino CNC shields. Each module includes a pre-attached aluminum heat sink for thermal management at sustained current levels. Select the A4988 for standard 3D printer applications or the DRV8825 for higher current motors and finer microstepping.\u003c\/p\u003e\n\n\u003ch2\u003eKey Specifications\u003c\/h2\u003e\n\u003ctable\u003e\n  \u003ctr\u003e\n\u003cth\u003eParameter\u003c\/th\u003e\n\u003cth\u003eA4988\u003c\/th\u003e\n\u003cth\u003eDRV8825\u003c\/th\u003e\n\u003c\/tr\u003e\n  \u003ctr\u003e\n\u003ctd\u003eMax Output Current\u003c\/td\u003e\n\u003ctd\u003e1A continuous (2A peak)\u003c\/td\u003e\n\u003ctd\u003e1.5A continuous (2.2A peak)\u003c\/td\u003e\n\u003c\/tr\u003e\n  \u003ctr\u003e\n\u003ctd\u003eMotor Supply Voltage\u003c\/td\u003e\n\u003ctd\u003e8V – 35V\u003c\/td\u003e\n\u003ctd\u003e8.2V – 45V\u003c\/td\u003e\n\u003c\/tr\u003e\n  \u003ctr\u003e\n\u003ctd\u003eMicrostepping\u003c\/td\u003e\n\u003ctd\u003eFull, 1\/2, 1\/4, 1\/8, 1\/16\u003c\/td\u003e\n\u003ctd\u003eFull, 1\/2, 1\/4, 1\/8, 1\/16, 1\/32\u003c\/td\u003e\n\u003c\/tr\u003e\n  \u003ctr\u003e\n\u003ctd\u003eLogic Voltage\u003c\/td\u003e\n\u003ctd\u003e3.3V \/ 5V\u003c\/td\u003e\n\u003ctd\u003e3.3V \/ 5V\u003c\/td\u003e\n\u003c\/tr\u003e\n  \u003ctr\u003e\n\u003ctd\u003eThermal Protection\u003c\/td\u003e\n\u003ctd\u003eYes\u003c\/td\u003e\n\u003ctd\u003eYes\u003c\/td\u003e\n\u003c\/tr\u003e\n  \u003ctr\u003e\n\u003ctd\u003eCurrent Adjust\u003c\/td\u003e\n\u003ctd\u003eOnboard potentiometer (Vref)\u003c\/td\u003e\n\u003ctd\u003eOnboard potentiometer (Vref)\u003c\/td\u003e\n\u003c\/tr\u003e\n  \u003ctr\u003e\n\u003ctd\u003eHeat Sink\u003c\/td\u003e\n\u003ctd\u003eIncluded\u003c\/td\u003e\n\u003ctd\u003eIncluded\u003c\/td\u003e\n\u003c\/tr\u003e\n  \u003ctr\u003e\n\u003ctd\u003eForm Factor\u003c\/td\u003e\n\u003ctd\u003eStepStick (Pololu-compatible)\u003c\/td\u003e\n\u003ctd\u003eStepStick (Pololu-compatible)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/table\u003e\n\n\u003ch2\u003eA4988 vs DRV8825 — Which to Choose?\u003c\/h2\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eA4988\u003c\/strong\u003e — Best for standard NEMA 17 motors in 3D printers (Ender 3, CR-10, Prusa i3). Proven, widely supported, easy to tune.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eDRV8825\u003c\/strong\u003e — Better for higher-current motors, quieter operation at 1\/32 microstepping, and higher voltage systems. Requires a 100μF capacitor on VMOT to prevent voltage spikes.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch2\u003eTypical Applications\u003c\/h2\u003e\n\u003cul\u003e\n  \u003cli\u003e3D printer axis motors (X, Y, Z, extruder) on RAMPS 1.4\/1.6, MKS Gen, SKR boards\u003c\/li\u003e\n  \u003cli\u003eArduino CNC shield for laser engravers and CNC routers\u003c\/li\u003e\n  \u003cli\u003eTelescope mount and camera slider motor control\u003c\/li\u003e\n  \u003cli\u003eRobotic arm and pan-tilt mechanism control\u003c\/li\u003e\n  \u003cli\u003eAutomated curtain, blind, and valve actuator projects\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch2\u003eFrequently Asked Questions\u003c\/h2\u003e\n\u003ch3\u003eQ: How do I set the current limit?\u003c\/h3\u003e\n\u003cp\u003eMeasure the Vref voltage at the potentiometer wiper with a multimeter. For A4988: \u003cstrong\u003eImax = Vref \/ 0.8\u003c\/strong\u003e. For DRV8825: \u003cstrong\u003eImax = Vref \/ 0.5\u003c\/strong\u003e. Set Vref to achieve your desired current limit. Start low and increase gradually while monitoring motor temperature.\u003c\/p\u003e\n\n\u003ch3\u003eQ: Do I need to add a capacitor for the DRV8825?\u003c\/h3\u003e\n\u003cp\u003eYes. Texas Instruments recommends a \u003cstrong\u003e100μF electrolytic capacitor\u003c\/strong\u003e across the VMOT and GND pins to suppress voltage spikes from motor back-EMF. Without it, the DRV8825 may be damaged by transient overvoltage.\u003c\/p\u003e\n\n\u003ch2\u003ePackage Contents\u003c\/h2\u003e\n\u003cul\u003e\n  \u003cli\u003e1× A4988 or DRV8825 Stepper Motor Driver Module (select variant)\u003c\/li\u003e\n  \u003cli\u003e1× Aluminum heat sink (pre-attached)\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"Keszoox","offers":[{"title":"A4988 Red","offer_id":46981893488875,"sku":"14:10#A4988 Red","price":5.32,"currency_code":"USD","in_stock":true},{"title":"A4988 Green","offer_id":46981893521643,"sku":"14:200004870#A4988 Green","price":5.32,"currency_code":"USD","in_stock":true},{"title":"DRV8825","offer_id":46981893554411,"sku":"14:202693815#DRV8825","price":6.04,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0677\/1005\/8731\/files\/a4988-drv8825-stepper-motor-driver-heat-sink-arduino.webp?v=1761113384"},{"product_id":"l298n-dual-h-bridge-motor-driver-module-for-dc-stepper-motors-smart-robot-car-and-arduino-projects","title":"L298N Dual H-Bridge Motor Driver Module for DC Stepper Motors, Smart Robot Car and Arduino Projects","description":"\u003ch2\u003eL298N Dual H-Bridge Motor Driver Module — DC \u0026amp; Stepper Motors, Arduino \u0026amp; Robot Car\u003c\/h2\u003e\n\n\u003cp\u003eA versatile dual H-bridge motor driver module based on the ST L298N IC, capable of driving two DC motors independently (forward\/reverse\/speed control) or one bipolar stepper motor (full-step, half-step, or microstepping). Supports motor supply voltages from 5V to 35V DC with up to 2A continuous current per channel (4A peak), making it suitable for small to medium-sized DC motors and NEMA 17 stepper motors in Arduino robot cars, CNC machines, and automation projects.\u003c\/p\u003e\n\n\u003ch3\u003eTechnical Specifications\u003c\/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\u003ctr\u003e\n\u003cth\u003eParameter\u003c\/th\u003e\n\u003cth\u003eValue\u003c\/th\u003e\n\u003c\/tr\u003e\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eDriver IC\u003c\/td\u003e\n\u003ctd\u003eST L298N (dual full H-bridge)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMotor Supply Voltage (VM)\u003c\/td\u003e\n\u003ctd\u003e5V – 35V DC\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eLogic Supply Voltage (VCC)\u003c\/td\u003e\n\u003ctd\u003e5V (onboard 5V regulator from VM, if VM \u0026gt; 7V)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eContinuous Output Current\u003c\/td\u003e\n\u003ctd\u003e2A per channel\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ePeak Output Current\u003c\/td\u003e\n\u003ctd\u003e3A per channel (short duration)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMax Power Dissipation\u003c\/td\u003e\n\u003ctd\u003e25W (with heatsink)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ePWM Frequency\u003c\/td\u003e\n\u003ctd\u003eUp to 40kHz\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eOperating Temperature\u003c\/td\u003e\n\u003ctd\u003e−20°C to +135°C\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eLogic Input Voltage\u003c\/td\u003e\n\u003ctd\u003e3.3V \/ 5V compatible\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eProtection\u003c\/td\u003e\n\u003ctd\u003eThermal shutdown, overcurrent protection (L298N IC)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eOnboard 5V Regulator\u003c\/td\u003e\n\u003ctd\u003eYes (78M05, active when VM \u0026gt; 7V)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eDimensions\u003c\/td\u003e\n\u003ctd\u003e~43 × 43 × 27mm (with heatsink)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\n\u003ch3\u003ePin Reference\u003c\/h3\u003e\n\u003ctable\u003e\n\u003cthead\u003e\u003ctr\u003e\n\u003cth\u003ePin \/ Terminal\u003c\/th\u003e\n\u003cth\u003eFunction\u003c\/th\u003e\n\u003c\/tr\u003e\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eVM (12V)\u003c\/td\u003e\n\u003ctd\u003eMotor power supply (5–35V DC)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eGND\u003c\/td\u003e\n\u003ctd\u003eCommon ground\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e5V (output)\u003c\/td\u003e\n\u003ctd\u003e5V logic output from onboard regulator (when VM \u0026gt; 7V)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eIN1, IN2\u003c\/td\u003e\n\u003ctd\u003eDirection control for Motor A (HIGH\/LOW logic)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eIN3, IN4\u003c\/td\u003e\n\u003ctd\u003eDirection control for Motor B\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eENA\u003c\/td\u003e\n\u003ctd\u003ePWM speed control for Motor A (remove jumper for PWM)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eENB\u003c\/td\u003e\n\u003ctd\u003ePWM speed control for Motor B\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eOUT1, OUT2\u003c\/td\u003e\n\u003ctd\u003eMotor A output terminals\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eOUT3, OUT4\u003c\/td\u003e\n\u003ctd\u003eMotor B output terminals\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\n\u003ch3\u003eTypical Applications\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eArduino Robot Car:\u003c\/strong\u003e Drive two DC gear motors for differential steering in 2WD and 4WD robot car kits. Control speed via PWM on ENA\/ENB and direction via IN1–IN4.\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eBipolar Stepper Motor Control:\u003c\/strong\u003e Drive NEMA 17 (1.7A) and NEMA 23 (2A) stepper motors for CNC router axes, 3D printer extruders, and camera sliders\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eSmart Vehicle Projects:\u003c\/strong\u003e Motor control for line-following robots, maze-solving robots, and obstacle-avoidance vehicles with ultrasonic sensors\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePeltier (TEC) Module Control:\u003c\/strong\u003e H-bridge control of Peltier thermoelectric cooler modules for temperature regulation in DIY cooling systems\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eConveyor \u0026amp; Actuator Control:\u003c\/strong\u003e DC motor control for small conveyor belts, linear actuators, and automated dispensing mechanisms\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eArduino Wiring Example (2 DC Motors)\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eConnect VM to 9–12V DC power supply; GND to Arduino GND\u003c\/li\u003e\n\u003cli\u003eConnect 5V output to Arduino 5V (if using onboard regulator)\u003c\/li\u003e\n\u003cli\u003eIN1 → Arduino D8 | IN2 → D9 | IN3 → D10 | IN4 → D11\u003c\/li\u003e\n\u003cli\u003eENA → Arduino D5 (PWM) | ENB → D6 (PWM) — remove ENA\/ENB jumpers first\u003c\/li\u003e\n\u003cli\u003eUse \u003ccode\u003eanalogWrite(ENA, 150)\u003c\/code\u003e for 60% speed; \u003ccode\u003edigitalWrite(IN1, HIGH); digitalWrite(IN2, LOW)\u003c\/code\u003e for forward\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eFAQ\u003c\/h3\u003e\n\u003cp\u003e\u003cstrong\u003eQ: Can the L298N module drive a NEMA 17 stepper motor?\u003c\/strong\u003e\u003cbr\u003eA: Yes. Wire the stepper coils to OUT1\/OUT2 (Coil A) and OUT3\/OUT4 (Coil B). Use the Arduino Stepper library or AccelStepper library with IN1–IN4 for step\/direction control. Ensure the stepper rated current is ≤2A per coil.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eQ: Why does the L298N get hot during operation?\u003c\/strong\u003e\u003cbr\u003eA: The L298N has a relatively high voltage drop (~2V per H-bridge), causing significant power dissipation at high currents. Ensure the heatsink is properly attached and consider adding a small fan for continuous high-current operation. For efficiency-critical applications, consider a DRV8833 or TB6612FNG driver instead.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eQ: Can I use 3.3V logic (ESP32, STM32) with this module?\u003c\/strong\u003e\u003cbr\u003eA: Yes. The L298N logic inputs are compatible with 3.3V logic levels. Connect ESP32 or STM32 GPIO pins directly to IN1–IN4 and ENA\/ENB without a level shifter.\u003c\/p\u003e\n\n\u003ch3\u003ePackage Contents\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003e1 × L298N dual H-bridge motor driver module (with heatsink pre-installed)\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"Keszoox","offers":[{"title":"Default Title","offer_id":46981893849323,"sku":"\u003cnone\u003e","price":12.6,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0677\/1005\/8731\/files\/l298n-dual-h-bridge-motor-driver-module-arduino-robot.webp?v=1761113255"},{"product_id":"bts7960-43a-h-bridge-motor-driver-module-dc-motor-robot-arduino","title":"BTS7960 High-Power Motor Driver Module — 43A H-Bridge for DC Motors, Robots \u0026 Arduino","description":"\u003ch2\u003eBTS7960 High-Power Motor Driver Module — 43A H-Bridge\u003c\/h2\u003e\n\u003cp\u003eThe \u003cstrong\u003eBTS7960 motor driver module\u003c\/strong\u003e is a high-current H-bridge driver built around Infineon’s BTS7960 half-bridge IC. With a \u003cstrong\u003e43A peak current rating\u003c\/strong\u003e and built-in overcurrent, overtemperature, and undervoltage protection, it drives large DC motors, high-torque actuators, and electric vehicle motors that exceed the capability of standard L298N or L293D drivers. Compatible with Arduino, Raspberry Pi, and any PWM-capable microcontroller for smooth bidirectional speed control.\u003c\/p\u003e\n\n\u003ch2\u003eKey Specifications\u003c\/h2\u003e\n\u003ctable\u003e\n  \u003ctr\u003e\n\u003cth\u003eParameter\u003c\/th\u003e\n\u003cth\u003eValue\u003c\/th\u003e\n\u003c\/tr\u003e\n  \u003ctr\u003e\n\u003ctd\u003eDriver IC\u003c\/td\u003e\n\u003ctd\u003e2× Infineon BTS7960 (half-bridge, full H-bridge configuration)\u003c\/td\u003e\n\u003c\/tr\u003e\n  \u003ctr\u003e\n\u003ctd\u003eMotor Supply Voltage\u003c\/td\u003e\n\u003ctd\u003e5V – 27V DC\u003c\/td\u003e\n\u003c\/tr\u003e\n  \u003ctr\u003e\n\u003ctd\u003ePeak Output Current\u003c\/td\u003e\n\u003ctd\u003e43A\u003c\/td\u003e\n\u003c\/tr\u003e\n  \u003ctr\u003e\n\u003ctd\u003eContinuous Current\u003c\/td\u003e\n\u003ctd\u003e~25–30A (with adequate heatsinking)\u003c\/td\u003e\n\u003c\/tr\u003e\n  \u003ctr\u003e\n\u003ctd\u003ePWM Frequency\u003c\/td\u003e\n\u003ctd\u003eUp to 25kHz\u003c\/td\u003e\n\u003c\/tr\u003e\n  \u003ctr\u003e\n\u003ctd\u003eLogic Voltage\u003c\/td\u003e\n\u003ctd\u003e3.3V \/ 5V compatible\u003c\/td\u003e\n\u003c\/tr\u003e\n  \u003ctr\u003e\n\u003ctd\u003eControl Signals\u003c\/td\u003e\n\u003ctd\u003eRPWM, LPWM, R_EN, L_EN (4-pin control interface)\u003c\/td\u003e\n\u003c\/tr\u003e\n  \u003ctr\u003e\n\u003ctd\u003eProtection\u003c\/td\u003e\n\u003ctd\u003eOvercurrent, overtemperature, undervoltage lockout\u003c\/td\u003e\n\u003c\/tr\u003e\n  \u003ctr\u003e\n\u003ctd\u003eOnboard Heatsink\u003c\/td\u003e\n\u003ctd\u003eYes (aluminum)\u003c\/td\u003e\n\u003c\/tr\u003e\n  \u003ctr\u003e\n\u003ctd\u003eOrigin\u003c\/td\u003e\n\u003ctd\u003eCN\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/table\u003e\n\n\u003ch2\u003eBTS7960 vs L298N — Why Upgrade?\u003c\/h2\u003e\n\u003ctable\u003e\n  \u003ctr\u003e\n\u003cth\u003eFeature\u003c\/th\u003e\n\u003cth\u003eBTS7960 Module\u003c\/th\u003e\n\u003cth\u003eL298N Module\u003c\/th\u003e\n\u003c\/tr\u003e\n  \u003ctr\u003e\n\u003ctd\u003ePeak Current\u003c\/td\u003e\n\u003ctd\u003e✅ 43A\u003c\/td\u003e\n\u003ctd\u003e❌ 2A\u003c\/td\u003e\n\u003c\/tr\u003e\n  \u003ctr\u003e\n\u003ctd\u003eVoltage Drop\u003c\/td\u003e\n\u003ctd\u003e✅ Low (\u0026lt;0.5V)\u003c\/td\u003e\n\u003ctd\u003e❌ High (~2V)\u003c\/td\u003e\n\u003c\/tr\u003e\n  \u003ctr\u003e\n\u003ctd\u003eEfficiency\u003c\/td\u003e\n\u003ctd\u003e✅ High (MOSFET-based)\u003c\/td\u003e\n\u003ctd\u003e❌ Low (BJT-based)\u003c\/td\u003e\n\u003c\/tr\u003e\n  \u003ctr\u003e\n\u003ctd\u003eProtection\u003c\/td\u003e\n\u003ctd\u003e✅ OCP + OTP + UVLO\u003c\/td\u003e\n\u003ctd\u003e❌ None\u003c\/td\u003e\n\u003c\/tr\u003e\n  \u003ctr\u003e\n\u003ctd\u003ePWM Frequency\u003c\/td\u003e\n\u003ctd\u003e✅ Up to 25kHz\u003c\/td\u003e\n\u003ctd\u003e❌ Up to ~20kHz\u003c\/td\u003e\n\u003c\/tr\u003e\n  \u003ctr\u003e\n\u003ctd\u003eBest For\u003c\/td\u003e\n\u003ctd\u003eHigh-power motors, robots, e-bikes\u003c\/td\u003e\n\u003ctd\u003eSmall hobby motors\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/table\u003e\n\n\u003ch2\u003eTypical Applications\u003c\/h2\u003e\n\u003cul\u003e\n  \u003cli\u003eHigh-torque DC motor control for robots and autonomous vehicles\u003c\/li\u003e\n  \u003cli\u003eElectric bicycle (e-bike) and scooter motor driver\u003c\/li\u003e\n  \u003cli\u003eIndustrial conveyor and actuator motor control\u003c\/li\u003e\n  \u003cli\u003eArduino and Raspberry Pi high-power motor projects\u003c\/li\u003e\n  \u003cli\u003eSmart car chassis motor driver (replacement for L298N)\u003c\/li\u003e\n  \u003cli\u003eWinch, crane, and linear actuator control\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch2\u003eFrequently Asked Questions\u003c\/h2\u003e\n\u003ch3\u003eQ: How do I control direction and speed with Arduino?\u003c\/h3\u003e\n\u003cp\u003eConnect RPWM to a PWM pin for forward speed, LPWM to a PWM pin for reverse speed, and R_EN\/L_EN to digital HIGH to enable the driver. For forward at 50% speed: \u003ccode\u003eanalogWrite(RPWM, 128); analogWrite(LPWM, 0);\u003c\/code\u003e. For reverse: \u003ccode\u003eanalogWrite(RPWM, 0); analogWrite(LPWM, 128);\u003c\/code\u003e.\u003c\/p\u003e\n\n\u003ch3\u003eQ: Does the module need an external heatsink?\u003c\/h3\u003e\n\u003cp\u003eThe onboard aluminum heatsink handles moderate loads. For sustained operation above 20A, add a fan or attach an additional heatsink to the BTS7960 ICs. Monitor the module temperature during initial testing at your target current level.\u003c\/p\u003e\n\n\u003ch2\u003ePackage Contents\u003c\/h2\u003e\n\u003cul\u003e\n  \u003cli\u003e1× BTS7960 43A H-Bridge Motor Driver Module\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"Keszoox","offers":[{"title":"BTS7960","offer_id":46985521529067,"sku":"14:351074#BTS7960","price":19.64,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0677\/1005\/8731\/files\/bts7960-smart-car-motor-driver-43a.webp?v=1761277401"},{"product_id":"l298n-dual-h-bridge-motor-driver-board-module-for-dc-and-stepper-motors-robot-car-control","title":"L298N Dual H-Bridge Motor Driver Board Module for DC and Stepper Motors Robot Car Control","description":"\u003ch1\u003eSPECIFICATIONS\u003c\/h1\u003e\u003cp\u003e\u003cspan\u003eBrand Name\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eKeszoox\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eChoice\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eyes\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eCondition\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eNew\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eDissipation Power\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eStandard\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eHigh-concerned chemical\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eNone\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eOperating Temperature\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eStandard\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eOrigin\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eMainland China\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eSupply Voltage\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eStandard\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eType\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eModule\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eis_customized\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eYes\u003c\/span\u003e\u003c\/p\u003e\u003cdiv class=\"detailmodule_html\"\u003e\u003cdiv class=\"detail-desc-decorate-richtext\"\u003e\n\u003cdiv class=\"detailmodule_text\"\u003e\n \u003cp class=\"detail-desc-decorate-title\" style=\"color:#000000;text-align:left;font-size:20px;font-weight:normal;margin-bottom:12px;white-space:pre-wrap;word-wrap:break-word;text-overflow:ellipsis;\"\u003e\u003cbr\u003e\u003c\/p\u003e\n \u003cp class=\"detail-desc-decorate-content\" style=\"color:#000000;text-align:None;font-size:12px;font-weight:normal;margin-bottom:2px;white-space:pre-wrap;word-wrap:break-word;text-overflow:ellipsis;\"\u003eNote:\u003c\/p\u003e\n \u003cp class=\"detail-desc-decorate-content\" style=\"color:#000000;text-align:None;font-size:12px;font-weight:normal;margin-bottom:2px;white-space:pre-wrap;word-wrap:break-word;text-overflow:ellipsis;\"\u003e\u003cbr\u003e\u003c\/p\u003e\n \u003cp class=\"detail-desc-decorate-content\" style=\"color:#000000;text-align:None;font-size:12px;font-weight:normal;margin-bottom:2px;white-space:pre-wrap;word-wrap:break-word;text-overflow:ellipsis;\"\u003e1. When your driving voltage (marked as 12V input in the above figure, the actual acceptable input range is 7-12V) is 7-12V, you can enable the on-board 5V logic power supply. When using the on-board 5V power supply, 5V in the interface\u003c\/p\u003e\n \u003cp class=\"detail-desc-decorate-content\" style=\"color:#000000;text-align:None;font-size:12px;font-weight:normal;margin-bottom:2px;white-space:pre-wrap;word-wrap:break-word;text-overflow:ellipsis;\"\u003e\u003cbr\u003e\u003c\/p\u003e\n \u003cp class=\"detail-desc-decorate-content\" style=\"color:#000000;text-align:None;font-size:12px;font-weight:normal;margin-bottom:2px;white-space:pre-wrap;word-wrap:break-word;text-overflow:ellipsis;\"\u003eThe power supply does not need to input voltage, but 5V voltage can be drawn for external use. (This is a regular application!)\u003c\/p\u003e\n \u003cp class=\"detail-desc-decorate-content\" style=\"color:#000000;text-align:None;font-size:12px;font-weight:normal;margin-bottom:2px;white-space:pre-wrap;word-wrap:break-word;text-overflow:ellipsis;\"\u003e\u003cbr\u003e\u003c\/p\u003e\n \u003cp class=\"detail-desc-decorate-content\" style=\"color:#000000;text-align:None;font-size:12px;font-weight:normal;margin-bottom:2px;white-space:pre-wrap;word-wrap:break-word;text-overflow:ellipsis;\"\u003e2. When the driving voltage is higher than 12V and less than or equal to 24V (the chip manual proposes to support 35V, but according to\u003c\/p\u003e\n \u003cp class=\"detail-desc-decorate-content\" style=\"color:#000000;text-align:None;font-size:12px;font-weight:normal;margin-bottom:2px;white-space:pre-wrap;word-wrap:break-word;text-overflow:ellipsis;\"\u003e\u003cbr\u003e\u003c\/p\u003e\n \u003cp class=\"detail-desc-decorate-content\" style=\"color:#000000;text-align:None;font-size:12px;font-weight:normal;margin-bottom:2px;white-space:pre-wrap;word-wrap:break-word;text-overflow:ellipsis;\"\u003eIt is already remarkable to test the conservative application voltage support to 24V in general 298!) When, for example, to drive a rated voltage\u003c\/p\u003e\n \u003cp class=\"detail-desc-decorate-content\" style=\"color:#000000;text-align:None;font-size:12px;font-weight:normal;margin-bottom:2px;white-space:pre-wrap;word-wrap:break-word;text-overflow:ellipsis;\"\u003e\u003cbr\u003e\u003c\/p\u003e\n \u003cp class=\"detail-desc-decorate-content\" style=\"color:#000000;text-align:None;font-size:12px;font-weight:normal;margin-bottom:2px;white-space:pre-wrap;word-wrap:break-word;text-overflow:ellipsis;\"\u003e18V motor. The jumper cap for the onboard 5V output enable must first be removed. Then connect 5V externally to the 5V output port\u003c\/p\u003e\n \u003cp class=\"detail-desc-decorate-content\" style=\"color:#000000;text-align:None;font-size:12px;font-weight:normal;margin-bottom:2px;white-space:pre-wrap;word-wrap:break-word;text-overflow:ellipsis;\"\u003e\u003cbr\u003e\u003c\/p\u003e\n \u003cp class=\"detail-desc-decorate-content\" style=\"color:#000000;text-align:None;font-size:12px;font-weight:normal;margin-bottom:2px;white-space:pre-wrap;word-wrap:break-word;text-overflow:ellipsis;\"\u003e5V enable is a control signal with a level of 5V. When this signal input is valid and the power supply in the motor drive module is normal, the motor drive module outputs current. Otherwise, even if the power supply is normal, there is no current on the motor.\u003c\/p\u003e\n \u003cp class=\"detail-desc-decorate-content\" style=\"color:#000000;text-align:None;font-size:12px;font-weight:normal;margin-bottom:2px;white-space:pre-wrap;word-wrap:break-word;text-overflow:ellipsis;\"\u003e\u003cbr\u003e\u003c\/p\u003e\n \u003cp class=\"detail-desc-decorate-content\" style=\"color:#000000;text-align:None;font-size:12px;font-weight:normal;margin-bottom:2px;white-space:pre-wrap;word-wrap:break-word;text-overflow:ellipsis;\"\u003eThe voltage supplies the L298N internal logic circuit. (This is an unconventional application of high-voltage drive!)\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"detailmodule_image\"\u003e\n \u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/S7c12af68671947e19b5f50c0cfd5f6ef9.jpg\" data-src=\"D:\\全球交易助手\\产品管理\\Platforms\\AliChoice\\Data\\AliChoice-cn1093225002neeae-6000948202\\Images\\42ae444b7a6f4ca2969733251ad8ad0d\\dImgNew\\DImgNew2_gqirc12n.jpg\"\u003e\n \u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/S1d281d9d549242f0ac6c436f0b1d0ab6E.jpg\" data-src=\"D:\\全球交易助手\\产品管理\\Platforms\\AliChoice\\Data\\AliChoice-cn1093225002neeae-6000948202\\Images\\42ae444b7a6f4ca2969733251ad8ad0d\\dImgNew\\DImgNew3_gqirc12n.jpg\"\u003e\n \u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/S451c1ebfc9604436af53aca77155df07I.jpg\" data-src=\"D:\\全球交易助手\\产品管理\\Platforms\\AliChoice\\Data\\AliChoice-cn1093225002neeae-6000948202\\Images\\42ae444b7a6f4ca2969733251ad8ad0d\\dImgNew\\DImgNew4_gqirc12n.jpg\"\u003e\n \u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/S0e303c2fb36643aca288618fff68ec28v.jpg\" data-src=\"D:\\全球交易助手\\产品管理\\Platforms\\AliChoice\\Data\\AliChoice-cn1093225002neeae-6000948202\\Images\\42ae444b7a6f4ca2969733251ad8ad0d\\dImgNew\\DImgNew5_gqirc12n.jpg\"\u003e\n \u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/Sbb6d35d9c77d4befae0d699f8dafb1b6j.jpg\" data-src=\"D:\\全球交易助手\\产品管理\\Platforms\\AliChoice\\Data\\AliChoice-cn1093225002neeae-6000948202\\Images\\42ae444b7a6f4ca2969733251ad8ad0d\\dImgNew\\DImgNew6_gqirc12n.jpg\"\u003e\n \u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/Sfa5052da010a431dabe2b5e31f439457O.jpg\" data-src=\"D:\\全球交易助手\\产品管理\\Platforms\\AliChoice\\Data\\AliChoice-cn1093225002neeae-6000948202\\Images\\42ae444b7a6f4ca2969733251ad8ad0d\\dImgNew\\DImgNew7_gqirc12n.jpg\"\u003e\n \u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/Sf53cc8806cf346dd9660d2a37884e0e70.jpg\" data-src=\"D:\\全球交易助手\\产品管理\\Platforms\\AliChoice\\Data\\AliChoice-cn1093225002neeae-6000948202\\Images\\42ae444b7a6f4ca2969733251ad8ad0d\\dImgNew\\DImgNew8_wfo7l18o.jpg\"\u003e\n \u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/Sf36ad914b00e4ce4bc3f31502d256711k.jpg\" data-src=\"D:\\全球交易助手\\产品管理\\Platforms\\AliChoice\\Data\\AliChoice-cn1093225002neeae-6000948202\\Images\\42ae444b7a6f4ca2969733251ad8ad0d\\dImgNew\\DImgNew9_wfo7l18o.jpg\"\u003e\n\u003c\/div\u003e\n\u003cdiv class=\"detailmodule_image\"\u003e\n \u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/S0e21b31a354d4289bbadaf8a3b46d5b4o.jpg\" data-src=\"D:\\全球交易助手\\产品管理\\Platforms\\AliChoice\\Data\\AliChoice-cn1093225002neeae-6000948202\\Images\\42ae444b7a6f4ca2969733251ad8ad0d\\dImgNew\\DImgNew10_nfpqcpnd.jpg\"\u003e\n \u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/S4773dcc652a4420b89fc2d6ee201354eA.jpg\" data-src=\"D:\\全球交易助手\\产品管理\\Platforms\\AliChoice\\Data\\AliChoice-cn1093225002neeae-6000948202\\Images\\42ae444b7a6f4ca2969733251ad8ad0d\\dImgNew\\DImgNew11_nfpqcpnd.jpg\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003c\/div\u003e\r\n","brand":"Keszoox","offers":[{"title":"L298N","offer_id":46985528901867,"sku":"14:1202#L298N","price":13.32,"currency_code":"USD","in_stock":true},{"title":"New L298N","offer_id":46985528934635,"sku":"14:350852#New L298N","price":17.04,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0677\/1005\/8731\/files\/l298n-dual-h-bridge-motor-driver-board-module.webp?v=1761273655"},{"product_id":"tb6612fng-drv8833-dual-motor-driver-module-1-2a-3-2a-peak-arduino","title":"TB6612FNG \/ DRV8833 Dual Motor Driver Module | 1.2A \/ 3.2A Peak | CW\/CCW\/Brake\/Stop | Arduino Microcontroller","description":"\u003ch2\u003eTB6612FNG \/ DRV8833 Dual Motor Driver Module — 1.2A \/ 3.2A Peak | CW\/CCW\/Brake\/Stop | Arduino\u003c\/h2\u003e\n\n\u003cp\u003eA compact \u003cstrong\u003edual H-bridge motor driver module\u003c\/strong\u003e based on the Toshiba TB6612FNG or Texas Instruments DRV8833 IC — providing independent bidirectional control of two DC motors (or one stepper motor) from any microcontroller with PWM output. The H-bridge architecture enables full CW\/CCW rotation, PWM speed control, active braking, and coast (stop) modes for each motor channel independently. Built-in thermal shutdown and low voltage detection protect the driver IC from damage under fault conditions. The 0.8×0.8 inch form factor fits in compact robot and automation projects. Available in TB6612FNG (welded), TB6612FNG (solderless), and DRV8833 variants.\u003c\/p\u003e\n\n\u003ch3\u003eSpecifications\u003c\/h3\u003e\n\u003ctable\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eDriver IC Options\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003eTB6612FNG (Toshiba) \/ DRV8833 (Texas Instruments)\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eMotor Supply Voltage (VM)\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003e2.5V – 15V (TB6612FNG) \/ 2.7V – 10.8V (DRV8833)\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eLogic Supply Voltage (VCC)\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003e2.7V – 5.5V\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eOutput Current (average)\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003e1.2A per channel\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eOutput Current (peak)\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003e3.2A per channel\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eMotor Channels\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003e2 (independent)\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eControl Modes\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003eCW \/ CCW \/ Short Brake \/ Stop (coast)\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eStandby Control\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003eYes (STBY pin)\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eProtection\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003eThermal shutdown, low voltage detection\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eDimensions\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003e0.8 × 0.8 inches (~20 × 20mm)\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eOrigin\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003eMainland China\u003c\/td\u003e\n\u003c\/tr\u003e\n  \u003c\/tbody\u003e\n\u003c\/table\u003e\n\n\u003ch3\u003eTB6612FNG vs. DRV8833 — Which to Choose\u003c\/h3\u003e\n\u003ctable\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n\u003cth\u003eFeature\u003c\/th\u003e\n\u003cth\u003eTB6612FNG\u003c\/th\u003e\n\u003cth\u003eDRV8833\u003c\/th\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eMotor supply voltage\u003c\/td\u003e\n\u003ctd\u003e2.5V – 15V\u003c\/td\u003e\n\u003ctd\u003e2.7V – 10.8V\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eOutput current (avg)\u003c\/td\u003e\n\u003ctd\u003e1.2A per channel\u003c\/td\u003e\n\u003ctd\u003e1.5A per channel\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eOutput current (peak)\u003c\/td\u003e\n\u003ctd\u003e3.2A per channel\u003c\/td\u003e\n\u003ctd\u003e2.0A per channel\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eStandby mode\u003c\/td\u003e\n\u003ctd\u003eYes (STBY pin)\u003c\/td\u003e\n\u003ctd\u003eSleep mode\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eBest for\u003c\/td\u003e\n\u003ctd\u003eHigher voltage motors, peak current applications\u003c\/td\u003e\n\u003ctd\u003eLower voltage, higher average current\u003c\/td\u003e\n\u003c\/tr\u003e\n  \u003c\/tbody\u003e\n\u003c\/table\u003e\n\n\u003ch3\u003eControl Mode Truth Table (TB6612FNG)\u003c\/h3\u003e\n\u003ctable\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n\u003cth\u003eIN1\u003c\/th\u003e\n\u003cth\u003eIN2\u003c\/th\u003e\n\u003cth\u003ePWM\u003c\/th\u003e\n\u003cth\u003eMode\u003c\/th\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eH\u003c\/td\u003e\n\u003ctd\u003eL\u003c\/td\u003e\n\u003ctd\u003eH\u003c\/td\u003e\n\u003ctd\u003eCW (clockwise)\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eL\u003c\/td\u003e\n\u003ctd\u003eH\u003c\/td\u003e\n\u003ctd\u003eH\u003c\/td\u003e\n\u003ctd\u003eCCW (counter-clockwise)\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eH\u003c\/td\u003e\n\u003ctd\u003eH\u003c\/td\u003e\n\u003ctd\u003eH\u003c\/td\u003e\n\u003ctd\u003eShort brake\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003eL\u003c\/td\u003e\n\u003ctd\u003eL\u003c\/td\u003e\n\u003ctd\u003eX\u003c\/td\u003e\n\u003ctd\u003eStop (coast)\u003c\/td\u003e\n\u003c\/tr\u003e\n  \u003c\/tbody\u003e\n\u003c\/table\u003e\n\n\u003ch3\u003eKey Features\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e✅ \u003cstrong\u003eDual H-bridge\u003c\/strong\u003e — independent bidirectional control of 2 DC motors or 1 stepper motor\u003c\/li\u003e\n  \u003cli\u003e✅ \u003cstrong\u003e1.2A average \/ 3.2A peak per channel\u003c\/strong\u003e — handles small to medium DC motors\u003c\/li\u003e\n  \u003cli\u003e✅ \u003cstrong\u003eCW\/CCW\/brake\/stop modes\u003c\/strong\u003e — full motor control including active braking\u003c\/li\u003e\n  \u003cli\u003e✅ \u003cstrong\u003ePWM speed control\u003c\/strong\u003e — smooth speed control via PWM signal from Arduino\u003c\/li\u003e\n  \u003cli\u003e✅ \u003cstrong\u003e2.7V–5.5V logic supply\u003c\/strong\u003e — compatible with Arduino (5V) and ESP32\/STM32 (3.3V)\u003c\/li\u003e\n  \u003cli\u003e✅ \u003cstrong\u003eThermal shutdown\u003c\/strong\u003e — protects the driver IC from overtemperature damage\u003c\/li\u003e\n  \u003cli\u003e✅ \u003cstrong\u003eLow voltage detection\u003c\/strong\u003e — protects motors from undervoltage operation\u003c\/li\u003e\n  \u003cli\u003e✅ \u003cstrong\u003eCompact 0.8×0.8 inch\u003c\/strong\u003e — fits in small robot and automation project enclosures\u003c\/li\u003e\n  \u003cli\u003e✅ \u003cstrong\u003eStandby control\u003c\/strong\u003e — STBY pin enables low-power standby mode\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eCommon Applications\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eArduino DC motor control (2 motors)\u003c\/li\u003e\n  \u003cli\u003eRobot drive motor controller\u003c\/li\u003e\n  \u003cli\u003eStepper motor driver (bipolar stepper, 1 motor)\u003c\/li\u003e\n  \u003cli\u003eRC car motor controller\u003c\/li\u003e\n  \u003cli\u003eCamera gimbal motor driver\u003c\/li\u003e\n  \u003cli\u003eConveyor and automation motor control\u003c\/li\u003e\n  \u003cli\u003eFan speed control\u003c\/li\u003e\n  \u003cli\u003ePump motor control\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eArduino Wiring (TB6612FNG)\u003c\/h3\u003e\n\u003col\u003e\n  \u003cli\u003eConnect VM to motor supply voltage (2.5V–15V).\u003c\/li\u003e\n  \u003cli\u003eConnect VCC to Arduino 5V (logic supply).\u003c\/li\u003e\n  \u003cli\u003eConnect GND to Arduino GND.\u003c\/li\u003e\n  \u003cli\u003eConnect STBY to Arduino 5V (or a digital pin) to enable the driver.\u003c\/li\u003e\n  \u003cli\u003eConnect AIN1, AIN2 to Arduino digital pins for motor A direction control.\u003c\/li\u003e\n  \u003cli\u003eConnect PWMA to Arduino PWM pin for motor A speed control.\u003c\/li\u003e\n  \u003cli\u003eConnect motor A wires to AO1 and AO2 terminals.\u003c\/li\u003e\n  \u003cli\u003eRepeat for motor B (BIN1, BIN2, PWMB, BO1, BO2).\u003c\/li\u003e\n\u003c\/ol\u003e\n\n\u003ch3\u003eFrequently Asked Questions\u003c\/h3\u003e\n\u003cp\u003e\u003cstrong\u003eQ: Can I drive a stepper motor with this module?\u003c\/strong\u003e\u003cbr\u003eA: Yes. Connect the two coils of a bipolar stepper motor to channels A and B. Use a stepper library (e.g., AccelStepper) to control the step sequence.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eQ: What is the difference between “welded” and “solderless” TB6612FNG variants?\u003c\/strong\u003e\u003cbr\u003eA: The “welded” variant has header pins pre-soldered. The “solderless” variant is supplied without header pins, allowing you to solder your own headers or wires directly to the PCB pads.\u003c\/p\u003e\n\n\u003ch3\u003ePackage Contents\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e1× TB6612FNG or DRV8833 Dual Motor Driver Module (variant as selected)\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"Keszoox","offers":[{"title":"TB6612FNG Weld","offer_id":46985553412331,"sku":"14:173#TB6612FNG Weld","price":11.8,"currency_code":"USD","in_stock":true},{"title":"DRV8833","offer_id":46985553445099,"sku":"14:193#DRV8833","price":8.24,"currency_code":"USD","in_stock":true},{"title":"TB6612FNG solderless","offer_id":46985553477867,"sku":"14:29#TB6612FNG solderless","price":10.8,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0677\/1005\/8731\/files\/tb6612fng-dual-motor-driver-arduino.webp?v=1761197735"},{"product_id":"cnc-shield-v3-expansion-board-for-engraving-machine-and-3d-printer-with-a4988-drv8825-drivers","title":"CNC Shield V3 Expansion Board for Engraving Machine and 3D Printer with A4988\/DRV8825 Drivers","description":"\u003ch1\u003eSPECIFICATIONS\u003c\/h1\u003e\u003cp\u003e\u003cspan\u003eApplication\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eComputer\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eBrand Name\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eKeszoox\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eCondition\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eNew\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eDissipation Power\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003e...\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eFunctions\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eElectronic Module\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eHigh-concerned chemical\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eNone\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eOperating Temperature\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003e-40-+85\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eOrigin\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eMainland China\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003ePackage\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eDIY KIT\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eRange of application\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eSwitch And Sensor For Arduino STM\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eSupply Voltage\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003e...\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eType\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eModule\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eis_customized\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eYes\u003c\/span\u003e\u003c\/p\u003e\u003cdiv class=\"detailmodule_html\"\u003e\u003cdiv class=\"detail-desc-decorate-richtext\"\u003e\n\u003cp\u003e\u003cimg style=\"width:1000px;\" src=\"https:\/\/ae01.alicdn.com\/kf\/S4037fb89b940431e971082b22696f8bdw.jpg\" data-src=\"https:\/\/ae01.alicdn.com\/kf\/S4037fb89b940431e971082b22696f8bdw.jpg\"\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cimg style=\"width:1000px;\" src=\"https:\/\/ae01.alicdn.com\/kf\/S5e5f34b99c2e45f59b38bb71642b66323.jpg\" data-src=\"https:\/\/ae01.alicdn.com\/kf\/S5e5f34b99c2e45f59b38bb71642b66323.jpg\"\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cimg style=\"width:1000px;\" src=\"https:\/\/ae01.alicdn.com\/kf\/Sfd41a9b3188640b1b3e345478f9f86d44.jpg\" data-src=\"https:\/\/ae01.alicdn.com\/kf\/Sfd41a9b3188640b1b3e345478f9f86d44.jpg\"\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cimg style=\"width:1000px;\" src=\"https:\/\/ae01.alicdn.com\/kf\/Sa2088e3d748b4342be3ed5717bf094d0o.jpg\" data-src=\"https:\/\/ae01.alicdn.com\/kf\/Sa2088e3d748b4342be3ed5717bf094d0o.jpg\"\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cimg style=\"width:1000px;\" src=\"https:\/\/ae01.alicdn.com\/kf\/Sa0e902d5e68049cbb8dc47491dd06fbeQ.jpg\" data-src=\"https:\/\/ae01.alicdn.com\/kf\/Sa0e902d5e68049cbb8dc47491dd06fbeQ.jpg\"\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cimg style=\"width:1000px;\" src=\"https:\/\/ae01.alicdn.com\/kf\/Seee4db6272f14b91acb253b30eda69d3z.jpg\" data-src=\"https:\/\/ae01.alicdn.com\/kf\/Seee4db6272f14b91acb253b30eda69d3z.jpg\"\u003e\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/div\u003e\r\n","brand":"Keszoox","offers":[{"title":"DRV8825 1set","offer_id":46991427010795,"sku":"14:350852#DRV8825 1set","price":27.32,"currency_code":"USD","in_stock":true},{"title":"a4988 1set","offer_id":46991427043563,"sku":"14:1202#a4988 1set","price":19.72,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0677\/1005\/8731\/files\/cnc-shield-v3-expansion-board-a4988-drv8825.webp?v=1761885188"},{"product_id":"tt-gear-motor-3-12v-dc-1-48-ratio-800gf-cm-torque-arduino-robot-chassis","title":"TT Gear Motor — 3–12V DC, 1:48 Ratio, 800gf·cm Torque, Arduino Robot Chassis Drive","description":"\u003ch2\u003eTT Gear Motor — 3–12V DC, 1:48 Gear Ratio, 800gf·cm Torque, Arduino Robot Chassis\u003c\/h2\u003e\u003cp\u003eThe \u003cstrong\u003eTT gear motor\u003c\/strong\u003e (also known as the \"yellow motor\" or \"smart car motor\") is the most widely used DC gear motor for Arduino robot chassis, smart car kits, and DIY wheeled robots. With a 1:48 gear ratio delivering 800gf·cm of torque and a wide 3–12V operating range, it provides the right balance of speed and torque for two-wheel and four-wheel drive robot platforms.\u003c\/p\u003e\u003ch3\u003eKey Specifications\u003c\/h3\u003e\u003ctable\u003e\n\u003cthead\u003e\u003ctr\u003e\n\u003cth\u003eParameter\u003c\/th\u003e\n\u003cth\u003eValue\u003c\/th\u003e\n\u003c\/tr\u003e\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eOperating Voltage\u003c\/td\u003e\n\u003ctd\u003e3V – 12V DC\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eGear Ratio\u003c\/td\u003e\n\u003ctd\u003e1:48\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eNo-Load Speed (5V)\u003c\/td\u003e\n\u003ctd\u003e~200 RPM\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eNo-Load Current\u003c\/td\u003e\n\u003ctd\u003e~70mA\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eLoad Current\u003c\/td\u003e\n\u003ctd\u003e~70mA (rated)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eStall Torque\u003c\/td\u003e\n\u003ctd\u003e800gf·cm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eShaft Diameter\u003c\/td\u003e\n\u003ctd\u003eD-shaped, compatible with TT wheels\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eEMC\u003c\/td\u003e\n\u003ctd\u003eCapacitor-equipped for noise suppression\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\u003ch3\u003eTT Motor vs N20 Motor — Which to Choose?\u003c\/h3\u003e\u003ctable\u003e\n\u003cthead\u003e\u003ctr\u003e\n\u003cth\u003eFeature\u003c\/th\u003e\n\u003cth\u003eTT Gear Motor\u003c\/th\u003e\n\u003cth\u003eN20 Gear Motor\u003c\/th\u003e\n\u003c\/tr\u003e\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eSize\u003c\/td\u003e\n\u003ctd\u003eLarger\u003c\/td\u003e\n\u003ctd\u003eCompact (20mm diameter)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eTorque\u003c\/td\u003e\n\u003ctd\u003e800gf·cm\u003c\/td\u003e\n\u003ctd\u003eUp to 1000gf·cm (varies)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eCost\u003c\/td\u003e\n\u003ctd\u003eLower\u003c\/td\u003e\n\u003ctd\u003eHigher\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eBest For\u003c\/td\u003e\n\u003ctd\u003eStandard robot chassis, smart cars\u003c\/td\u003e\n\u003ctd\u003eCompact robots, precision mechanisms\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\u003ch3\u003eWhy Choose TT Gear Motor?\u003c\/h3\u003e\u003cul\u003e\n\u003cli\u003e✅ \u003cstrong\u003eUniversal robot chassis standard\u003c\/strong\u003e — fits all standard TT motor mounts and brackets\u003c\/li\u003e\n\u003cli\u003e✅ \u003cstrong\u003e3–12V wide range\u003c\/strong\u003e — works with 3.7V LiPo, 5V USB, 6V AA pack, or 12V supply\u003c\/li\u003e\n\u003cli\u003e✅ \u003cstrong\u003eD-shaft output\u003c\/strong\u003e — compatible with all standard TT wheels (65mm, 68mm)\u003c\/li\u003e\n\u003cli\u003e✅ \u003cstrong\u003eEMC capacitors\u003c\/strong\u003e — reduces PWM noise interference on microcontroller\u003c\/li\u003e\n\u003cli\u003e✅ \u003cstrong\u003eLow cost\u003c\/strong\u003e — most affordable motor for robot chassis builds\u003c\/li\u003e\n\u003c\/ul\u003e\u003ch3\u003eTypical Applications\u003c\/h3\u003e\u003cul\u003e\n\u003cli\u003eArduino smart car and line-following robot\u003c\/li\u003e\n\u003cli\u003e2WD \/ 4WD robot chassis drive\u003c\/li\u003e\n\u003cli\u003eDIY wheeled robot platform\u003c\/li\u003e\n\u003cli\u003eObstacle avoidance robot\u003c\/li\u003e\n\u003cli\u003eRemote-controlled car build\u003c\/li\u003e\n\u003cli\u003eSTEM education robotics kit\u003c\/li\u003e\n\u003c\/ul\u003e\u003ch3\u003ePackage Contents\u003c\/h3\u003e\u003cul\u003e\u003cli\u003e1 × TT DC Gear Motor (3–12V, 1:48)\u003c\/li\u003e\u003c\/ul\u003e\u003cp\u003e\u003cem\u003eWheels and motor driver not included.\u003c\/em\u003e\u003c\/p\u003e","brand":"Keszoox","offers":[{"title":"motor","offer_id":46991432876267,"sku":"14:350852#motor","price":5.24,"currency_code":"USD","in_stock":true},{"title":"wheel","offer_id":46991432909035,"sku":"14:10#wheel","price":4.96,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0677\/1005\/8731\/files\/tt-gear-motor-arduino-smart-car-robot.webp?v=1761882256"},{"product_id":"tt-130-dc-gear-motor-3v-6v-arduino-smart-car-robot-chassis","title":"TT 130 DC Gear Motor — 3V–6V, Arduino Smart Car \u0026 Robot Chassis Drive","description":"\u003ch2\u003eTT 130 DC Gear Motor — 3V–6V, Arduino Smart Car \u0026amp; Robot Chassis\u003c\/h2\u003e\u003cp\u003eThe \u003cstrong\u003eTT 130 gear motor\u003c\/strong\u003e is a compact, lightweight DC gear motor designed for Arduino smart car kits, 2WD\/4WD robot chassis, and DIY wheeled robot platforms. Operating on 3–6V DC, it is compatible with standard TT motor mounts, 65mm rubber wheels, and L298N \/ L9110S motor driver modules, making it the ideal drive motor for beginner and intermediate robotics projects.\u003c\/p\u003e\u003ch3\u003eKey Specifications\u003c\/h3\u003e\u003ctable\u003e\n\u003cthead\u003e\u003ctr\u003e\n\u003cth\u003eParameter\u003c\/th\u003e\n\u003cth\u003eValue\u003c\/th\u003e\n\u003c\/tr\u003e\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eOperating Voltage\u003c\/td\u003e\n\u003ctd\u003e3V – 6V DC\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMotor Type\u003c\/td\u003e\n\u003ctd\u003e130 DC motor with gearbox\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eShaft Type\u003c\/td\u003e\n\u003ctd\u003eD-shaped (TT wheel compatible)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eCompatible Wheels\u003c\/td\u003e\n\u003ctd\u003e65mm TT rubber wheels\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eCompatible Drivers\u003c\/td\u003e\n\u003ctd\u003eL298N, L9110S, TB6612FNG\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMount Type\u003c\/td\u003e\n\u003ctd\u003eStandard TT motor bracket compatible\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\u003ch3\u003eWhy Choose TT 130 Motor?\u003c\/h3\u003e\u003cul\u003e\n\u003cli\u003e✅ \u003cstrong\u003e3–6V operating range\u003c\/strong\u003e — compatible with 3.7V LiPo, 4×AA (6V), and 5V USB power\u003c\/li\u003e\n\u003cli\u003e✅ \u003cstrong\u003eStandard TT form factor\u003c\/strong\u003e — fits all standard TT motor mounts and chassis kits\u003c\/li\u003e\n\u003cli\u003e✅ \u003cstrong\u003eD-shaft output\u003c\/strong\u003e — secure fit with 65mm TT wheels, no slipping\u003c\/li\u003e\n\u003cli\u003e✅ \u003cstrong\u003eLightweight\u003c\/strong\u003e — minimal weight addition to robot chassis\u003c\/li\u003e\n\u003cli\u003e✅ \u003cstrong\u003eLow cost\u003c\/strong\u003e — affordable for multi-motor 4WD builds\u003c\/li\u003e\n\u003c\/ul\u003e\u003ch3\u003eTypical Applications\u003c\/h3\u003e\u003cul\u003e\n\u003cli\u003eArduino 2WD \/ 4WD smart car chassis\u003c\/li\u003e\n\u003cli\u003eLine-following robot drive motor\u003c\/li\u003e\n\u003cli\u003eObstacle avoidance robot\u003c\/li\u003e\n\u003cli\u003eRemote-controlled wheeled robot\u003c\/li\u003e\n\u003cli\u003eSTEM education robotics kit\u003c\/li\u003e\n\u003cli\u003eDIY conveyor belt and mechanism drive\u003c\/li\u003e\n\u003c\/ul\u003e\u003ch3\u003ePackage Contents\u003c\/h3\u003e\u003cul\u003e\u003cli\u003e1 × TT 130 DC Gear Motor\u003c\/li\u003e\u003c\/ul\u003e\u003cp\u003e\u003cem\u003eWheels, motor driver, and chassis not included.\u003c\/em\u003e\u003c\/p\u003e","brand":"Keszoox","offers":[{"title":"Default Title","offer_id":46991433105643,"sku":"\u003cnone\u003e","price":9.08,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0677\/1005\/8731\/files\/tt-130-gear-motor-arduino-smart-car-robot-dc-3-6v.webp?v=1761882133"},{"product_id":"l298n-dual-h-bridge-motor-driver-module-dc-stepper-2a-5-35v-arduino","title":"L298N Dual H-Bridge Motor Driver Module — DC \u0026 Stepper, 2A, 5–35V, for Arduino","description":"\u003ch2\u003eL298N Dual H-Bridge Motor Driver Module — DC \u0026amp; Stepper, 2A, 5–35V\u003c\/h2\u003e\u003cp\u003eThe \u003cstrong\u003eL298N motor driver module\u003c\/strong\u003e is the most widely used dual H-bridge motor driver for Arduino robotics and automation projects. It drives two DC motors or one bipolar stepper motor at up to 2A per channel from a 5–35V supply, with onboard 5V regulator to power the Arduino directly from the motor supply. PWM speed control and direction control are handled via simple digital GPIO pins.\u003c\/p\u003e\u003ch3\u003eKey Specifications\u003c\/h3\u003e\u003ctable\u003e\n\u003cthead\u003e\u003ctr\u003e\n\u003cth\u003eParameter\u003c\/th\u003e\n\u003cth\u003eValue\u003c\/th\u003e\n\u003c\/tr\u003e\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eIC\u003c\/td\u003e\n\u003ctd\u003eST L298N\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMotor Supply Voltage\u003c\/td\u003e\n\u003ctd\u003e5V – 35V DC\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eLogic Supply\u003c\/td\u003e\n\u003ctd\u003e5V (onboard regulator from motor supply)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMax Output Current\u003c\/td\u003e\n\u003ctd\u003e2A per channel (peak)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMax Power Dissipation\u003c\/td\u003e\n\u003ctd\u003e20W\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMotor Channels\u003c\/td\u003e\n\u003ctd\u003e2 (A and B)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eControl Interface\u003c\/td\u003e\n\u003ctd\u003eDigital GPIO (IN1–IN4) + PWM (ENA, ENB)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMCU Logic Level\u003c\/td\u003e\n\u003ctd\u003e3.3V or 5V compatible\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eOnboard 5V Output\u003c\/td\u003e\n\u003ctd\u003eYes (powers Arduino from motor supply)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\u003ch3\u003eWiring Guide (Arduino)\u003c\/h3\u003e\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eENA\u003c\/strong\u003e → Arduino PWM pin (speed control motor A)\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eIN1, IN2\u003c\/strong\u003e → Arduino digital pins (direction motor A)\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eIN3, IN4\u003c\/strong\u003e → Arduino digital pins (direction motor B)\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eENB\u003c\/strong\u003e → Arduino PWM pin (speed control motor B)\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e12V\u003c\/strong\u003e → Motor supply (6–35V)\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e5V out\u003c\/strong\u003e → Arduino 5V pin (powers Arduino)\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eGND\u003c\/strong\u003e → Common ground\u003c\/li\u003e\n\u003c\/ul\u003e\u003ch3\u003eWhy Choose L298N?\u003c\/h3\u003e\u003cul\u003e\n\u003cli\u003e✅ \u003cstrong\u003e2A per channel\u003c\/strong\u003e — drives TT motors, N20 motors, and NEMA 17 steppers\u003c\/li\u003e\n\u003cli\u003e✅ \u003cstrong\u003eOnboard 5V regulator\u003c\/strong\u003e — powers Arduino directly from motor battery\u003c\/li\u003e\n\u003cli\u003e✅ \u003cstrong\u003ePWM speed control\u003c\/strong\u003e — smooth variable speed via analogWrite()\u003c\/li\u003e\n\u003cli\u003e✅ \u003cstrong\u003e3.3V \/ 5V logic\u003c\/strong\u003e — compatible with Arduino, ESP32, Raspberry Pi\u003c\/li\u003e\n\u003cli\u003e✅ \u003cstrong\u003eIndustry standard\u003c\/strong\u003e — extensive library and tutorial support\u003c\/li\u003e\n\u003c\/ul\u003e\u003ch3\u003eTypical Applications\u003c\/h3\u003e\u003cul\u003e\n\u003cli\u003eArduino 2WD \/ 4WD robot chassis motor control\u003c\/li\u003e\n\u003cli\u003eBipolar stepper motor driver (NEMA 17, 28BYJ-48 with adapter)\u003c\/li\u003e\n\u003cli\u003eDC motor speed and direction control\u003c\/li\u003e\n\u003cli\u003eSmart car and line-following robot\u003c\/li\u003e\n\u003cli\u003eCNC and 3D printer axis driver (low-current)\u003c\/li\u003e\n\u003c\/ul\u003e\u003ch3\u003ePackage Contents\u003c\/h3\u003e\u003cul\u003e\u003cli\u003e1 × L298N Dual H-Bridge Motor Driver Module\u003c\/li\u003e\u003c\/ul\u003e","brand":"Keszoox","offers":[{"title":"Default Title","offer_id":46991446343915,"sku":"\u003cnone\u003e","price":11.44,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0677\/1005\/8731\/files\/l298n-dual-h-bridge-dc-stepper-motor-driver-module.webp?v=1761805516"},{"product_id":"mini-l293d-motor-driver-shield-4-5-25v-600ma-arduino-uno-mega","title":"Mini L293D Motor Driver Shield — 4.5–25V, 600mA\/ch, Arduino UNO \u0026 Mega 2560","description":"\u003ch2\u003eMini L293D Motor Driver Shield — 4.5–25V, 600mA\/ch, Arduino UNO \u0026amp; Mega 2560\u003c\/h2\u003e\n\n\u003cp\u003eThis \u003cstrong\u003emini L293D motor driver shield\u003c\/strong\u003e plugs directly into Arduino UNO or Mega 2560 pin headers, providing a dual H-bridge motor driver for controlling DC motors, stepper motors, and other inductive loads. The L293D IC provides 600mA continuous output per channel (1.2A peak) with built-in overtemperature protection and internal clamp diodes for inductive load protection. Input voltage 4.5–25V DC.\u003c\/p\u003e\n\n\u003ch3\u003eSpecifications\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eDriver IC:\u003c\/strong\u003e L293D (dual H-bridge)\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eInput Voltage:\u003c\/strong\u003e DC 4.5V – 25V\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eOutput Current:\u003c\/strong\u003e 600mA per channel (continuous)\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003ePeak Current:\u003c\/strong\u003e 1.2A per channel (non-repetitive)\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eChannels:\u003c\/strong\u003e 2 H-bridge channels (controls 2 DC motors or 1 stepper)\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eProtection:\u003c\/strong\u003e Overtemperature shutdown, internal clamp diodes\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eLogic Input:\u003c\/strong\u003e Up to 1.5V = logic “0” (TTL compatible)\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003ePWM Frequency:\u003c\/strong\u003e Up to 5kHz\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eCompatible:\u003c\/strong\u003e Arduino UNO R3, Mega 2560\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eL293D vs L298N Motor Driver\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eL293D (this shield):\u003c\/strong\u003e 600mA\/ch, built-in clamp diodes, compact shield form — for small DC motors and steppers\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eL298N module:\u003c\/strong\u003e 2A\/ch, external diodes needed, larger module — for higher current motors\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eTypical Applications\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eArduino 2-wheel robot DC motor control\u003c\/li\u003e\n  \u003cli\u003eStepper motor control (bipolar, 4-wire)\u003c\/li\u003e\n  \u003cli\u003eSmall conveyor and actuator control\u003c\/li\u003e\n  \u003cli\u003ePan-tilt mechanism motor drive\u003c\/li\u003e\n  \u003cli\u003eArduino motor control learning project\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003cp\u003eMini L293D motor driver shield — 4.5–25V, 600mA\/ch, 1.2A peak, overtemperature protection for Arduino UNO and Mega 2560 DC motor and stepper control.\u003c\/p\u003e","brand":"Keszoox","offers":[{"title":"Default Title","offer_id":46991447458027,"sku":"\u003cnone\u003e","price":7.56,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0677\/1005\/8731\/files\/mini-l293d-motor-driver-module-arduino-expansion-board.webp?v=1761805007"},{"product_id":"mx612e-brushed-dc-motor-driver-sop8-1-2s-lipo-dual-hbridge-5pack","title":"MX612E Brushed DC Motor Driver IC — SOP-8, 1–2S Li-ion, Dual H-Bridge (5-Pack)","description":"\u003ch2\u003eMX612E Brushed DC Motor Driver IC — SOP-8, 1–2S Li-ion, Dual H-Bridge\u003c\/h2\u003e\u003cp\u003eThe MX612E is a dual H-bridge brushed DC motor driver IC in a compact SOP-8 package, optimized for 1–2S lithium battery-powered applications. It integrates two full H-bridges capable of driving two DC motors independently or one stepper motor, with built-in protection for over-current, over-temperature, and under-voltage lockout (UVLO).\u003c\/p\u003e\u003ch3\u003eKey Specifications\u003c\/h3\u003e\u003ctable\u003e\n\u003ctr\u003e\n\u003cth\u003eParameter\u003c\/th\u003e\n\u003cth\u003eValue\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ePackage\u003c\/td\u003e\n\u003ctd\u003eSOP-8 (SMD)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSupply Voltage\u003c\/td\u003e\n\u003ctd\u003e2.5–8.5V (1–2S Li-ion)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eOutput Current\u003c\/td\u003e\n\u003ctd\u003e1.2A continuous per channel\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eH-Bridge Channels\u003c\/td\u003e\n\u003ctd\u003e2 (dual H-bridge)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eProtection\u003c\/td\u003e\n\u003ctd\u003eOCP, OTP, UVLO\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eLogic Input\u003c\/td\u003e\n\u003ctd\u003e3.3V \/ 5V compatible\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eQuantity\u003c\/td\u003e\n\u003ctd\u003e5 pieces\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/table\u003e\u003ch3\u003eWhy Choose MX612E?\u003c\/h3\u003e\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eDual H-bridge\u003c\/strong\u003e — drives two DC motors or one stepper independently\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e1–2S Li-ion optimized\u003c\/strong\u003e — ideal for RC toys, drones, and portable robotics\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eSOP-8 compact package\u003c\/strong\u003e — minimal PCB footprint for space-constrained designs\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eBuilt-in protection\u003c\/strong\u003e — OCP\/OTP\/UVLO prevents damage under fault conditions\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e3.3V\/5V logic\u003c\/strong\u003e — direct MCU GPIO control without level shifters\u003c\/li\u003e\n\u003c\/ul\u003e\u003ch3\u003eTypical Applications\u003c\/h3\u003e\u003cul\u003e\n\u003cli\u003eRC toy car and robot motor control\u003c\/li\u003e\n\u003cli\u003eMiniature drone actuator drive\u003c\/li\u003e\n\u003cli\u003ePortable robotic arm control\u003c\/li\u003e\n\u003cli\u003eCompact stepper motor driver\u003c\/li\u003e\n\u003cli\u003eBattery-powered embedded motor systems\u003c\/li\u003e\n\u003c\/ul\u003e\u003ch3\u003ePackage Contents\u003c\/h3\u003e\u003cul\u003e\u003cli\u003e5× MX612E Brushed DC Motor Driver IC (SOP-8)\u003c\/li\u003e\u003c\/ul\u003e","brand":"Keszoox","offers":[{"title":"Default Title","offer_id":46991456108779,"sku":"\u003cnone\u003e","price":8.44,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0677\/1005\/8731\/files\/mx612e-sop-8-brushed-dc-motor-driver-ic-1-2s-lithium.webp?v=1761800380"},{"product_id":"mx612-mx612e-mx08h-mx08-brushed-dc-motor-driver-ic-sop8-h-bridge-5pack","title":"MX612 \/ MX612E \/ MX08H \/ MX08 Brushed DC Motor Driver IC — SOP-8, H-Bridge (5-Pack)","description":"\u003ch2\u003eMX612 \/ MX612E \/ MX08H \/ MX08 Brushed DC Motor Driver IC — SOP-8, H-Bridge (5-Pack)\u003c\/h2\u003e\u003cp\u003eThe MX612, MX612E, MX08H, and MX08 are SOP-8 H-bridge motor driver ICs designed for bidirectional control of small brushed DC motors. Integrating four power MOSFETs in a full H-bridge configuration with logic-level control inputs, they enable forward, reverse, brake, and coast operation from a single SOP-8 package. Suitable for Arduino and ESP32 robotics projects requiring compact SMD motor drive without external discrete MOSFETs.\u003c\/p\u003e\u003ch3\u003eKey Specifications\u003c\/h3\u003e\u003ctable\u003e\n\u003ctr\u003e\n\u003cth\u003eParameter\u003c\/th\u003e\n\u003cth\u003eValue\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ePackage\u003c\/td\u003e\n\u003ctd\u003eSOP-8 (SMD)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eTopology\u003c\/td\u003e\n\u003ctd\u003eFull H-bridge (4 integrated MOSFETs)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMotor Type\u003c\/td\u003e\n\u003ctd\u003eBrushed DC motor (bidirectional)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eControl Interface\u003c\/td\u003e\n\u003ctd\u003eLogic-level inputs (IN1, IN2) + PWM enable\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eProtection\u003c\/td\u003e\n\u003ctd\u003eThermal shutdown, overcurrent protection\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eOperating Temperature\u003c\/td\u003e\n\u003ctd\u003e-40°C to +85°C\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eQuantity\u003c\/td\u003e\n\u003ctd\u003e5 pieces\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/table\u003e\u003ch3\u003eVariant Overview\u003c\/h3\u003e\u003ctable\u003e\n\u003ctr\u003e\n\u003cth\u003ePart Number\u003c\/th\u003e\n\u003cth\u003eKey Feature\u003c\/th\u003e\n\u003cth\u003eBest For\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMX612\u003c\/td\u003e\n\u003ctd\u003eStandard H-bridge motor driver\u003c\/td\u003e\n\u003ctd\u003eGeneral small DC motor control\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMX612E\u003c\/td\u003e\n\u003ctd\u003eEnhanced version, lower RDS(on)\u003c\/td\u003e\n\u003ctd\u003eHigher efficiency motor drive\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMX08H\u003c\/td\u003e\n\u003ctd\u003eHigh-current variant\u003c\/td\u003e\n\u003ctd\u003eHigher-torque small motors\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMX08\u003c\/td\u003e\n\u003ctd\u003eStandard variant\u003c\/td\u003e\n\u003ctd\u003eGeneral robotics and toy motor control\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/table\u003e\u003ch3\u003eWhy Choose MX612 \/ MX08H?\u003c\/h3\u003e\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eIntegrated H-bridge\u003c\/strong\u003e — no external MOSFETs or diodes needed, minimal BOM\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eSOP-8 compact package\u003c\/strong\u003e — small footprint for compact robot and toy PCB designs\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eLogic-level control\u003c\/strong\u003e — directly controlled by Arduino\/ESP32 GPIO pins\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePWM speed control\u003c\/strong\u003e — enable pin accepts PWM for variable motor speed\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eThermal + OCP protection\u003c\/strong\u003e — prevents damage from motor stall or overload\u003c\/li\u003e\n\u003c\/ul\u003e\u003ch3\u003eCompatible With \/ Common Use Cases\u003c\/h3\u003e\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eArduino robot car\u003c\/strong\u003e: Two MX612 ICs for left and right motor drive on a 2WD robot chassis\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eESP32 motor control\u003c\/strong\u003e: PWM speed control via ESP32 LEDC peripheral + direction via GPIO\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eToy motor repair\u003c\/strong\u003e: Replacement for failed H-bridge IC in RC toys and small appliances\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eConveyor belt control\u003c\/strong\u003e: Small DC motor bidirectional drive for miniature conveyor systems\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eCamera gimbal\u003c\/strong\u003e: Brushed DC motor drive for 2-axis gimbal stabilization\u003c\/li\u003e\n\u003c\/ul\u003e\u003ch3\u003eFrequently Asked Questions\u003c\/h3\u003e\u003cp\u003e\u003cstrong\u003eQ: How do I control motor direction and speed with MX612 from Arduino?\u003c\/strong\u003e\u003cbr\u003eA: Connect IN1 and IN2 to two Arduino digital pins, EN (enable) to a PWM-capable pin. For forward: IN1=HIGH, IN2=LOW, EN=PWM duty cycle (0–255). For reverse: IN1=LOW, IN2=HIGH, EN=PWM. For brake: IN1=HIGH, IN2=HIGH. For coast: EN=LOW. Use \u003ccode\u003eanalogWrite(enPin, speed)\u003c\/code\u003e for speed control.\u003c\/p\u003e\u003cp\u003e\u003cstrong\u003eQ: What is the maximum motor current for MX612?\u003c\/strong\u003e\u003cbr\u003eA: Refer to the MX612 datasheet for the exact continuous current rating — typically 1–2A for SOP-8 H-bridge ICs. For motors drawing more than 1A, use a higher-current driver (L298N for up to 2A per channel, DRV8833 for up to 1.5A, TB6612FNG for up to 1.2A). Always check the motor stall current against the driver rating.\u003c\/p\u003e\u003cp\u003e\u003cstrong\u003eQ: Can MX612E replace L9110S or DRV8833 in an existing design?\u003c\/strong\u003e\u003cbr\u003eA: Only if the pinout and voltage\/current ratings match. SOP-8 H-bridge ICs are not universally pin-compatible. L9110S, DRV8833, and MX612 have different pinouts. Always compare datasheets before substituting. For a well-documented alternative, DRV8833 (TI) or TB6612FNG (Toshiba) have extensive application notes.\u003c\/p\u003e\u003ch3\u003ePackage Contents\u003c\/h3\u003e\u003cul\u003e\u003cli\u003e5× MX612 \/ MX612E \/ MX08H \/ MX08 Brushed DC Motor Driver IC (SOP-8) — variant as selected\u003c\/li\u003e\u003c\/ul\u003e","brand":"Keszoox","offers":[{"title":"MX612E","offer_id":46991464464619,"sku":"14:1202#MX612E","price":5.36,"currency_code":"USD","in_stock":true},{"title":"MX08H","offer_id":46991464497387,"sku":"14:350852#MX08H","price":5.48,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0677\/1005\/8731\/files\/mx612-mx612e-mx08h-sop8-motor-driver-ic.webp?v=1761720420"},{"product_id":"mx-series-motor-driver-ic-kit-mx302-mx612e-mx1515h-mx1616h-sot23-sop8-sop16-5pack","title":"MX Series Motor Driver IC Kit — MX302\/MX612E\/MX1515H\/MX1616H, SOT-23\/SOP-8\/SOP-16 (5-Pack)","description":"\u003ch2\u003eMX Series Motor Driver IC Kit — MX302 \/ MX612E \/ MX1515H \/ MX1616H, SOT-23 \/ SOP-8 \/ SOP-16 (5-Pack)\u003c\/h2\u003e\u003cp\u003eThis kit covers the MX series of brushed DC motor driver ICs from MPS (Monolithic Power Systems) and compatible manufacturers, spanning SOT-23-6, SOP-8, and SOP-16 packages. From the compact MX302 (SOT-23-6, low current) to the high-current MX1616H (SOP-16, dual H-bridge), these ICs provide integrated H-bridge motor drive with logic-level control, PWM speed control, and built-in protection for a wide range of robotics, toy, and embedded motor control applications.\u003c\/p\u003e\u003ch3\u003eVariant Overview\u003c\/h3\u003e\u003ctable\u003e\n\u003ctr\u003e\n\u003cth\u003ePart Number\u003c\/th\u003e\n\u003cth\u003ePackage\u003c\/th\u003e\n\u003cth\u003eChannels\u003c\/th\u003e\n\u003cth\u003eMax Current\u003c\/th\u003e\n\u003cth\u003eBest For\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMX302\u003c\/td\u003e\n\u003ctd\u003eSOT-23-6\u003c\/td\u003e\n\u003ctd\u003e1 (half-bridge)\u003c\/td\u003e\n\u003ctd\u003e~0.5A\u003c\/td\u003e\n\u003ctd\u003eMicro motor, vibration motor\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMX08H \/ MX08\u003c\/td\u003e\n\u003ctd\u003eSOP-8\u003c\/td\u003e\n\u003ctd\u003e1 (full H-bridge)\u003c\/td\u003e\n\u003ctd\u003e~1A\u003c\/td\u003e\n\u003ctd\u003eSmall DC motor, fan\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMX608E\u003c\/td\u003e\n\u003ctd\u003eSOP-8\u003c\/td\u003e\n\u003ctd\u003e1 (full H-bridge)\u003c\/td\u003e\n\u003ctd\u003e~1.5A\u003c\/td\u003e\n\u003ctd\u003eMedium DC motor\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMX612E \/ MX612\u003c\/td\u003e\n\u003ctd\u003eSOP-8\u003c\/td\u003e\n\u003ctd\u003e1 (full H-bridge)\u003c\/td\u003e\n\u003ctd\u003e~2A\u003c\/td\u003e\n\u003ctd\u003eRobot motor, conveyor\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMX113L\u003c\/td\u003e\n\u003ctd\u003eSOP-8\u003c\/td\u003e\n\u003ctd\u003e1\u003c\/td\u003e\n\u003ctd\u003e~1A\u003c\/td\u003e\n\u003ctd\u003eGeneral motor drive\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMX2003\u003c\/td\u003e\n\u003ctd\u003eSOP-8\u003c\/td\u003e\n\u003ctd\u003e1\u003c\/td\u003e\n\u003ctd\u003e~2A\u003c\/td\u003e\n\u003ctd\u003eHigh-efficiency motor drive\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMX116H\u003c\/td\u003e\n\u003ctd\u003eSOP-16\u003c\/td\u003e\n\u003ctd\u003e2 (dual H-bridge)\u003c\/td\u003e\n\u003ctd\u003e~1A\/ch\u003c\/td\u003e\n\u003ctd\u003e2-motor robot chassis\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMX512H\u003c\/td\u003e\n\u003ctd\u003eSOP-16\u003c\/td\u003e\n\u003ctd\u003e2 (dual H-bridge)\u003c\/td\u003e\n\u003ctd\u003e~1.5A\/ch\u003c\/td\u003e\n\u003ctd\u003e2-motor robot chassis\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMX1515H\u003c\/td\u003e\n\u003ctd\u003eSOP-16\u003c\/td\u003e\n\u003ctd\u003e2 (dual H-bridge)\u003c\/td\u003e\n\u003ctd\u003e~1.5A\/ch\u003c\/td\u003e\n\u003ctd\u003e2WD robot, stepper motor\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMX1616H\u003c\/td\u003e\n\u003ctd\u003eSOP-16\u003c\/td\u003e\n\u003ctd\u003e2 (dual H-bridge)\u003c\/td\u003e\n\u003ctd\u003e~2A\/ch\u003c\/td\u003e\n\u003ctd\u003eHigh-current 2-motor drive\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/table\u003e\u003ch3\u003eKey Specifications (All Variants)\u003c\/h3\u003e\u003ctable\u003e\n\u003ctr\u003e\n\u003cth\u003eParameter\u003c\/th\u003e\n\u003cth\u003eValue\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ePackages\u003c\/td\u003e\n\u003ctd\u003eSOT-23-6, SOP-8, SOP-16 (SMD)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eTopology\u003c\/td\u003e\n\u003ctd\u003eH-bridge (full or half, variant dependent)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eControl\u003c\/td\u003e\n\u003ctd\u003eLogic-level IN1\/IN2 + PWM enable\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eProtection\u003c\/td\u003e\n\u003ctd\u003eThermal shutdown, OCP, UVLO\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eOperating Temperature\u003c\/td\u003e\n\u003ctd\u003e-40°C to +85°C\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eQuantity\u003c\/td\u003e\n\u003ctd\u003e5 pieces\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/table\u003e\u003ch3\u003eWhy Choose MX Series?\u003c\/h3\u003e\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eFull range coverage\u003c\/strong\u003e — from micro SOT-23-6 to dual SOP-16, one kit covers all motor sizes\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eIntegrated H-bridge\u003c\/strong\u003e — no external MOSFETs or diodes needed\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eLogic-level + PWM control\u003c\/strong\u003e — direct Arduino\/ESP32 GPIO drive with analogWrite() speed control\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eBuilt-in protection\u003c\/strong\u003e — thermal shutdown and OCP prevent damage from stall or overload\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e5-pack value\u003c\/strong\u003e — multiple variants for different motor sizes in one purchase\u003c\/li\u003e\n\u003c\/ul\u003e\u003ch3\u003eCompatible With \/ Common Use Cases\u003c\/h3\u003e\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eArduino 2WD robot\u003c\/strong\u003e: MX1616H (dual H-bridge, SOP-16) drives both left and right motors from one IC\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eESP32 robot car\u003c\/strong\u003e: MX612E (SOP-8) per motor with PWM speed control via LEDC peripheral\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eStepper motor (unipolar)\u003c\/strong\u003e: MX1515H dual H-bridge for 4-wire stepper motor drive\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eToy motor repair\u003c\/strong\u003e: MX08H\/MX612E replacement for failed H-bridge IC in RC toys\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eVibration motor\u003c\/strong\u003e: MX302 (SOT-23-6) for compact haptic feedback motor drive\u003c\/li\u003e\n\u003c\/ul\u003e\u003ch3\u003eFrequently Asked Questions\u003c\/h3\u003e\u003cp\u003e\u003cstrong\u003eQ: What is the difference between MX1515H and MX1616H?\u003c\/strong\u003e\u003cbr\u003eA: Both are dual H-bridge SOP-16 motor driver ICs. MX1616H has a higher continuous current rating (~2A per channel vs ~1.5A for MX1515H) and lower RDS(on). Use MX1616H for higher-torque motors or when running near the current limit. Both use the same logic-level IN1\/IN2\/PWM control interface and are pin-compatible.\u003c\/p\u003e\u003cp\u003e\u003cstrong\u003eQ: How do I control two motors with MX1616H from Arduino?\u003c\/strong\u003e\u003cbr\u003eA: Connect STBY to VCC (enable), AIN1\/AIN2 to Arduino digital pins for motor A direction, PWMA to a PWM pin for motor A speed. Repeat BIN1\/BIN2\/PWMB for motor B. Use \u003ccode\u003eanalogWrite(PWMA, speed)\u003c\/code\u003e for speed control (0–255). For forward: AIN1=HIGH, AIN2=LOW. For reverse: AIN1=LOW, AIN2=HIGH.\u003c\/p\u003e\u003cp\u003e\u003cstrong\u003eQ: Can MX1515H replace TB6612FNG in an existing design?\u003c\/strong\u003e\u003cbr\u003eA: MX1515H and TB6612FNG are functionally similar dual H-bridge ICs in SOP-16, but their pinouts differ. Do not substitute without verifying pin-by-pin compatibility against both datasheets. For a well-documented drop-in alternative to TB6612FNG, use the TB6612FNG itself or DRV8833.\u003c\/p\u003e\u003ch3\u003ePackage Contents\u003c\/h3\u003e\u003cul\u003e\u003cli\u003e5× MX Series Motor Driver IC (variant as selected)\u003c\/li\u003e\u003c\/ul\u003e","brand":"Keszoox","offers":[{"title":"MX116H  SOT-23-6","offer_id":46991464693995,"sku":"14:29#MX116H  SOT-23-6","price":5.84,"currency_code":"USD","in_stock":true},{"title":"MX512H   SOP-8","offer_id":46991464726763,"sku":"14:94#MX512H   SOP-8","price":24.28,"currency_code":"USD","in_stock":true},{"title":"MX1515H  SOP-16","offer_id":46991464759531,"sku":"14:173#MX1515H  SOP-16","price":18.56,"currency_code":"USD","in_stock":true},{"title":"MX1616H  SOP-16","offer_id":46991464792299,"sku":"14:175#MX1616H  SOP-16","price":11.8,"currency_code":"USD","in_stock":true},{"title":"MX302   SOP-8","offer_id":46991464825067,"sku":"14:1202#MX302   SOP-8","price":8.64,"currency_code":"USD","in_stock":true},{"title":"MX08H  SOP-8","offer_id":46991464857835,"sku":"14:350852#MX08H  SOP-8","price":6.24,"currency_code":"USD","in_stock":true},{"title":"MX608E  SOP-8","offer_id":46991464890603,"sku":"14:351074#MX608E  SOP-8","price":8.36,"currency_code":"USD","in_stock":true},{"title":"MX612E  SOP-8","offer_id":46991464923371,"sku":"14:4044226#MX612E  SOP-8","price":8.64,"currency_code":"USD","in_stock":true},{"title":"MX113L  SOT-23-6","offer_id":46991464956139,"sku":"14:201659813#MX113L  SOT-23-6","price":5.68,"currency_code":"USD","in_stock":true},{"title":"MX2003  SOP-16","offer_id":46991464988907,"sku":"14:10#MX2003  SOP-16","price":12.52,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0677\/1005\/8731\/files\/mx-series-ic-chip-set-sot23-6-sop8-sop16.webp?v=1761720100"},{"product_id":"28byj-48-5v-stepper-motor-uln2003-driver-4phase-4096-steps-arduino","title":"28BYJ-48 5V Stepper Motor with ULN2003 Driver Module — 4-Phase, 4096 Steps\/Rev, Arduino","description":"\u003ch2\u003e28BYJ-48 5V Stepper Motor with ULN2003 Driver Module — 4-Phase, 4096 Steps\/Rev, Arduino\u003c\/h2\u003e\u003cp\u003eThe 28BYJ-48 is a 5V unipolar 4-phase stepper motor with a 1:64 gear reduction, providing 4096 steps per revolution (in half-step mode) and 5.625° per step (full-step). The included ULN2003 driver board uses four ULN2003A Darlington transistor arrays to drive the motor’s four coils directly from Arduino or ESP32 GPIO pins. This is the most popular stepper motor kit for Arduino beginners, providing precise angular positioning for clock mechanisms, camera sliders, valve actuators, and educational robotics projects.\u003c\/p\u003e\u003ch3\u003eKey Specifications\u003c\/h3\u003e\u003ctable\u003e\n\u003ctr\u003e\n\u003cth\u003eParameter\u003c\/th\u003e\n\u003cth\u003eValue\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMotor Model\u003c\/td\u003e\n\u003ctd\u003e28BYJ-48\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSupply Voltage\u003c\/td\u003e\n\u003ctd\u003e5V DC\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ePhase\u003c\/td\u003e\n\u003ctd\u003e4-phase unipolar\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eStep Angle (full-step)\u003c\/td\u003e\n\u003ctd\u003e5.625° (64 steps\/rev before gear)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eGear Ratio\u003c\/td\u003e\n\u003ctd\u003e1:64 (approximately)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSteps per Revolution (half-step)\u003c\/td\u003e\n\u003ctd\u003e4096 steps (64 × 64 × 2)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eNo-Load Speed\u003c\/td\u003e\n\u003ctd\u003e~15 RPM (at 5V, half-step)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eCoil Resistance\u003c\/td\u003e\n\u003ctd\u003e~50Ω per phase\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eDriver Board\u003c\/td\u003e\n\u003ctd\u003eULN2003A (4-channel Darlington array)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eDriver Input\u003c\/td\u003e\n\u003ctd\u003e4 GPIO pins (IN1–IN4)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/table\u003e\u003ch3\u003e28BYJ-48 vs NEMA 17 — Which Stepper?\u003c\/h3\u003e\u003ctable\u003e\n\u003ctr\u003e\n\u003cth\u003eFeature\u003c\/th\u003e\n\u003cth\u003e28BYJ-48 + ULN2003\u003c\/th\u003e\n\u003cth\u003eNEMA 17 + A4988\/DRV8825\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eVoltage\u003c\/td\u003e\n\u003ctd\u003e5V\u003c\/td\u003e\n\u003ctd\u003e12–24V\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eTorque\u003c\/td\u003e\n\u003ctd\u003eLow (~34mN·m)\u003c\/td\u003e\n\u003ctd\u003eHigh (~40–65 N·cm)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSteps\/rev\u003c\/td\u003e\n\u003ctd\u003e4096 (half-step, with gear)\u003c\/td\u003e\n\u003ctd\u003e200 (1.8°\/step)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSpeed\u003c\/td\u003e\n\u003ctd\u003eSlow (~15 RPM)\u003c\/td\u003e\n\u003ctd\u003eFast (up to 1000+ RPM)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eDriver cost\u003c\/td\u003e\n\u003ctd\u003eVery low (ULN2003)\u003c\/td\u003e\n\u003ctd\u003eHigher (A4988, DRV8825)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eBest for\u003c\/td\u003e\n\u003ctd\u003eLow-torque precision positioning, education\u003c\/td\u003e\n\u003ctd\u003e3D printer, CNC, high-torque applications\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/table\u003e\u003ch3\u003eWhy Choose 28BYJ-48 + ULN2003?\u003c\/h3\u003e\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003e4096 steps\/rev\u003c\/strong\u003e — extremely fine angular resolution for clock hands, camera sliders, and valve control\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e5V operation\u003c\/strong\u003e — powered directly from Arduino 5V pin or USB power bank\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eULN2003 driver included\u003c\/strong\u003e — no additional motor driver IC needed, plug-and-play with Arduino\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eGear reduction\u003c\/strong\u003e — 1:64 gear ratio multiplies torque for driving small loads\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eArduino Stepper library\u003c\/strong\u003e — built-in library support, beginner-friendly\u003c\/li\u003e\n\u003c\/ul\u003e\u003ch3\u003eCompatible With\u003c\/h3\u003e\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eArduino UNO\/Nano\u003c\/strong\u003e: Arduino Stepper library or AccelStepper library — connect IN1–IN4 to 4 digital pins\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eESP32 \/ ESP8266\u003c\/strong\u003e: AccelStepper library at 3.3V GPIO (ULN2003 input accepts 3.3V)\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eRaspberry Pi\u003c\/strong\u003e: RPi.GPIO with 4-pin step sequence\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eMicroPython\u003c\/strong\u003e: machine.Pin + manual step sequence or stepper library\u003c\/li\u003e\n\u003c\/ul\u003e\u003ch3\u003eFrequently Asked Questions\u003c\/h3\u003e\u003cp\u003e\u003cstrong\u003eQ: How do I control 28BYJ-48 with Arduino?\u003c\/strong\u003e\u003cbr\u003eA: Connect IN1–IN4 on the ULN2003 board to Arduino pins D8–D11. Connect motor power (5V) to Arduino 5V and GND to GND. Use the AccelStepper library: \u003ccode\u003eAccelStepper stepper(AccelStepper::HALF4WIRE, 8, 10, 9, 11); stepper.setMaxSpeed(500); stepper.setAcceleration(100); stepper.moveTo(4096);\u003c\/code\u003e 4096 steps = 1 full revolution in half-step mode.\u003c\/p\u003e\u003cp\u003e\u003cstrong\u003eQ: Why is my 28BYJ-48 vibrating but not rotating?\u003c\/strong\u003e\u003cbr\u003eA: The most common cause is incorrect step sequence. The 28BYJ-48 requires a specific 4-phase step sequence (IN1→IN2→IN3→IN4 or half-step equivalent). If using the Arduino Stepper library, use pin order: IN1, IN3, IN2, IN4 (not IN1, IN2, IN3, IN4). The AccelStepper library with HALF4WIRE mode handles this automatically.\u003c\/p\u003e\u003cp\u003e\u003cstrong\u003eQ: Can I run 28BYJ-48 faster than 15 RPM?\u003c\/strong\u003e\u003cbr\u003eA: The 28BYJ-48 is limited to ~15 RPM at 5V in half-step mode due to the gear ratio and coil inductance. Running faster causes missed steps and loss of torque. For higher speed, use full-step mode (~30 RPM, lower resolution) or switch to a NEMA 17 stepper with A4988 driver for applications requiring speed above 30 RPM.\u003c\/p\u003e\u003ch3\u003ePackage Contents\u003c\/h3\u003e\u003cul\u003e\n\u003cli\u003e1× 28BYJ-48 5V 4-Phase Stepper Motor\u003c\/li\u003e\n\u003cli\u003e1× ULN2003 Driver Board (with LED indicators for each phase)\u003c\/li\u003e\n\u003cli\u003e1× Connecting cable (motor to driver board)\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"Keszoox","offers":[{"title":"module","offer_id":46991466823915,"sku":"14:10#module","price":4.88,"currency_code":"USD","in_stock":true},{"title":"Motor","offer_id":46991466856683,"sku":"14:350852#Motor","price":7.0,"currency_code":"USD","in_stock":true},{"title":"motor with module","offer_id":46991466889451,"sku":"14:29#motor with module","price":8.2,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0677\/1005\/8731\/files\/5v-stepper-motor-28byj48-uln2003-driver-module.webp?v=1761719300"},{"product_id":"cnc-shield-v3-v4-drv8825-a4988-stepper-driver-kit-4axis-arduino-uno-nano","title":"CNC Shield V3\/V4 + DRV8825 \/ A4988 Stepper Driver Kit — 4-Axis, Arduino UNO\/Nano","description":"\u003ch2\u003eCNC Shield V3 \/ V4 + DRV8825 \/ A4988 Stepper Driver Kit — 4-Axis, GRBL\u003c\/h2\u003e\u003cp\u003eBuild your own \u003cstrong\u003eCNC router, laser engraver, 3D printer, or pen plotter\u003c\/strong\u003e with this complete \u003cstrong\u003e4-axis CNC shield and stepper driver kit\u003c\/strong\u003e. The shield plugs directly onto an \u003cstrong\u003eArduino UNO R3 (V3 shield)\u003c\/strong\u003e or \u003cstrong\u003eArduino Nano (V4 shield)\u003c\/strong\u003e and accepts up to four \u003cstrong\u003eDRV8825 or A4988 stepper driver modules\u003c\/strong\u003e for X, Y, Z, and A axes. Fully compatible with \u003cstrong\u003eGRBL firmware\u003c\/strong\u003e for G-code based CNC control.\u003c\/p\u003e\u003chr\u003e\u003ch3\u003eKey Specifications\u003c\/h3\u003e\u003ctable\u003e\n\u003cthead\u003e\u003ctr\u003e\n\u003cth\u003eParameter\u003c\/th\u003e\n\u003cth\u003eValue\u003c\/th\u003e\n\u003c\/tr\u003e\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eCompatible Board\u003c\/td\u003e\n\u003ctd\u003eV3: Arduino UNO R3 \/ V4: Arduino Nano\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eAxes\u003c\/td\u003e\n\u003ctd\u003e4 (X, Y, Z, A)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eDriver Modules\u003c\/td\u003e\n\u003ctd\u003eDRV8825 or A4988 (interchangeable)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eFirmware\u003c\/td\u003e\n\u003ctd\u003eGRBL compatible (G-code)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eEnd Stop Connectors\u003c\/td\u003e\n\u003ctd\u003eX, Y, Z min\/max\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSpindle\/Laser PWM\u003c\/td\u003e\n\u003ctd\u003eYes (PWM output for spindle speed \/ laser power)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eCoolant Output\u003c\/td\u003e\n\u003ctd\u003eYes\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eControl Inputs\u003c\/td\u003e\n\u003ctd\u003eAbort, Hold, Resume\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eOperating Temperature\u003c\/td\u003e\n\u003ctd\u003e-40°C to +85°C\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eOrigin\u003c\/td\u003e\n\u003ctd\u003eMainland China\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\u003chr\u003e\u003ch3\u003eDRV8825 vs A4988 — Which Driver to Choose?\u003c\/h3\u003e\u003ctable\u003e\n\u003cthead\u003e\u003ctr\u003e\n\u003cth\u003eFeature\u003c\/th\u003e\n\u003cth\u003eDRV8825\u003c\/th\u003e\n\u003cth\u003eA4988\u003c\/th\u003e\n\u003c\/tr\u003e\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eMax Current\u003c\/td\u003e\n\u003ctd\u003e2.5A\u003c\/td\u003e\n\u003ctd\u003e2.0A\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMicrostepping\u003c\/td\u003e\n\u003ctd\u003e1\/32\u003c\/td\u003e\n\u003ctd\u003e1\/16\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eVoltage Range\u003c\/td\u003e\n\u003ctd\u003e8.2–45V\u003c\/td\u003e\n\u003ctd\u003e8–35V\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eStep Resolution\u003c\/td\u003e\n\u003ctd\u003eHigher (smoother motion)\u003c\/td\u003e\n\u003ctd\u003eStandard\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ePrice\u003c\/td\u003e\n\u003ctd\u003eSlightly higher\u003c\/td\u003e\n\u003ctd\u003eLower\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eBest For\u003c\/td\u003e\n\u003ctd\u003ePrecision CNC, 3D printing\u003c\/td\u003e\n\u003ctd\u003eGeneral CNC, budget builds\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\u003chr\u003e\u003ch3\u003eWhy Choose This CNC Shield Kit?\u003c\/h3\u003e\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eComplete kit\u003c\/strong\u003e — shield + 4 stepper drivers ready to assemble\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eGRBL compatible\u003c\/strong\u003e — use with Universal G-code Sender, Candle, LaserGRBL, or LightBurn\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e4-axis support\u003c\/strong\u003e — X, Y, Z + optional A axis for rotary or dual-Y configurations\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eEnd stop connectors\u003c\/strong\u003e — hardware limit switches for homing and safety\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePWM spindle\/laser output\u003c\/strong\u003e — control spindle speed or laser power from G-code\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eDRV8825 1\/32 microstepping\u003c\/strong\u003e — ultra-smooth motion for precision engraving\u003c\/li\u003e\n\u003c\/ul\u003e\u003chr\u003e\u003ch3\u003eTypical Applications\u003c\/h3\u003e\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eDIY CNC router\u003c\/strong\u003e — wood, acrylic, PCB milling with GRBL G-code control\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eLaser engraver\u003c\/strong\u003e — PWM laser power control via GRBL S-value commands\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e3D printer\u003c\/strong\u003e — Cartesian or CoreXY motion system with GRBL or Marlin\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePen plotter\u003c\/strong\u003e — precise 2-axis drawing machine\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePick-and-place\u003c\/strong\u003e — multi-axis positioning for component placement\u003c\/li\u003e\n\u003c\/ul\u003e\u003chr\u003e\u003ch3\u003eFAQ\u003c\/h3\u003e\u003cp\u003e\u003cstrong\u003eQ: Which Arduino board does the V3 shield use?\u003c\/strong\u003e\u003cbr\u003eA: CNC Shield V3 plugs onto Arduino UNO R3. CNC Shield V4 is designed for Arduino Nano.\u003c\/p\u003e\u003cp\u003e\u003cstrong\u003eQ: Do I need to set the current limit on the stepper drivers?\u003c\/strong\u003e\u003cbr\u003eA: Yes. Adjust the potentiometer on each DRV8825 or A4988 driver to set the current limit for your stepper motors. Incorrect current can cause overheating or missed steps.\u003c\/p\u003e\u003cp\u003e\u003cstrong\u003eQ: Is this compatible with LaserGRBL and LightBurn?\u003c\/strong\u003e\u003cbr\u003eA: Yes. Flash GRBL firmware to the Arduino, connect via USB, and use LaserGRBL (free) or LightBurn (paid) for laser engraving control.\u003c\/p\u003e\u003chr\u003e\u003ch3\u003ePackage Contents\u003c\/h3\u003e\u003cul\u003e\n\u003cli\u003e1× CNC Shield (V3 for UNO or V4 for Nano — as selected)\u003c\/li\u003e\n\u003cli\u003e4× Stepper Driver Modules (DRV8825 or A4988 — as selected)\u003c\/li\u003e\n\u003cli\u003eHeat sinks for stepper drivers\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"Keszoox","offers":[{"title":"UNO and 8825KIR","offer_id":46991473770731,"sku":"14:4044226#UNO and 8825KIR","price":46.96,"currency_code":"USD","in_stock":true},{"title":"NANO and 8825KIR","offer_id":46991473803499,"sku":"14:350852#NANO and 8825KIR","price":40.92,"currency_code":"USD","in_stock":true},{"title":"UNO and 4988KIR","offer_id":46991473836267,"sku":"14:351074#UNO and 4988KIR","price":41.32,"currency_code":"USD","in_stock":true},{"title":"NANO and 4988KIR","offer_id":46991473869035,"sku":"14:1202#NANO and 4988KIR","price":37.28,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0677\/1005\/8731\/files\/cnc-shield-v3-v4-drv8825-a4988-expansion-kit.webp?v=1761631429"},{"product_id":"l298n-dual-h-bridge-dc-stepper-motor-driver-2a-5-35v-arduino-robot","title":"L298N Dual H-Bridge DC \u0026 Stepper Motor Driver Module — 2A, 5–35V, Arduino Robot","description":"\u003ch2\u003eL298N Dual H-Bridge DC \u0026amp; Stepper Motor Driver Module\u003c\/h2\u003e\u003cp\u003eThe \u003cstrong\u003eL298N motor driver module\u003c\/strong\u003e is the most popular dual H-bridge motor controller for Arduino robotics projects. It can drive \u003cstrong\u003etwo DC motors\u003c\/strong\u003e (forward\/reverse\/speed) or \u003cstrong\u003eone bipolar stepper motor\u003c\/strong\u003e simultaneously, with up to \u003cstrong\u003e2A per channel\u003c\/strong\u003e and \u003cstrong\u003e5–35V motor supply\u003c\/strong\u003e. The onboard 5V regulator powers your Arduino directly from the motor supply — no separate USB needed.\u003c\/p\u003e\u003chr\u003e\u003ch3\u003eKey Specifications\u003c\/h3\u003e\u003ctable\u003e\n\u003cthead\u003e\u003ctr\u003e\n\u003cth\u003eParameter\u003c\/th\u003e\n\u003cth\u003eValue\u003c\/th\u003e\n\u003c\/tr\u003e\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eIC\u003c\/td\u003e\n\u003ctd\u003eL298N (ST Microelectronics)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMotor Supply Voltage\u003c\/td\u003e\n\u003ctd\u003e5V – 35V\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eLogic Supply Voltage\u003c\/td\u003e\n\u003ctd\u003e5V (onboard regulator from motor supply)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eOutput Current (per channel)\u003c\/td\u003e\n\u003ctd\u003e2A (continuous), 3A (peak)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eTotal Power Dissipation\u003c\/td\u003e\n\u003ctd\u003e25W\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMotor Channels\u003c\/td\u003e\n\u003ctd\u003e2 (Channel A + Channel B)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ePWM Speed Control\u003c\/td\u003e\n\u003ctd\u003eYes (ENA\/ENB pins)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eDirection Control\u003c\/td\u003e\n\u003ctd\u003eIN1\/IN2 (Ch.A), IN3\/IN4 (Ch.B)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eOnboard 5V Regulator\u003c\/td\u003e\n\u003ctd\u003eYes (for logic supply, \u0026lt;500mA)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eOperating Temperature\u003c\/td\u003e\n\u003ctd\u003e-25°C to +130°C\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\u003chr\u003e\u003ch3\u003eWiring Guide\u003c\/h3\u003e\u003ctable\u003e\n\u003cthead\u003e\u003ctr\u003e\n\u003cth\u003eL298N Pin\u003c\/th\u003e\n\u003cth\u003eArduino Pin\u003c\/th\u003e\n\u003cth\u003eFunction\u003c\/th\u003e\n\u003c\/tr\u003e\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eENA\u003c\/td\u003e\n\u003ctd\u003eD9 (PWM)\u003c\/td\u003e\n\u003ctd\u003eMotor A speed (PWM)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eIN1\u003c\/td\u003e\n\u003ctd\u003eD8\u003c\/td\u003e\n\u003ctd\u003eMotor A direction\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eIN2\u003c\/td\u003e\n\u003ctd\u003eD7\u003c\/td\u003e\n\u003ctd\u003eMotor A direction\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eIN3\u003c\/td\u003e\n\u003ctd\u003eD6\u003c\/td\u003e\n\u003ctd\u003eMotor B direction\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eIN4\u003c\/td\u003e\n\u003ctd\u003eD5\u003c\/td\u003e\n\u003ctd\u003eMotor B direction\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eENB\u003c\/td\u003e\n\u003ctd\u003eD3 (PWM)\u003c\/td\u003e\n\u003ctd\u003eMotor B speed (PWM)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003e5V (out)\u003c\/td\u003e\n\u003ctd\u003e5V (Arduino)\u003c\/td\u003e\n\u003ctd\u003ePower Arduino from module\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eGND\u003c\/td\u003e\n\u003ctd\u003eGND\u003c\/td\u003e\n\u003ctd\u003eCommon ground\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\u003chr\u003e\u003ch3\u003eWhy Choose L298N Module?\u003c\/h3\u003e\u003cul\u003e\n\u003cli\u003e✅ \u003cstrong\u003e2A per channel\u003c\/strong\u003e — drives most DC gear motors and stepper motors\u003c\/li\u003e\n\u003cli\u003e✅ \u003cstrong\u003eOnboard 5V regulator\u003c\/strong\u003e — power Arduino directly from 7–35V motor supply\u003c\/li\u003e\n\u003cli\u003e✅ \u003cstrong\u003ePWM speed control\u003c\/strong\u003e — analog speed via ENA\/ENB PWM pins\u003c\/li\u003e\n\u003cli\u003e✅ \u003cstrong\u003eDual channel\u003c\/strong\u003e — control two motors independently for differential drive robots\u003c\/li\u003e\n\u003cli\u003e✅ \u003cstrong\u003eScrew terminals\u003c\/strong\u003e — secure motor and power connections\u003c\/li\u003e\n\u003c\/ul\u003e\u003chr\u003e\u003ch3\u003eCompatible With \/ Works With\u003c\/h3\u003e\u003cul\u003e\n\u003cli\u003eArduino UNO\/Nano\/Mega (PWM pins D3, D5, D6, D9, D10, D11)\u003c\/li\u003e\n\u003cli\u003eESP32 \/ ESP8266 (3.3V logic compatible with L298N 5V logic input)\u003c\/li\u003e\n\u003cli\u003eRaspberry Pi (via GPIO, use level shifter for 3.3V)\u003c\/li\u003e\n\u003cli\u003eDC gear motors: TT motor, N20, 370, 775 series\u003c\/li\u003e\n\u003cli\u003eBipolar stepper motors: 28BYJ-48 (with gear), NEMA 17 (low current)\u003c\/li\u003e\n\u003c\/ul\u003e\u003chr\u003e\u003ch3\u003eTypical Applications\u003c\/h3\u003e\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eArduino Smart Car\u003c\/strong\u003e — differential drive robot with two TT motors\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eLine Follower Robot\u003c\/strong\u003e — IR sensor + L298N + Arduino for autonomous line tracking\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eStepper Motor Control\u003c\/strong\u003e — bipolar stepper for CNC, 3D printer extruder (low current)\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eConveyor Belt\u003c\/strong\u003e — DC motor speed and direction control for automation\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePan-Tilt Platform\u003c\/strong\u003e — two-axis camera mount with DC motor control\u003c\/li\u003e\n\u003c\/ul\u003e\u003chr\u003e\u003ch3\u003eFAQ\u003c\/h3\u003e\u003cp\u003e\u003cstrong\u003eQ: Can L298N module power an Arduino UNO?\u003c\/strong\u003e\u003cbr\u003eA: Yes. Connect the module's 5V output pin to Arduino's 5V pin (not VIN). The onboard 7805 regulator provides up to 500mA — sufficient for Arduino + sensors. Requires motor supply voltage ≥7V for the regulator to work.\u003c\/p\u003e\u003cp\u003e\u003cstrong\u003eQ: Why is my motor running slowly or getting hot?\u003c\/strong\u003e\u003cbr\u003eA: L298N has ~2V voltage drop per H-bridge. At 6V motor supply, effective motor voltage is ~4V. Use 9–12V supply for full motor speed. Overheating indicates sustained current near 2A — add a heatsink to the L298N chip.\u003c\/p\u003e\u003cp\u003e\u003cstrong\u003eQ: Can L298N drive a NEMA 17 stepper motor?\u003c\/strong\u003e\u003cbr\u003eA: Only for low-current NEMA 17 motors (≤1.5A\/phase). For standard NEMA 17 (1.7–2A\/phase), use a dedicated stepper driver (A4988, DRV8825) for better current control and microstepping.\u003c\/p\u003e\u003chr\u003e\u003ch3\u003ePackage Contents\u003c\/h3\u003e\u003cul\u003e\u003cli\u003e1× L298N Dual H-Bridge DC \u0026amp; Stepper Motor Driver Module\u003c\/li\u003e\u003c\/ul\u003e","brand":"Keszoox","offers":[{"title":"Default Title","offer_id":46991482421483,"sku":"\u003cnone\u003e","price":8.04,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0677\/1005\/8731\/files\/l298n-dual-hbridge-motor-driver.webp?v=1761545161"},{"product_id":"l9110s-4-channel-dual-h-bridge-dc-motor-driver-2-5v-12v","title":"L9110S 4-Channel Dual H-Bridge DC Motor Driver Module 2.5–12V 800mA","description":"\u003ch2\u003eL9110S 4-Channel Dual H-Bridge DC Motor Driver Module — 2.5–12V \/ 800mA\u003c\/h2\u003e\u003cp\u003eThe \u003cstrong\u003eL9110S motor driver module\u003c\/strong\u003e integrates two \u003cstrong\u003eL9110S H-bridge driver ICs\u003c\/strong\u003e, providing \u003cstrong\u003e4 independent output channels\u003c\/strong\u003e to control \u003cstrong\u003e2 DC motors bidirectionally\u003c\/strong\u003e. With a supply range of \u003cstrong\u003e2.5V–12V\u003c\/strong\u003e and \u003cstrong\u003e800mA per channel\u003c\/strong\u003e, it is the compact, low-cost solution for Arduino robot cars, line-following robots, and dual-motor embedded systems.\u003c\/p\u003e\u003ch3\u003eKey Specifications\u003c\/h3\u003e\u003ctable\u003e\n\u003ctr\u003e\n\u003cth\u003eParameter\u003c\/th\u003e\n\u003cth\u003eValue\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eDriver IC\u003c\/td\u003e\n\u003ctd\u003e2× L9110S (HG7881)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSupply Voltage\u003c\/td\u003e\n\u003ctd\u003e2.5V – 12V DC\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eOutput Current (per channel)\u003c\/td\u003e\n\u003ctd\u003e800mA continuous (1.5A peak)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eNumber of Channels\u003c\/td\u003e\n\u003ctd\u003e4 (controls 2 motors)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMotor Control\u003c\/td\u003e\n\u003ctd\u003eBidirectional (forward\/reverse per motor)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ePWM Speed Control\u003c\/td\u003e\n\u003ctd\u003eYes (via IA\/IB input pins)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eLogic Input Voltage\u003c\/td\u003e\n\u003ctd\u003e2.5V – 12V (same as supply)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eBuilt-in Protection\u003c\/td\u003e\n\u003ctd\u003eThermal shutdown, overcurrent\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eModule Size\u003c\/td\u003e\n\u003ctd\u003e~28 × 21mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/table\u003e\u003ch3\u003eMotor Control Truth Table (per motor)\u003c\/h3\u003e\u003ctable\u003e\n\u003ctr\u003e\n\u003cth\u003eIA\u003c\/th\u003e\n\u003cth\u003eIB\u003c\/th\u003e\n\u003cth\u003eMotor Action\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eHIGH\u003c\/td\u003e\n\u003ctd\u003eLOW\u003c\/td\u003e\n\u003ctd\u003eForward\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eLOW\u003c\/td\u003e\n\u003ctd\u003eHIGH\u003c\/td\u003e\n\u003ctd\u003eReverse\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eLOW\u003c\/td\u003e\n\u003ctd\u003eLOW\u003c\/td\u003e\n\u003ctd\u003eCoast (stop)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eHIGH\u003c\/td\u003e\n\u003ctd\u003eHIGH\u003c\/td\u003e\n\u003ctd\u003eBrake\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/table\u003e\u003ch3\u003eWhy Choose L9110S Module?\u003c\/h3\u003e\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eDual Motor Control\u003c\/strong\u003e — Controls 2 DC motors independently with direction and PWM speed\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e2.5V–12V Supply\u003c\/strong\u003e — Works with 3.7V LiPo, 5V USB, 6V AA pack, and 12V DC\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e800mA Per Channel\u003c\/strong\u003e — Suitable for small to medium DC gear motors (TT motors, N20)\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eUltra-Compact\u003c\/strong\u003e — 28×21mm footprint; smallest dual motor driver in its class\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePWM Compatible\u003c\/strong\u003e — Connect Arduino PWM pins for variable speed control\u003c\/li\u003e\n\u003c\/ul\u003e\u003ch3\u003eTypical Applications\u003c\/h3\u003e\u003cul\u003e\n\u003cli\u003eArduino 2WD\/4WD robot car motor control\u003c\/li\u003e\n\u003cli\u003eLine-following robot differential drive\u003c\/li\u003e\n\u003cli\u003eObstacle-avoidance robot motor driver\u003c\/li\u003e\n\u003cli\u003eSmall conveyor belt and actuator control\u003c\/li\u003e\n\u003cli\u003eRC car motor driver replacement\u003c\/li\u003e\n\u003cli\u003eDual-axis camera gimbal motor control\u003c\/li\u003e\n\u003c\/ul\u003e\u003ch3\u003eArduino Wiring Example\u003c\/h3\u003e\u003cp\u003eMotor A: IA→pin 5 (PWM), IB→pin 6 (PWM). Motor B: IA→pin 9 (PWM), IB→pin 10 (PWM).\u003cbr\u003e\u003ccode\u003eanalogWrite(5, 200); digitalWrite(6, LOW); \/\/ Motor A forward at ~78% speed\u003c\/code\u003e\u003c\/p\u003e\u003ch3\u003eFAQ\u003c\/h3\u003e\u003cp\u003e\u003cstrong\u003eQ: Can L9110S module drive stepper motors?\u003c\/strong\u003e\u003cbr\u003eA: Not directly — it lacks the sequencing logic for stepper control. Use ULN2003 + 28BYJ-48 or A4988 for stepper motors.\u003c\/p\u003e\u003cp\u003e\u003cstrong\u003eQ: What’s the difference between L9110S and L298N?\u003c\/strong\u003e\u003cbr\u003eA: L9110S is smaller, lower current (800mA vs 2A), and lower voltage (12V vs 46V). L298N suits higher-power motors; L9110S suits small robot motors.\u003c\/p\u003e\u003ch3\u003ePackage Contents\u003c\/h3\u003e\u003cul\u003e\u003cli\u003e1× L9110S 4-Channel Dual H-Bridge Motor Driver Module\u003c\/li\u003e\u003c\/ul\u003e","brand":"Keszoox","offers":[{"title":"Default Title","offer_id":46991491694827,"sku":"\u003cnone\u003e","price":6.04,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0677\/1005\/8731\/files\/l9110s-4ch-dc-motor-driver.webp?v=1761535639"},{"product_id":"28byj-48-5v-stepper-motor-uln2003-driver-module-arduino-pic-avr","title":"28BYJ-48 5V Stepper Motor with ULN2003 Driver Module — 4-Phase, Arduino, PIC, AVR","description":"\u003ch2\u003e28BYJ-48 5V Stepper Motor with ULN2003 Driver Board — 4-Phase, Arduino \/ PIC \/ AVR\u003c\/h2\u003e\u003cp\u003eThe \u003cstrong\u003e28BYJ-48\u003c\/strong\u003e is a 4-phase, 5-wire unipolar stepper motor with a built-in \u003cstrong\u003e1:64 gear reduction\u003c\/strong\u003e, providing precise low-speed rotation ideal for Arduino positioning projects. Paired with the \u003cstrong\u003eULN2003 driver board\u003c\/strong\u003e, it connects directly to any 5V microcontroller GPIO without additional power components.\u003c\/p\u003e\u003ch3\u003eKey Specifications\u003c\/h3\u003e\u003ctable\u003e\n\u003ctr\u003e\n\u003cth\u003eParameter\u003c\/th\u003e\n\u003cth\u003eValue\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMotor Model\u003c\/td\u003e\n\u003ctd\u003e28BYJ-48\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSupply Voltage\u003c\/td\u003e\n\u003ctd\u003e5V DC\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ePhase Configuration\u003c\/td\u003e\n\u003ctd\u003e4-phase, unipolar\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eStep Angle (no gear)\u003c\/td\u003e\n\u003ctd\u003e5.625° \/ step\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eGear Ratio\u003c\/td\u003e\n\u003ctd\u003e1:64 (63.68:1 actual)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSteps per Revolution (full step)\u003c\/td\u003e\n\u003ctd\u003e2048 steps @ output shaft\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eNo-Load Speed\u003c\/td\u003e\n\u003ctd\u003e~15 RPM @ 5V\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eCoil Resistance\u003c\/td\u003e\n\u003ctd\u003e~50Ω per phase\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eCoil Current\u003c\/td\u003e\n\u003ctd\u003e~100mA per phase\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eDriver IC\u003c\/td\u003e\n\u003ctd\u003eULN2003A (Darlington array)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eDriver Input\u003c\/td\u003e\n\u003ctd\u003e4 digital pins (IN1–IN4)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/table\u003e\u003ch3\u003eStep Modes\u003c\/h3\u003e\u003ctable\u003e\n\u003ctr\u003e\n\u003cth\u003eMode\u003c\/th\u003e\n\u003cth\u003eSteps\/Rev\u003c\/th\u003e\n\u003cth\u003eTorque\u003c\/th\u003e\n\u003cth\u003eResolution\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eFull Step (4-step)\u003c\/td\u003e\n\u003ctd\u003e2048\u003c\/td\u003e\n\u003ctd\u003eHigher\u003c\/td\u003e\n\u003ctd\u003e0.176°\/step\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eHalf Step (8-step)\u003c\/td\u003e\n\u003ctd\u003e4096\u003c\/td\u003e\n\u003ctd\u003eLower\u003c\/td\u003e\n\u003ctd\u003e0.088°\/step\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/table\u003e\u003ch3\u003eWhy Choose 28BYJ-48 + ULN2003?\u003c\/h3\u003e\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003e1:64 Gear Reduction\u003c\/strong\u003e — High torque at low speed; holds position without power (detent torque)\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e2048 Steps\/Rev\u003c\/strong\u003e — 0.176° resolution per full step for precise positioning\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eULN2003 Driver Included\u003c\/strong\u003e — No additional components needed; connects directly to Arduino GPIO\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e5V Operation\u003c\/strong\u003e — Powered directly from Arduino 5V pin (at low duty cycle) or external 5V supply\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eArduino Stepper Library\u003c\/strong\u003e — Supported by built-in Arduino Stepper library and AccelStepper\u003c\/li\u003e\n\u003c\/ul\u003e\u003ch3\u003eTypical Applications\u003c\/h3\u003e\u003cul\u003e\n\u003cli\u003eArduino clock mechanism and dial indicator\u003c\/li\u003e\n\u003cli\u003eCamera pan\/tilt positioning system\u003c\/li\u003e\n\u003cli\u003e3D printer extruder (low-speed, high-torque)\u003c\/li\u003e\n\u003cli\u003eAutomated valve and damper control\u003c\/li\u003e\n\u003cli\u003eRobotic arm joint positioning\u003c\/li\u003e\n\u003cli\u003eVending machine dispensing mechanism\u003c\/li\u003e\n\u003c\/ul\u003e\u003ch3\u003eArduino Wiring \u0026amp; Code\u003c\/h3\u003e\u003cp\u003eConnect IN1–IN4 to Arduino pins 8–11. VCC→5V, GND→GND.\u003cbr\u003e\u003ccode\u003e#include \u0026lt;Stepper.h\u0026gt;\u003c\/code\u003e\u003cbr\u003e\u003ccode\u003eStepper myStepper(2048, 8, 10, 9, 11);\u003c\/code\u003e\u003cbr\u003e\u003ccode\u003emyStepper.setSpeed(10); \/\/ 10 RPM\u003c\/code\u003e\u003cbr\u003e\u003ccode\u003emyStepper.step(2048); \/\/ One full revolution\u003c\/code\u003e\u003c\/p\u003e\u003ch3\u003eFAQ\u003c\/h3\u003e\u003cp\u003e\u003cstrong\u003eQ: Can 28BYJ-48 be powered from Arduino’s 5V pin?\u003c\/strong\u003e\u003cbr\u003eA: For brief movements yes, but continuous operation draws ~400mA (4 phases × 100mA) — exceeding Arduino’s 500mA USB limit. Use an external 5V supply for sustained use.\u003c\/p\u003e\u003cp\u003e\u003cstrong\u003eQ: What’s the actual gear ratio of 28BYJ-48?\u003c\/strong\u003e\u003cbr\u003eA: The nominal ratio is 1:64, but the actual ratio is 63.68395:1, giving 2037.9 steps\/rev in full-step mode. Most projects use 2048 for simplicity.\u003c\/p\u003e\u003ch3\u003ePackage Contents\u003c\/h3\u003e\u003cul\u003e\n\u003cli\u003e1× 28BYJ-48 5V 4-Phase Stepper Motor\u003c\/li\u003e\n\u003cli\u003e1× ULN2003 Driver Board\u003c\/li\u003e\n\u003cli\u003e1× Connecting Cable\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"Keszoox","offers":[{"title":"module","offer_id":46991497134315,"sku":"14:10#module","price":6.88,"currency_code":"USD","in_stock":true},{"title":"Motor","offer_id":46991497167083,"sku":"14:350852#Motor","price":10.0,"currency_code":"USD","in_stock":true},{"title":"motor with module","offer_id":46991497199851,"sku":"14:29#motor with module","price":12.2,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0677\/1005\/8731\/files\/28byj48-stepper-motor-uln2003.webp?v=1761535447"},{"product_id":"uln2003a-sop16-7-channel-darlington-transistor-array-relay-stepper","title":"ULN2003A SOP-16 7-Channel Darlington Transistor Array IC — Relay \u0026 Stepper Driver (5-Pack)","description":"\u003ch2\u003eULN2003A SOP-16 7-Channel Darlington Transistor Array IC — Relay \u0026amp; Stepper Motor Driver (5-Pack)\u003c\/h2\u003e\u003cp\u003eThe \u003cstrong\u003eULN2003A\u003c\/strong\u003e is a high-voltage, high-current Darlington transistor array in a \u003cstrong\u003eSOP-16\u003c\/strong\u003e surface-mount package, containing \u003cstrong\u003eseven NPN Darlington pairs\u003c\/strong\u003e each rated at \u003cstrong\u003e50V \/ 500mA\u003c\/strong\u003e with built-in \u003cstrong\u003eflyback protection diodes\u003c\/strong\u003e. It is the standard IC for driving relays, stepper motors, solenoids, and LED arrays from 3.3V\/5V MCU GPIO signals.\u003c\/p\u003e\u003ch3\u003eKey Specifications\u003c\/h3\u003e\u003ctable\u003e\n\u003ctr\u003e\n\u003cth\u003eParameter\u003c\/th\u003e\n\u003cth\u003eValue\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ePart Number\u003c\/td\u003e\n\u003ctd\u003eULN2003A\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ePackage\u003c\/td\u003e\n\u003ctd\u003eSOP-16 (SMD)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eNumber of Channels\u003c\/td\u003e\n\u003ctd\u003e7 (independent Darlington pairs)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eOutput Voltage (Max)\u003c\/td\u003e\n\u003ctd\u003e50V\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eOutput Current (per channel)\u003c\/td\u003e\n\u003ctd\u003e500mA continuous (600mA peak)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eInput Voltage (Logic HIGH)\u003c\/td\u003e\n\u003ctd\u003e2.4V – 5V (TTL\/CMOS compatible)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eInput Current (per channel)\u003c\/td\u003e\n\u003ctd\u003e~1mA @ VIN=5V\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eFlyback Diodes\u003c\/td\u003e\n\u003ctd\u003eBuilt-in (one per channel, common anode to COM pin)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSaturation Voltage (VCE(sat))\u003c\/td\u003e\n\u003ctd\u003e~1.1V @ 350mA\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eOperating Temperature\u003c\/td\u003e\n\u003ctd\u003e−40°C to +85°C\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eQuantity\u003c\/td\u003e\n\u003ctd\u003e5 pieces\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/table\u003e\u003ch3\u003eULN2003A vs ULN2803A\u003c\/h3\u003e\u003ctable\u003e\n\u003ctr\u003e\n\u003cth\u003eFeature\u003c\/th\u003e\n\u003cth\u003eULN2003A\u003c\/th\u003e\n\u003cth\u003eULN2803A\u003c\/th\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eChannels\u003c\/td\u003e\n\u003ctd\u003e7\u003c\/td\u003e\n\u003ctd\u003e8\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ePackage\u003c\/td\u003e\n\u003ctd\u003eDIP-16 \/ SOP-16\u003c\/td\u003e\n\u003ctd\u003eDIP-18 \/ SOP-18\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eInput Logic\u003c\/td\u003e\n\u003ctd\u003e5V TTL\/CMOS\u003c\/td\u003e\n\u003ctd\u003e5V TTL\/CMOS\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eOutput Current\u003c\/td\u003e\n\u003ctd\u003e500mA per channel\u003c\/td\u003e\n\u003ctd\u003e500mA per channel\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eBest For\u003c\/td\u003e\n\u003ctd\u003eStepper motor (28BYJ-48), 7-relay bank\u003c\/td\u003e\n\u003ctd\u003e8-relay bank, 8-channel driver\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/table\u003e\u003ch3\u003eWhy Choose ULN2003A?\u003c\/h3\u003e\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003e7 Channels in One IC\u003c\/strong\u003e — Drives 7 relays, 7 LEDs, or 4-phase stepper motor from a single package\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eBuilt-in Flyback Diodes\u003c\/strong\u003e — Protects MCU from inductive kickback when switching relays and solenoids\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e50V \/ 500mA Per Channel\u003c\/strong\u003e — Handles 5V, 12V, and 24V relay coils and solenoids\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003e3.3V\/5V Input Compatible\u003c\/strong\u003e — Directly driven from ESP32, Arduino, Raspberry Pi GPIO\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eSOP-16 SMD Package\u003c\/strong\u003e — Compact footprint for modern PCB relay driver designs\u003c\/li\u003e\n\u003c\/ul\u003e\u003ch3\u003eTypical Applications\u003c\/h3\u003e\u003cul\u003e\n\u003cli\u003e28BYJ-48 stepper motor driver (4-phase unipolar, uses 4 of 7 channels)\u003c\/li\u003e\n\u003cli\u003e7-channel relay bank driver from Arduino\/ESP32\u003c\/li\u003e\n\u003cli\u003eSolenoid valve driver for pneumatic and hydraulic systems\u003c\/li\u003e\n\u003cli\u003eHigh-current LED array driver (up to 500mA per LED string)\u003c\/li\u003e\n\u003cli\u003eLamp and incandescent bulb switching from MCU\u003c\/li\u003e\n\u003cli\u003eIndustrial output module for PLC I\/O expansion\u003c\/li\u003e\n\u003c\/ul\u003e\u003ch3\u003eFAQ\u003c\/h3\u003e\u003cp\u003e\u003cstrong\u003eQ: How do I connect ULN2003A to drive a 12V relay from Arduino?\u003c\/strong\u003e\u003cbr\u003eA: Connect Arduino GPIO to ULN2003A input pin (IN1–IN7). Connect relay coil between 12V supply and ULN2003A output pin (OUT1–OUT7). Connect COM pin to 12V supply (for flyback diode). Connect GND to Arduino GND and 12V GND.\u003c\/p\u003e\u003cp\u003e\u003cstrong\u003eQ: Can ULN2003A drive a 28BYJ-48 stepper motor?\u003c\/strong\u003e\u003cbr\u003eA: Yes — the 28BYJ-48 ULN2003 driver board uses exactly this IC. Connect IN1–IN4 to Arduino pins 8–11, OUT1–OUT4 to stepper motor coils, VCC to 5V.\u003c\/p\u003e\u003ch3\u003ePackage Contents\u003c\/h3\u003e\u003cul\u003e\u003cli\u003e5× ULN2003A SOP-16 Darlington Transistor Array IC\u003c\/li\u003e\u003c\/ul\u003e","brand":"Keszoox","offers":[{"title":"10PCS-ULN2003A","offer_id":46991509324011,"sku":"14:350852#10PCS-ULN2003A","price":5.12,"currency_code":"USD","in_stock":true},{"title":"20PCS-ULN2003A","offer_id":46991509356779,"sku":"14:10#20PCS-ULN2003A","price":6.76,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0677\/1005\/8731\/files\/uln2003a-sop16-darlington-transistor-array-ic-chip-smd.webp?v=1761364751"},{"product_id":"motor-driver-board-bldc-dc12-36v-500w-brushless-speed-controller-for-pwm-hall-less-motor-control-brushless-motor-speed-regulator","title":"Motor Driver Board BLDC DC12-36V 500W Brushless Speed Controller For PWM Hall-less Motor Control Brushless Motor Speed Regulator","description":"\u003ch1\u003eSPECIFICATIONS\u003c\/h1\u003e\u003cp\u003e\u003cspan\u003eBrand Name\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eKeszoox\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eHigh-concerned chemical\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eNone\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eMotor\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eDC Motor\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eOrigin\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eMainland China\u003c\/span\u003e\u003c\/p\u003e\u003cdiv class=\"detailmodule_html\"\u003e\u003cdiv class=\"detail-desc-decorate-richtext\"\u003e\n\u003cdiv style=\"font-size: 20px;\"\u003e\n\u003cp\u003e\u003cstrong\u003e\u003cspan style='font-size: 20px; font-family: \"times new roman\";'\u003e\u003c\/span\u003e\u003cspan style=\"text-wrap-mode: nowrap;\"\u003eF\u003c\/span\u003e\u003c\/strong\u003e\u003cstrong\u003e\u003cspan style=\"text-wrap-mode: nowrap;\"\u003eeatures:\u003c\/span\u003e\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"text-wrap-mode: nowrap;\"\u003e* The driver supports forward and reverse rotation switching and features a potentiometer for speed control. The potentiometer is generally suitable for 10-50K, and can also be adjusted using a 5V for PWM signal.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"text-wrap-mode: nowrap;\"\u003e* Easy to use, with the driver board featuring an 18mm thick heat sink.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"text-wrap-mode: nowrap;\"\u003e* Compact and elegant appearance, with neatly arranged components.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"text-wrap-mode: nowrap;\"\u003e* Wide range of applications.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"text-wrap-mode: nowrap;\"\u003e\u003cbr\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003cspan style=\"text-wrap-mode: nowrap;\"\u003eSpecifications:\u003c\/span\u003e\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"text-wrap-mode: nowrap;\"\u003ePart Name: Motor Driver Board\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"text-wrap-mode: nowrap;\"\u003eMaterial: PCB, Metal\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"text-wrap-mode: nowrap;\"\u003eColor: As shown\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"text-wrap-mode: nowrap;\"\u003eSize: Approx. 63*43mm\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"text-wrap-mode: nowrap;\"\u003eInput Voltage: DC12-36V\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"text-wrap-mode: nowrap;\"\u003eMaximum Current: 15A\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"text-wrap-mode: nowrap;\"\u003eMaximum Power: 500W\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"text-wrap-mode: nowrap;\"\u003eNotes: (see below)\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"text-wrap-mode: nowrap;\"\u003eWhen testing the driver, it is best to use the adjustable power supply in current-limiting mode to verify the actual no-load current to avoid burnout caused by excessive power at abnormal times.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"text-wrap-mode: nowrap;\"\u003eDo not short-circuit the three output phases UV, W, or D, as this may damage the driver. When using high power, adjust the power supply based on the actual heat generated. If excessive heat is generated, a fan should be installed for forced cooling.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"text-wrap-mode: nowrap;\"\u003eThe driver does not come with a socket or connecting cable; soldering is required. You must prepare the forward\/reverse switch and speed potentiometer yourself. The soldering iron must be properly grounded to prevent induced current from damaging the driver.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"text-wrap-mode: nowrap;\"\u003e\u003cbr\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003cspan style=\"text-wrap-mode: nowrap;\"\u003ePackage Contents:\u003c\/span\u003e\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"text-wrap-mode: nowrap;\"\u003e1 x Motor Driver Board\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"text-wrap-mode: nowrap;\"\u003e\u003cbr\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003cspan style=\"text-wrap-mode: nowrap;\"\u003eNote：\u003c\/span\u003e\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"text-wrap-mode: nowrap;\"\u003e1.The real color of the item may be slightly different from the pictures shown on website caused by many factors such as brightness of your monitor and light brightness.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"text-wrap-mode: nowrap;\"\u003e2.Please allow slight manual measurement deviation for the data.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style='font-size: 20px; font-family: \"times new roman\";'\u003e\u003c\/span\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Sf1118bcce15148d8b90944b6762d523eY.jpeg\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Sef486bf285b74855848af5afb101d432K.jpeg\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S8412b0629e7b4dc99bc7af0a54825f31q.jpeg\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S320d03f7c75143adbb712e9d69b69d9ew.jpeg\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S62f455f73f7142fb843abfe639666074d.jpeg\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S1c163751f52c4131ba93b330d56caa38v.jpeg\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S93935acd56d1450d8cde7e9e5264ed8au.jpeg\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S0aebac8886964e0fb54e63206af9e3a2g.jpeg\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S35477fc774ae4f51acca5ea0c5337151k.jpeg\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S41a7239ffb674020a29bac6b585713fax.jpeg\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Se51c5c5eeb2146b0b955d2bdb2cf7107C.jpeg\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003c\/div\u003e\r\n","brand":"Keszoox","offers":[{"title":"China Mainland","offer_id":47723226562795,"sku":"200007763:201336100","price":81.04,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0677\/1005\/8731\/files\/S35477fc774ae4f51acca5ea0c5337151k.webp?v=1770450051"},{"product_id":"l298n-motor-driver-board-module-dc-stepper-motor-controller-for-robot-car-5v-h-bridge-drive-25w-for-power-supply","title":"L298N Motor Driver Board Module DC Stepper Motor Controller For Robot Car 5V H Bridge Drive 25W For Power Supply","description":"\u003ch1\u003eSPECIFICATIONS\u003c\/h1\u003e\u003cp\u003e\u003cspan\u003eBrand Name\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eKeszoox\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eCertification\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eNone\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eChoice\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eyes\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eHigh-concerned chemical\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eNone\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eModel Number\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eL298N\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eMotor\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eDC Motor\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eMotor Type\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eDC Motor\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eOrigin\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eMainland China\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003esemi_Choice\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eyes\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003etype 1\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eL298N\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003etype 2\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003estepper motor driver\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003etype 3\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003estepper driver\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003etype 4\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003estepper motor controller\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003etype 5\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003emotor driver\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003etype 6\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003edriver stepper 5v\u003c\/span\u003e\u003c\/p\u003e\u003cdiv class=\"detailmodule_html\"\u003e\u003cdiv class=\"detail-desc-decorate-richtext\"\u003e\n\u003cp\u003e\u003cspan style=\"font-size:20px\"\u003e\u003cstrong\u003eFeatures:\u003c\/strong\u003e\u003c\/span\u003e\u003cbr\u003e*This module USES L298N as the main drive chip, with strong driving ability, low heat and strong anti-interference ability.\u003cbr\u003e*Through this module can use the built-in 78 m05 drive power supply parts of their work, but in order to avoid the voltage regulator chip damage, when using the driving voltage is greater than 12 v, please use the external power supply 5 v logic.\u003cbr\u003e*This module USES a large capacity filter capacity, a continuation protection diode, can improve reliability.\u003cbr\u003e\u003cbr\u003e\u003cspan style=\"font-size:20px\"\u003e\u003cstrong\u003eSpecification:\u003c\/strong\u003e\u003c\/span\u003e\u003cbr\u003eModule name: dual H bridge motor drive module\u003cbr\u003eWork mode: H bridge drive(double road)\u003cbr\u003eMain control chip: L298N\u003cbr\u003ePackaging: electrostatic bag\u003cbr\u003eLogical voltage: 5V\u003cbr\u003eDrive voltage: 5v-35v\u003cbr\u003eLogical current: 0mA-36mA\u003cbr\u003eDriving current: 2A(MAX single bridge)\u003cbr\u003eStorage temperature:- 20℃ to+ 135℃\u003cbr\u003eMaximum power: 25W\u003cbr\u003eWeight: 30g\u003cbr\u003ePeripheral dimensions: 43*43*27mm\u003cbr\u003e\u003cbr\u003ePrecautions:\u003cbr\u003e1. When your driving voltage(marked as 12V input in the above picture, the actual acceptable input range is 7-12V) is 7V\u003cbr\u003eWhen-12V, the onboard 5V logic power supply can be enabled. After using the onboard 5V power supply, the+5V in the interface\u003cbr\u003eNo input voltage is required for power supply, but 5V voltage can be drawn out for external use.(This is a regular application!)\u003cbr\u003e2. When the driving voltage is higher than 12V and less than or equal to 24V(the chip manual states that it can support up to 35V, but according to experience It has been tested that the maximum voltage of 298 conservative applications can support up to 24V), for example, if you want to drive the rated voltage to\u003cbr\u003e18V motor. First, you must remove the onboard 5V output enable for jumper cap. Then connect 5V externally to the 5V output port\u003cbr\u003e5V enable is a control signal with a level of 5V. When this signal input is valid and the power supply in the motor drive module is normal, the motor drive module outputs current. Otherwise, even if the power supply is normal, there will be no current on the motor.\u003cbr\u003eThe voltage supplies the L298N internal logic circuitry.(This is an unconventional application of high voltage drive)\u003cbr\u003e\u003cbr\u003e\u003cstrong\u003e\u003cspan style=\"font-size:20px\"\u003ePacking list:\u003c\/span\u003e\u003c\/strong\u003e\u003cbr\u003e1*Motor driver board module\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003eNote:\u003cbr\u003e\u003cspan style='background-color:rgb(255, 255, 255);color:rgb(17, 31, 44);font-size:14px;font-family:\"Microsoft YaHei\", \"Segoe UI\", system-ui, Roboto, \"Droid Sans\", \"Helvetica Neue\", sans-serif, Tahoma, \"Segoe UI SymbolMyanmar Text\", 微软雅黑'\u003e1. The real color of the item may be slightly different from the pictures shown on website caused by many factors such as brightness of your monitor and light brightness.\u003c\/span\u003e\u003cbr\u003e\u003cspan style='background-color:rgb(255, 255, 255);color:rgb(17, 31, 44);font-size:14px;font-family:\"Microsoft YaHei\", \"Segoe UI\", system-ui, Roboto, \"Droid Sans\", \"Helvetica Neue\", sans-serif, Tahoma, \"Segoe UI SymbolMyanmar Text\", 微软雅黑'\u003e2. Please allow slight manual measurement deviation for the data.\u003c\/span\u003e\u003c\/p\u003e\n\u003cdiv\u003e\n\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Sf607dab82bbe4b2b9df9224f2d550944e.jpeg\" slate-data-type=\"image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S5718214a5a9a4ee4bc05de99102087201.jpeg\" slate-data-type=\"image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S5718214a5a9a4ee4bc05de99102087201.jpeg\" slate-data-type=\"image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Sf5fa7154e4ca46b5aea69593cd4a8175H.jpeg\" slate-data-type=\"image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Sad8e5d2e0b3f4463a1b16bfd9367ff86U.jpeg\" slate-data-type=\"image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S0e3588a1a7284e3b8e41498d00d1b0206.jpeg\" slate-data-type=\"image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Sf607dab82bbe4b2b9df9224f2d550944e.jpeg\" slate-data-type=\"image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S52bdcd0f70fb42ac86d3cbeadc9365cdZ.jpeg\" slate-data-type=\"image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Sff488956dd864dee8cdfeae57572258dm.jpeg\" slate-data-type=\"image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S489bcf6269d846939cec793faa6a6d811.jpeg\" slate-data-type=\"image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Sb6bd6533ae5f4bef8cee2f296b35b3cak.jpeg\" slate-data-type=\"image\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003c\/div\u003e\u003cbr\u003e","brand":"Keszoox","offers":[{"title":"China Mainland","offer_id":47723228987627,"sku":"200007763:201336100","price":13.0,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0677\/1005\/8731\/files\/S4a94c37d26594c62a882471fb2baa2c1y.webp?v=1770450065"},{"product_id":"jgb37-520-dc-reduction-motor-comes-with-coding-high-torque-dc-gear-motor-6v12v24v-adjustable-speed-direction","title":"JGB37-520 DC Reduction Motor Comes With Coding High-Torque  DC Gear Motor 6V12V24V Adjustable Speed Direction","description":"\u003ch1\u003eSPECIFICATIONS\u003c\/h1\u003e\u003cp\u003e\u003cspan\u003eBrand Name\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eKeszoox\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eHigh-concerned chemical\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eNone\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eOrigin\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eMainland China\u003c\/span\u003e\u003c\/p\u003e\u003cdiv class=\"detailmodule_html\"\u003e\u003cdiv class=\"detail-desc-decorate-richtext\"\u003e\n\u003cdiv style=\"font-size: 20px;\"\u003e\n\u003cp\u003e\u003cspan style='font-family: \"times new roman\"; font-size: 20px;'\u003e\u003cstrong\u003e\u003cspan style='font-size: 20px; font-family: \"times new roman\";'\u003e\u003c\/span\u003eFeatures:\u003c\/strong\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style='font-family: \"times new roman\"; font-size: 20px;'\u003eThe JGB37-520 DC motor with encoder is primarily used in speed measurement vehicles, two-wheeled self-balancing vehicles, racing vehicles, tracking vehicles, robots, maze-solving robots, and other related fields. The speed measurement encoder uses a Hall effect encoder for stable performance.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style='font-family: \"times new roman\"; font-size: 20px;'\u003e*Adjustable Speed Range: With a no-load speed range from 7RPM to 960RPM, this motor allows for fine speed adjustments, making it suitable for precise tasks that require specific operational speeds.  \u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style='font-family: \"times new roman\"; font-size: 20px;'\u003e*High Torque Performance: Capable of delivering a maximum torque of 25kgcm, this gear reduction motor is designed to handle heavy loads efficiently, perfect for demanding applications like smart toilet seats.  \u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style='font-family: \"times new roman\"; font-size: 20px;'\u003e*Compact Design: The motor features a compact diameter of 33mm and a body length of just 22.7mm, making it easy to integrate into tight spaces without sacrificing performance.  \u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style='font-family: \"times new roman\"; font-size: 20px;'\u003e*Forward and Reverse Functionality: This motor supports both forward and reverse rotation, providing enhanced control over the application and expanding its usability across different tasks.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style='font-family: \"times new roman\"; font-size: 20px;'\u003e\u003cstrong\u003eSpecifications:\u003c\/strong\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style='color: rgb(0, 0, 0); font-family: \"times new roman\"; font-size: 20px;'\u003e*Part Name:JGB37-520 DC reduction motor\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style='color: rgb(0, 0, 0); font-family: \"times new roman\"; font-size: 20px;'\u003e*Material:aluminum\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style='color: rgb(0, 0, 0); font-family: \"times new roman\"; font-size: 20px;'\u003e*Size:As shown\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style='color: rgb(0, 0, 0); font-family: \"times new roman\"; font-size: 20px;'\u003e*Color:silver\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style='color: rgb(0, 0, 0); font-family: \"times new roman\"; font-size: 20px;'\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style='font-family: \"times new roman\"; font-size: 20px;'\u003eVoltage: DC 12V\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style='font-family: \"times new roman\"; font-size: 20px;'\u003eNo-load speed: 7 rpm, 12 rpm, 22 rpm, 35 rpm, 45 rpm, 66 rpm, 107 rpm, 200 rpm, 320 rpm, 600 rpm, 960 rpm\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style='font-family: \"times new roman\"; font-size: 20px;'\u003eVoltage: DC 24V\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style='font-family: \"times new roman\"; font-size: 20px;'\u003eNo-load speed: 7 rpm, 12 rpm, 22 rpm, 35 rpm, 45 rpm, 66 rpm, 107 rpm, 200 rpm, 320 rpm, 600 rpm, 960 rpm\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style='font-family: \"times new roman\"; font-size: 20px;'\u003eMaximum power: 10W\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style='font-family: \"times new roman\"; font-size: 20px;'\u003eMaximum torque: 25 kg\/cm\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style='font-family: \"times new roman\"; font-size: 20px;'\u003eMotor diameter: 33 mm\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style='font-family: \"times new roman\"; font-size: 20px;'\u003eMotor body length: 22.7 mm\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style='font-family: \"times new roman\"; font-size: 20px;'\u003eOutput shaft diameter: 6 mm\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style='font-family: \"times new roman\"; font-size: 20px;'\u003eOutput shaft length: 15 mm\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style='font-family: \"times new roman\"; font-size: 20px;'\u003eGearbox diameter: 37 mm\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style='font-family: \"times new roman\"; font-size: 20px;'\u003e[Wiring \u003cspan style=\"color:#ff0000\"\u003eway\u003c\/span\u003e] - Also marked on the encoder disk\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style='font-family: \"times new roman\"; font-size: 20px;'\u003e1. M1 Motor Power Connector\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style='font-family: \"times new roman\"; font-size: 20px;'\u003e2. GND Encoder Power Negative Input\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style='font-family: \"times new roman\"; font-size: 20px;'\u003e3. C1 Encoder Phase A Output\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style='font-family: \"times new roman\"; font-size: 20px;'\u003e4. C2 Encoder Phase B Output\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style='font-family: \"times new roman\"; font-size: 20px;'\u003e5. 3.3V Encoder Power Positive Input (Compatible with 3.3V and 5V)\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style='font-family: \"times new roman\"; font-size: 20px;'\u003e6. M2 Motor Power Connector\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style='font-family: \"times new roman\"; font-size: 20px;'\u003e[Recommended Motors]\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style='font-family: \"times new roman\"; font-size: 20px;'\u003e1. 110RPM Motor Features: Slow speed, easy control; high torque and power; suitable for balancing carts, heavy carts, etc.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style='font-family: \"times new roman\"; font-size: 20px;'\u003e2. 320RPM Motor Features: Moderate speed; high torque; suitable for maze-climbing robots, fire-fighting robots, climbing robots, etc.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style='color: rgb(0, 0, 0); font-family: \"times new roman\"; font-size: 20px;'\u003e\u003cbr\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style='font-family: \"times new roman\"; font-size: 20px;'\u003e\u003cstrong\u003ePackage Content:\u003c\/strong\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style='font-family: \"times new roman\"; font-size: 20px;'\u003e\u003cstrong\u003e1*\u003cspan style='color: rgb(0, 0, 0); font-family: \"times new roman\"; font-size: 20px; text-wrap-mode: wrap;'\u003eJGB37-520 DC reduction motor\u003c\/span\u003e\u003c\/strong\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style='font-family: \"times new roman\"; font-size: 20px;'\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003cspan style='font-family: \"times new roman\"; font-size: 20px;'\u003e\u003cstrong\u003eNote:\u003c\/strong\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style='font-family: \"times new roman\"; font-size: 20px;'\u003e1. The real color of the item may be slightly different from the pictures shown on website caused by many factors such as brightness of your monitor and light brightness.\u003cbr\u003e2. Please allow slight manual measurement deviation for the data.\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv\u003e\n\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S89ba10f363a9429d8e2fb99c88cebe1bg.jpeg\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Scf8d63856dc342769fbf745cf16dcba4h.jpeg\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S55aaca984d8248dead23e09f5ec02d45O.jpeg\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Sc29483161a33423287ad77d9bd1c4f56E.jpeg\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S54f06b8c4f5f42e3b1e63834ddbefd34R.jpeg\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Sc21f86c5466644a7a797fde1b79c7b601.jpeg\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S16c21d8b85454cecb8760af263d82eaee.jpeg\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Sfdff4e41714f48e98a2c2c3e5a270084v.jpeg\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S3877149b6b3843f5a2fee011df1467beB.jpeg\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S655fc4c46a514b98928ee856da75ebedA.jpeg\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Se7e6e9da928d4288bf2f2e642735381dR.jpeg\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003c\/div\u003e\r\n","brand":"Keszoox","offers":[{"title":"12V60 \/ China Mainland","offer_id":47798452912363,"sku":"14:350853#12V60;200007763:201336100","price":98.88,"currency_code":"USD","in_stock":true},{"title":"12V1000 \/ China Mainland","offer_id":47798452945131,"sku":"14:496#12V1000;200007763:201336100","price":102.88,"currency_code":"USD","in_stock":true},{"title":"12V37 \/ China Mainland","offer_id":47798452977899,"sku":"14:29#12V37;200007763:201336100","price":98.88,"currency_code":"USD","in_stock":true},{"title":"12v1590 \/ China Mainland","offer_id":47798453010667,"sku":"14:350686#12v1590;200007763:201336100","price":102.88,"currency_code":"USD","in_stock":true},{"title":"12V20 \/ China Mainland","offer_id":47798453043435,"sku":"14:193#12V20;200007763:201336100","price":98.88,"currency_code":"USD","in_stock":true},{"title":"12V33 \/ China Mainland","offer_id":47798453076203,"sku":"14:173#12V33;200007763:201336100","price":98.88,"currency_code":"USD","in_stock":true},{"title":"12V111 \/ China Mainland","offer_id":47798453108971,"sku":"14:366#12V111;200007763:201336100","price":98.88,"currency_code":"USD","in_stock":true},{"title":"12V176 \/ China Mainland","offer_id":47798453141739,"sku":"14:94#12V176;200007763:201336100","price":104.88,"currency_code":"USD","in_stock":true},{"title":"12V76 \/ China Mainland","offer_id":47798453174507,"sku":"14:1202#12V76;200007763:201336100","price":100.84,"currency_code":"USD","in_stock":true},{"title":"12V530 \/ China Mainland","offer_id":47798453207275,"sku":"14:10#12V530;200007763:201336100","price":103.4,"currency_code":"USD","in_stock":true},{"title":"12V12 \/ China Mainland","offer_id":47798453240043,"sku":"14:175#12V12;200007763:201336100","price":98.88,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0677\/1005\/8731\/files\/S89ba10f363a9429d8e2fb99c88cebe1bg.webp?v=1770565264"},{"product_id":"compact-design-dc-motor-controller-for-energy-saving-2-36-1-33-0-47-inches-adjustable-speed-motor-driver-energy-efficiency","title":"Compact Design DC Motor Controller For Energy Saving 2.36*1.33*0.47 Inches Adjustable Speed Motor Driver Energy Efficiency","description":"\u003ch1\u003eSPECIFICATIONS\u003c\/h1\u003e\u003cp\u003e\u003cspan\u003eBrand Name\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eKeszoox\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eHigh-concerned chemical\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eNone\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eMaterial\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eAlloy\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eOrigin\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eMainland China\u003c\/span\u003e\u003c\/p\u003e\u003cdiv class=\"detailmodule_html\"\u003e\u003cdiv class=\"detail-desc-decorate-richtext\"\u003e\n\u003cp\u003e\u003cstrong\u003e\u003cspan style=\"font-family: times new roman; font-size: 20px;\"\u003e\u003cspan style='font-size: 20px; font-family: \"times new roman\";'\u003e\u003c\/span\u003eFeatures:\u003c\/span\u003e\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-family: times new roman; font-size: 20px;\"\u003e*Multi-Function Integration: This motor controller boasts an impressive array of 18 different functions, enabling seamless control over the motor's forward and reverse rotation, speed adjustment, and fixed-speed maintenance. Its  for versatile design caters to various operational needs, making it suitable for diverse applications.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-family: times new roman; font-size: 20px;\"\u003e*Screen Off \u0026amp; Timed Shutdown: With advanced display management features, users can set idle screen-off times and runtime thresholds. This intelligent functionality automatically powers down the display or device upon reaching preset limits, promoting energy efficiency and extending the controller's lifespan.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-family: times new roman; font-size: 20px;\"\u003e*Wide Application: Designed to work effectively with DC brushed motors and push rod motors up to 50W, this controller is perfect for a variety of devices such as small fans, toy car models, and other low-power machinery, broad compatibility across different projects.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-family: times new roman; font-size: 20px;\"\u003e*Memory Function: The built-in memory function allows for the preservation of parameter settings even when the device is powered off or during unexpected power outages. This feature saves time and effort by eliminating the need to reconfigure settings after each use.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-family: times new roman; font-size: 20px;\"\u003e*Compact Design \u0026amp; Parameters: Measuring just 60*34*12mm (2.36*1.33*0.47 inches), this compact motor controller is designed for convenience without sacrificing performance. It supports an input voltage range of DC 3.3-15V, with a speed regulation range of 0-100% and a maximum output current of 4.2A, making it a powerful tool for various applications.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003cspan style=\"font-family: times new roman; font-size: 20px;\"\u003eSpecifications:\u003c\/span\u003e\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style='font-family: \"times new roman\"; font-size: 20px; color: rgb(0, 0, 0);'\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style='font-family: \"times new roman\"; font-size: 20px;'\u003e*Part Name: Motor Controller\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style='font-family: \"times new roman\"; font-size: 20px;'\u003e*Material: None\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style='font-family: \"times new roman\"; font-size: 20px;'\u003e*Size: 60*34*12mm\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style='font-family: \"times new roman\"; font-size: 20px;'\u003e*Color: \u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003cspan style=\"font-size: 20px; font-family: times new roman;\"\u003ePackage Content:\u003c\/span\u003e\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003cspan style=\"font-size: 20px; font-family: times new roman;\"\u003e1*\u003cspan style='font-family: \"times new roman\"; font-size: 20px; text-wrap-mode: wrap;'\u003eMotor Controller\u003c\/span\u003e\u003c\/span\u003e\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 20px; font-family: times new roman;\"\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003cstrong\u003e\u003cspan style=\"font-size: 20px; font-family: times new roman;\"\u003eNote:\u003c\/span\u003e\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 20px; font-family: times new roman;\"\u003e1. The real  of the item may be slightly different from the pictures shown on website caused by many factors such as brightness of your monitor and light brightness.\u003cbr\u003e2. Please allow slight manual measurement deviation for the data.\u003c\/span\u003e\u003c\/p\u003e\n\u003cdiv\u003e\n\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S6c6c99399aa64b9a8682735c3c5ef049I.jpeg\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Sdcd2e2dcbdf54a8db48c83567fcbc280H.jpeg\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S5d7a8d705bec4f048aa91140de1de6375.jpeg\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S85f33e4eb31a43e98cc4cb8317cf36daQ.jpeg\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Sa349b6babfdc4be1b94e3ec35c63edb7O.jpeg\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Sba3ecadfebb94d458add83476808e30dA.jpeg\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S92817ab36d944c2c82043f33301ef56aQ.jpeg\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003c\/div\u003e\r\n","brand":"Keszoox","offers":[{"title":"China Mainland","offer_id":47798485844203,"sku":"200007763:201336100","price":21.32,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0677\/1005\/8731\/files\/S92817ab36d944c2c82043f33301ef56aQ_d5681460-ecc6-4c3a-bde3-f6b09315df52.webp?v=1770565438"},{"product_id":"1s-2s-dc-3-7v-7-4v-4a-mini-bldc-brushless-motor-driver-board-electric-regulator-drive-for-1104-1106-1306-1407-1806-motor","title":"1S-2S DC 3.7V-7.4V 4A Mini BLDC Brushless Motor Driver Board Electric Regulator Drive for 1104 1106 1306 1407 1806 Motor","description":"\u003ch1\u003eSPECIFICATIONS\u003c\/h1\u003e\u003cp\u003e\u003cspan\u003eBrand Name\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eKeszoox\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eChoice\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eyes\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eHigh-concerned chemical\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eNone\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eMotor\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eAC Motor\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eOrigin\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eMainland China\u003c\/span\u003e\u003c\/p\u003e\u003cdiv class=\"detailmodule_html\"\u003e\u003cdiv class=\"detail-desc-decorate-richtext\"\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003e100% Brand New and High Quality !\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003eMaterial:Plastic\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003eSize:2*0.7cm\/0.78*0.27in\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003eColor:Red\/Blue\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003ePackage Included:\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003e1PCS\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003eNote:\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003e1. Please note that the photo does not show actual size, please refer to Description for size details.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003e2. Please allow 5-10mm differences due to manual measurement, thanks.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003e3. Due to the difference between different monitors, the image may not reflect the actual color of the item.\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/div\u003e\u003cdiv class=\"detailmodule_image\"\u003e\n\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/Sd051bb18f52b42f6ae9ac394a1365dabB.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/Sf8fb2f0f45f04243a6d1e30e26a607429.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/Sff402b0771ac446a913a0a607cad5c6bL.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/S6701ce078f844e2ca21e2d02263b71fd9.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/Sd72e2b0540c24a06b04ddc110cfbac91J.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/S0758a2a2623f4a4db029f68200b3e209L.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/S142a10b6017d47e19a959dfd42e310abJ.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/S20fcb6ae95e340db817c79728fa724ecH.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/S6399218823c94159921c6d1d1be86946E.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/S0a2f6b703fb74ee19a67aed72821db91D.jpg\" slate-data-type=\"image\"\u003e\n\u003c\/div\u003e\u003cbr\u003e","brand":"Keszoox","offers":[{"title":"12V","offer_id":47800850677995,"sku":"35:353308","price":13.09,"currency_code":"USD","in_stock":true},{"title":"24V","offer_id":47800850710763,"sku":"35:353309","price":15.16,"currency_code":"USD","in_stock":true},{"title":"Blue","offer_id":47800850743531,"sku":"35:100016897#Blue","price":10.01,"currency_code":"USD","in_stock":true},{"title":"Red","offer_id":47800850776299,"sku":"35:201283931#Red","price":11.34,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0677\/1005\/8731\/files\/1s-2s-mini-bldc-motor-driver-board.webp?v=1770696571"},{"product_id":"1-2pcs-1s-2s-dc-3-7v-7-4v-4a-mini-bldc-brushless-motor-driver-board-electric-regulator-for-1104-1106-1306-1407-1806-motor","title":"1\/2PCS 1S-2S DC 3.7V-7.4V 4A Mini BLDC Brushless Motor Driver Board Electric Regulator for 1104 1106 1306 1407 1806 Motor","description":"\u003ch1\u003eSPECIFICATIONS\u003c\/h1\u003e\u003cp\u003e\u003cspan\u003eBrand Name\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eKeszoox\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eChoice\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eyes\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eHigh-concerned chemical\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eNone\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eMotor\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eAC Motor\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eOrigin\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eMainland China\u003c\/span\u003e\u003c\/p\u003e\u003cdiv class=\"detailmodule_html\"\u003e\u003cdiv class=\"detail-desc-decorate-richtext\"\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003e100% Brand New and High Quality !\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003eMaterial:Plastic\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003eSize:2*0.7cm\/0.78*0.27in\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003eColor:Red\/Blue\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003ePackage Included:\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003e1PCS\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003eNote:\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003e1. Please note that the photo does not show actual size, please refer to Description for size details.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003e2. Please allow 5-10mm differences due to manual measurement, thanks.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003e3. Due to the difference between different monitors, the image may not reflect the actual color of the item.\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/div\u003e\u003cdiv class=\"detailmodule_image\"\u003e\n\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/Sd051bb18f52b42f6ae9ac394a1365dabB.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/Sf8fb2f0f45f04243a6d1e30e26a607429.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/Sff402b0771ac446a913a0a607cad5c6bL.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/S6701ce078f844e2ca21e2d02263b71fd9.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/Sd72e2b0540c24a06b04ddc110cfbac91J.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/S0758a2a2623f4a4db029f68200b3e209L.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/S142a10b6017d47e19a959dfd42e310abJ.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/S20fcb6ae95e340db817c79728fa724ecH.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/S6399218823c94159921c6d1d1be86946E.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/S0a2f6b703fb74ee19a67aed72821db91D.jpg\" slate-data-type=\"image\"\u003e\n\u003c\/div\u003e\u003cbr\u003e","brand":"Keszoox","offers":[{"title":"12V","offer_id":47802798571755,"sku":"35:353308","price":13.13,"currency_code":"USD","in_stock":true},{"title":"24V","offer_id":47802798604523,"sku":"35:353309","price":15.16,"currency_code":"USD","in_stock":true},{"title":"Blue","offer_id":47802798637291,"sku":"35:100016897#Blue","price":10.05,"currency_code":"USD","in_stock":true},{"title":"Red","offer_id":47802798670059,"sku":"35:201283931#Red","price":11.38,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0677\/1005\/8731\/files\/mini-bldc-motor-driver-board-1s-2s.webp?v=1770865101"},{"product_id":"1pc-metal-gearbox-reducer-electric-motor-diy-toy-micro-n20-gear-motor-slow-speed","title":"1pc Metal Gearbox Reducer  Electric Motor DIY Toy Micro N20 Gear Motor Slow Speed","description":"\u003ch1\u003eSPECIFICATIONS\u003c\/h1\u003e\u003cp\u003e\u003cspan\u003eBrand Name\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eKeszoox\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eChoice\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eyes\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eHigh-concerned chemical\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eNone\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eOrigin\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eMainland China\u003c\/span\u003e\u003c\/p\u003e\u003cdiv class=\"detailmodule_html\"\u003e\u003cdiv class=\"detail-desc-decorate-richtext\"\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eSpecification: \u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eA1- DC 5V 40RPM \u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e1.Rated voltage: DC 5V \u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e2.No-load current: 20mA \u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e3.No-load speed: 40RPM \u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e4.Suitable voltage: DC 3V-6V \u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e5.Speed: 24RPM-48RPM \u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eA2: DC 5V 60RPM \u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e1.Rated voltage: DC 5V \u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e2.No-load current: 50mA \u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e3.No-load speed: 60RPM \u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e4.Suitable voltage: DC 3-9V \u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e5.Speed: 30RPM-108RPM \u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eA3: DC 5V 28RPM \u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e1.Rated voltage: DC 5V \u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e2.No-load current: 20mA \u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e3.No-load speed: 28RPM \u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e4.Suitable voltage: DC 3V-6V \u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e5.Speed: 17RPM-33RPM \u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eA4: DC 3.7V 150RPM \u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e1.Rated voltage: DC 5V \u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e2.No-load current: 80mA \u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e3.No-load speed: 150RPM \u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e4.Suitable voltage: DC 1.5-5V \u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e5.Speed: 60RPM-200RPM \u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eA5: DC 5V 300RPM \u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e1.Rated voltage: DC 5V \u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e2.No-load current: 30mA \u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e3.No-load speed: 300RPM \u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e4.Suitable voltage: DC 3-6V \u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e5.Speed: 180RPM-360RPM \u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eA6: DC 5V 110RPM \u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e1.Rated voltage: DC 5V \u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e2.No-load current: 60mA \u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e3.No-load speed: 110RPM \u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e4.Suitable voltage: DC 3-6V \u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e5.Speed: 66RPM-130RPM \u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e \u003c\/span\u003e\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/div\u003e\r\n\u003cdiv class=\"detailmodule_image\"\u003e\n\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S2f767e9b90d743f9aa6699fb83716b91l.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S968929fda2e84db1a3a3a42fa1ea5348G.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S8e07070c3b764630886cb502c2bc43bfB.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S569c4002e42544c18839ad034c42a0ccM.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Sfdfbdf05e59f4b57813783772381e376j.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S87adc46150094cc6a5d616ab55dd8c849.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Sb49a304f06044d428fde5ed449cc7cda1.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Sc1f2901c3a5c4d5daeec44b70a205c9ab.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Sfd066b2df3944fef859c928065bef64en.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S8cc5bbf592b448c898901f4973fe9175l.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Sf37dfd26d49b4b8284866b87c5b0327d1.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S9b8f4c750b8a44fe864db802fed5e739z.jpg\" class=\"detail-desc-decorate-image\"\u003e\n\u003c\/div\u003e\r\n","brand":"Keszoox","offers":[{"title":"A3","offer_id":47815519207659,"sku":"14:350852#A3","price":10.57,"currency_code":"USD","in_stock":true},{"title":"A5","offer_id":47815519240427,"sku":"14:10#A5","price":10.82,"currency_code":"USD","in_stock":true},{"title":"A1","offer_id":47815519273195,"sku":"14:350686#A1","price":11.1,"currency_code":"USD","in_stock":true},{"title":"A2","offer_id":47815519305963,"sku":"14:350850#A2","price":10.08,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0677\/1005\/8731\/files\/S8e07070c3b764630886cb502c2bc43bfB.webp?v=1771212877"},{"product_id":"dc3v-6v-n20-mini-gear-motor-micro-metal-reducer-motor","title":"DC3V-6V N20 Mini Gear Motor Micro Metal Reducer Motor","description":"\u003ch1\u003eSPECIFICATIONS\u003c\/h1\u003e\u003cp\u003e\u003cspan\u003eBrand Name\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eKeszoox\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eCertification\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eCCC\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eChoice\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eyes\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eHigh-concerned chemical\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eNone\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eOrigin\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eMainland China\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eOutput Power\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003e＜18.65\u003c\/span\u003e\u003c\/p\u003e\u003cdiv class=\"detailmodule_html\"\u003e\u003cdiv class=\"detail-desc-decorate-richtext\"\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003eSpecifications:\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003eMaterial: Other\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003ePackaging: 1PC \u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003eSize: As picture\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003eDescription:\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003eVoltage: DC 5V\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003eNo-load current: 30mA\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003eno-load speed: 40 RPM\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003eSuitable voltage: 3-6V (24-48 RPM)\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003eIt can adapt to the wide voltage range of the DC3V-6V and flexibly adapt to all kinds of equipment requiring micro reduction motors.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003eThe product can produce strong torque under small volume, meeting the power demand of various small equipment.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003eIt can be widely used in various small mechanical equipment, such as model ships, electric vehicles and unmanned aerial vehicles.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003eThe product is designed reasonably and easy to operate. It is an ideal choice for DIY enthusiasts and engineers.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003eNote:\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003eThe surface of the motor is a bit old, but the quality is very good. Friends who have strict requirements for appearance should be cautious when taking photos.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003eDue to manual measurement, please allow an error of 1-3mm. Please ensure that you do not mind before bidding.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003eDue to the differences between different monitors, the images may not reflect the actual color of the item. Please refer to the actual image received. Thank you very much.\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/div\u003e\u003cdiv class=\"detailmodule_image\"\u003e\n\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/Sf3cd828f94f7486685fa7858b83b4156C.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/S9635b33e66e847cc83d5f8e9be31d2d1B.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/S026dca14020f4694b2ebaf2e93362617n.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/S893c9e184b0740a5ae0e288789e2dc7cZ.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/Sb74fbcb9e08e43b6b96585c8d26d4ca7f.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/S1e83ec67582845d091d94c08c9802988R.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/S6e336c1d2f7e4a1c91832cf2d085d28f9.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/S7ae2ddaa7cf641a38a2302cda40d142dh.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/Sb56869e0fc344bedbced5953eb873c0dZ.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/S60fd67328d264be9b9c1e88ae15f7a5fu.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/S66eb313f54184beb989779bdc1c181fdq.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/Sb2cbb52646a5412db946ea82d28e999aw.jpg\" slate-data-type=\"image\"\u003e\n\u003c\/div\u003e\u003cbr\u003e","brand":"Keszoox","offers":[{"title":"8000 \/ 0","offer_id":47857216880875,"sku":"100005629:200049921;400005803:3234583#0","price":21.84,"currency_code":"USD","in_stock":true},{"title":"35000 \/ 0","offer_id":47857216913643,"sku":"100005629:200047212;400005803:3234583#0","price":16.45,"currency_code":"USD","in_stock":true},{"title":"onesize \/ 0","offer_id":47857216946411,"sku":"100005629:200200418#onesize;400005803:3234583#0","price":10.05,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0677\/1005\/8731\/files\/dc3v-6v-n20-mini-gear-motor.webp?v=1771756604"},{"product_id":"dm542-2-phase-digital-stepper-motor-driver-controller","title":"DM542 2-Phase Digital Stepper Motor Driver Controller","description":"\u003ch1\u003eSPECIFICATIONS\u003c\/h1\u003e\u003cp\u003e\u003cspan\u003eBrand Name\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eKeszoox\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eChoice\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eyes\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eHigh-concerned chemical\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eNone\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eMotor\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eStepper Motor\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eOrigin\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eMainland China\u003c\/span\u003e\u003c\/p\u003e\u003cdiv class=\"detailmodule_html\"\u003e\u003cdiv class=\"detail-desc-decorate-richtext\"\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eFeature:\r\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e20KHz chopping frequency\r\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eOptical isolation signal input\r\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eOutput current DIP s is adjustable\r\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eBipolar constant current chopping method\r\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eHigh segmentation: 2,4,8,16,32,64,128,256. 5,10,25,50,125,200\r\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eTTL input signal compatible,while accepting differential signal input\r\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e \r\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eSpecifications:\r\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003ePower supply:DC 24-60 (V)\r\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eCurrent maximum:4.5A\r\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eOutput phase current:1.5A-4.5A\r\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eLogic input current:10-20mA\r\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eOperating temperature:-15°—+45°\r\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eSize:11.7*8.5cm\/4.61*3.35inch\r\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e\r\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/div\u003e\r\n\u003cdiv class=\"detailmodule_image\"\u003e\n\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S7e00d6d135864adb99dd71a931a9ac13b.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S036981cfa9d34170a4a7c0ca659e50adi.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Sfa3696ae3ac043c9b577e81359bc2f16w.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S277ed41897fb43cc8d8756631e14d44dG.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S1521d1249a20459ebb3b61f91f19a7a0X.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S6a48c2269d1440b0abe8897464bcd48cB.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Sb583e9e62adc47f89440b1ce494e9738T.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Sbe9281eda7fd45c3ba9a2839ec71f8daq.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S8e0fa2f25ea84362a823ee82898c963c0.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Sab550dd306344268b4d8220fa735681aY.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S23a27c12052f4255b75ee061cf5414d3K.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S0dd8dc181c21499596b6a6e94ae1627aW.jpg\" class=\"detail-desc-decorate-image\"\u003e\n\u003c\/div\u003e\r\n","brand":"Keszoox","offers":[{"title":"one size","offer_id":47857221107947,"sku":"35:201283931#one size","price":61.25,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0677\/1005\/8731\/files\/dm542-stepper-motor-driver-controller.webp?v=1771754446"},{"product_id":"10pcs-diy-digital-camera-lens-mini-ultra-tiny-4-5mm-4-9mm-stepper-motor-micro-2-phase-4-wire-precision-step-stepping-motor","title":"10Pcs DIY Digital Camera Lens Mini Ultra Tiny 4.5MM \/ 4.9MM Stepper Motor Micro 2-Phase 4-Wire Precision Step Stepping Motor","description":"\u003ch1\u003eSPECIFICATIONS\u003c\/h1\u003e\u003cp\u003e\u003cspan\u003eBrand Name\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eKeszoox\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eChoice\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eyes\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eHigh-concerned chemical\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eNone\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eMotor\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eAC Motor\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eOrigin\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eMainland China\u003c\/span\u003e\u003c\/p\u003e\u003cdiv class=\"detailmodule_html\"\u003e\u003cdiv class=\"detail-desc-decorate-richtext\"\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eDescription\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eModel A: 4.5mm Stepper Motor\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e1.Motor outer diamer: 4.5 mm\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e2.Motor height: 8.6 mm\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e3.Motor shaft diamer: 0.7 mm (flat position 0.5 mm)\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e4.Output shaft length: 1.5 mm\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e5.Motor type: 2-phase 4-wire\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e6.Driving voltage: DC 5V (estimated)\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e7.Internal resistance: About 12.1 Ω\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e8.5V short circuit current: 0.32A\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eModel B: 4.9mm Stepper Motor\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e1.Motor outer diamer: 4.9 mm\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e2.Motor height: 6 mm\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e3.Motor shaft diamer: 0.7 mm (flat position 0.5 mm)\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e4.Output shaft length: 1.2 mm\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e5.Motor type: 2-phase 4-wire\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e6.Driving voltage: DC 5V (estimated)\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e7.Internal resistance: About 14.8 Ω\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e8.5V short circuit current: 0.27A\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e9.Material: Mal\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003ePackage inculding:\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e10pcs * Mini Stepper Motor\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eNote:\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e1. This is 2-phase 4-wire stepper motor, it needs an additional 2-phase 4-wire stepper motor driver to operate.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e2.The color of the item may be slightly different from the pictures shown on website caused by many factors such as brightness of your monitor and light brightness. Please refer to the actual product received.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e3. Please allow slight manual measurement deviation for the data.\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/div\u003e\r\n\u003cdiv class=\"detailmodule_image\"\u003e\n\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Sdda2b631ae174b6e973a69a0a6070d43G.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S95dc11dafebd4a36a2d02fa00809c471m.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Sc7e9762aed8e445f87b8b6b8d4cd08a4I.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Se70b16a39a774472a27723549fa2c723I.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Sacec6306b93c4dc182a123fb3a246b76Z.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Sf6e7ec775002456fb3b35fa80f3fd26ag.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S573fce7f69df480e8ad2771aa5c0eca2M.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S3be4610819bb47859e9c9b9133de6b98i.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Sc94766196b0f479a88c00a09a38632aaF.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S2720e5b404ba424b8520d36b375aded3k.jpg\" class=\"detail-desc-decorate-image\"\u003e\n\u003c\/div\u003e\r\n","brand":"Keszoox","offers":[{"title":"4.9mm","offer_id":47860379746539,"sku":"35:100016897#4.9mm","price":11.9,"currency_code":"USD","in_stock":true},{"title":"4.5mm","offer_id":47860379779307,"sku":"35:201283931#4.5mm","price":14.6,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0677\/1005\/8731\/files\/Sf6e7ec775002456fb3b35fa80f3fd26ag.webp?v=1771814469"},{"product_id":"775-p16-double-hall-magnet-encoder-code-plate-magnetic-induction-rotation-speed-direction-sensor-use-to-775-dc-gear-motor","title":"775-P16 Double Hall Magnet Encoder Code Plate Magnetic Induction Rotation Speed Direction Sensor Use To 775 DC Gear Motor","description":"\u003ch1\u003eSPECIFICATIONS\u003c\/h1\u003e\u003cp\u003e\u003cspan\u003eBrand Name\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eKeszoox\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eChoice\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eyes\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eHigh-concerned chemical\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eNone\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eOrigin\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eMainland China\u003c\/span\u003e\u003c\/p\u003e\u003cdiv class=\"detailmodule_html\"\u003e\u003cdiv class=\"detail-desc-decorate-richtext\"\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eNew and high quality\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eSize:As the pictures show\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e775 Hall EncoderWorking Voltage: 5V\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eWorking Temperature: -20~80CWorking Frequency: 100Khz\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eResolution Ratio: 16 pulses per turnInner \u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eDiameter of Magnetic Ring: 5.0mm\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eThe Plug of the Port is 2.54-4P\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eUse to 775 DC Gear Motor\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003ePackage Included:1pc\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eNote:\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e1. Due to manual measurement, please allow an error of 1-3mm.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e2. As different computers display different colors, thank you for your understanding, the actual product color may be slightly different from the image.\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/div\u003e\r\n\u003cdiv class=\"detailmodule_image\"\u003e\n\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S33b58ac972624126bde5a3238304af057.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S5329b09bfcc340b7b9bba32355a0e635F.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S9269adb7a8d84675863958bdfde3699bI.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S31da65cad36148b0afe46e6e14db3071Z.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S0f222eaa3e534816bca7bc8bc8718c37U.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Scb880ea9e2854f94a2b51b6e0938c65az.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Sd5688e29c17a4ace924af425aa2c32edZ.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S1de7947dbe6f42628ebfa63d1ee33b464.jpg\" class=\"detail-desc-decorate-image\"\u003e\n\u003c\/div\u003e\r\n","brand":"Keszoox","offers":[{"title":"Default Title","offer_id":47862864117995,"sku":"\u003cnone\u003e","price":24.26,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0677\/1005\/8731\/files\/S9269adb7a8d84675863958bdfde3699bI.webp?v=1771905387"},{"product_id":"micro-4mm-stepper-motor-precision-4-wire-motor-for-camera-lens","title":"Micro 4MM Stepper Motor Precision 4 Wire Motor for Camera Lens","description":"\u003ch1\u003eSPECIFICATIONS\u003c\/h1\u003e\u003cp\u003e\u003cspan\u003eBrand Name\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eKeszoox\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eCertification\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003ece\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eChoice\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eyes\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eHigh-concerned chemical\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eNone\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eOrigin\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eMainland China\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eOutput Power\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003e＜18.65\u003c\/span\u003e\u003c\/p\u003e\u003cdiv class=\"detailmodule_html\"\u003e\u003cdiv class=\"detail-desc-decorate-richtext\"\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eDescription\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eMini Ultra Tiny 4MM Stepper Motor Micro 2-Phase 4-Wire Precision Step Stepping Motor DIY Digital Camera Lens\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eSpecifications\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eMotor outer diameter: 4.4 MM\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eMotor height: 8.4 MM\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eMotor shaft diameter: 0.7 MM (flat position 0.5 MM) Output shaft length: 1.5 MM\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eModel: Two-phase four-wire\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eDrive voltage: DC5V (estimated)\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eInternal resistance: Approximately 14 ohms 5V short-circuit current: 0.3 A\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eMaterial: Metal\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003ePacking: 1\/5\/10pcs\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eNote:\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e1. The color of the item may be slightly different from the pictures shown on website caused by many factors such as brightness of your monitor and light brightness. Please refer to the actual product received.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e2. Please allow slight manual measurement deviation for the data.\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/div\u003e\r\n\u003cdiv class=\"detailmodule_image\"\u003e\n\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Sc9bd4c20f66149bab7d3f99e5d57a406J.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S47837ceba9464383ad1e81870d9b7867w.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Sbdbaf535550e488fafcc8faec1862b64X.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Sd5fece62d0554220ab21deafad0740c8c.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Sd964f4e25cd541ddab4f67694b3567270.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S1b609eb269af4b38bf9154bda2826470o.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S61e1fb1a74174938aeffd511ad089407n.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Sffa92c3371434edaa55a72f2c25c18a4Q.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Sd75a553cae8443d9a2428d70fdf022b6c.jpg\" class=\"detail-desc-decorate-image\"\u003e\n\u003c\/div\u003e\r\n","brand":"Keszoox","offers":[{"title":"A1 \/ ONESIZE","offer_id":47862893674731,"sku":"100005629:200200418#A1;400005803:50789966#ONESIZE","price":8.12,"currency_code":"USD","in_stock":true},{"title":"A3 \/ ONESIZE","offer_id":47862893707499,"sku":"100005629:200049921#A3;400005803:50789966#ONESIZE","price":11.24,"currency_code":"USD","in_stock":true},{"title":"A2 \/ ONESIZE","offer_id":47862893740267,"sku":"100005629:200047212#A2;400005803:50789966#ONESIZE","price":9.87,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0677\/1005\/8731\/files\/micro-4mm-stepper-motor.webp?v=1771989451"},{"product_id":"1-2pcs-cnc-aluminum-alloy-dc-2v-3-7v-3v-49rpm-slow-speed-716-coreless-motor-metal-gearbox-gear-motor-6g-car-boat-servo-engine","title":"1\/2Pcs CNC Aluminum Alloy DC 2V-3.7V 3V 49RPM Slow Speed 716 Coreless Motor Metal Gearbox Gear Motor 6g Car Boat Servo Engine","description":"\u003ch1\u003eSPECIFICATIONS\u003c\/h1\u003e\u003cp\u003e\u003cspan\u003eBrand Name\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eKeszoox\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eChoice\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eyes\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eHigh-concerned chemical\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eNone\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eOrigin\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eMainland China\u003c\/span\u003e\u003c\/p\u003e\u003cdiv class=\"detailmodule_html\"\u003e\u003cdiv class=\"detail-desc-decorate-richtext\"\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eDescription:\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e100% Brand new \u0026amp; high quality.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eMaterial: metal\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eThe rated voltage is DC3V,\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003ethe applicable voltage range is DC2V-3.7V,\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eand the output speed after deceleration is 32-61 rpm, providing powerful power.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eColor: as shown\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003ePackage Included: 1\/2Pcs motor\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eNotice:\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003ePlease understand that color deviation may vary due to different monitor settings.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eDue to manual measurement, there will be some errors, which are normal.\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/div\u003e\r\n\u003cdiv class=\"detailmodule_image\"\u003e\n\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Se28fd2593cc24ab08a3e62cebecc8edfS.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S5ed55e1af1734bffb31a12bdd482d53au.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S8465535181e74161b8f61cfe2d35772fy.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Sffe876714d3d4295af7c648f27aac021A.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Sa9ec8066b8a54517a1c7ec50346bb0e0g.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S11ff2a41c74a4788904c564234068f3fc.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S14b338ab452c47d38edb8b187e819f7az.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S5a688cbae464442aa9148f3a29960af0p.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Sd389c630afc8422eb142781acaa3dfc3W.jpg\" class=\"detail-desc-decorate-image\"\u003e\n\u003c\/div\u003e\r\n","brand":"Keszoox","offers":[{"title":"1Pcs","offer_id":47867968749803,"sku":"14:350686#1Pcs","price":25.66,"currency_code":"USD","in_stock":true},{"title":"2Pcs","offer_id":47867968782571,"sku":"14:350850#2Pcs","price":49.18,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0677\/1005\/8731\/files\/S14b338ab452c47d38edb8b187e819f7az.webp?v=1771994471"},{"product_id":"new-dc-8v-24v-brushless-dc-motor-driver-controller-board-pwm-driver-fan-motor-speed-governor-forward-and-backward-control-18khz","title":"New DC 8V-24V Brushless DC Motor Driver Controller Board PWM Driver Fan Motor Speed Governor Forward And Backward Control 18KHz","description":"\u003ch1\u003eSPECIFICATIONS\u003c\/h1\u003e\u003cp\u003e\u003cspan\u003eBrand Name\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eKeszoox\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eChoice\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eyes\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eHigh-concerned chemical\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eNone\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eMotor\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eBrushless Motor\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eOrigin\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eMainland China\u003c\/span\u003e\u003c\/p\u003e\u003cdiv class=\"detailmodule_html\"\u003e\u003cdiv class=\"detail-desc-decorate-richtext\"\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003e1. Products are made of high quality PCB materials, high quality components, quality is guaranteed.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003e2. This is a PWM brushless DC motor speed controller driver can only drive and have PWM terminal brushless motor speed.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003e3. There are start-stop switches and positive and negative switches on the product that need to be supported by the motor itself. The product has two specifications to choose from, front switch and side switch.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003e4. Product performance is stable, PWM frequency is about 16kHz, duty cycle is 0-100%.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003e5. The product adopts terminal design, the wiring is simple and convenient, the potentiometer is 10K, and the speed is convenient.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003eSpecification:\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003eName: Brushless DC motor speed controller\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003eColor: Green\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003eOptional specifications: Front switch and side switch\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003eVoltage: DC 8-24V\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003eOutput: 5VPWM\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003eFrequency: 18KHZ\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003eDuty cycle: 0-100% with indicator light, with forward and reverse function\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003ePackage:\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003eSpeed controller X1\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/div\u003e\u003cdiv class=\"detailmodule_image\"\u003e\n\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/S2d90f313f3984f259f7341be7ff743638.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/S641ca36f5b044597b77626c03b941518X.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/S15e0ea9826fb45a0a58e4c509214aae9H.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/Sd18e49926fa546e2aafdcb4a86b063d12.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/S7616c19aa38f40298d4e00466948c53fx.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/S4a24ced3626b4244bf45274f030b7b03y.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/S624a302abc4842b297524b8f3a95be48L.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/S0c852c42feff485eb4c9145989b86d6f7.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/S8868a4dfe0ac43bcbfa96ff62563dec7C.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/S8ee123ea244e46ea91f0e531b1402d3eD.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/S05b955ab6d084e0bbf768d11d7c88fdf5.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/S363b1c75accd49aa8017e49f6d61479bw.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/Sb89fad38301643828138d36a0841baa9U.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/S57795e1de79b41eb9037a1e708968c69X.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/Se899b5d20714487ab063669ae4298487O.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/S84ee5dd683af42239fa8a61472b7c3abh.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/S239c34c6cd6347c6a274cf0822a269fbp.jpg\" slate-data-type=\"image\"\u003e\n\u003c\/div\u003e\u003cbr\u003e","brand":"Keszoox","offers":[{"title":"Default Title","offer_id":47873727561963,"sku":"\u003cnone\u003e","price":11.69,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0677\/1005\/8731\/files\/Sd18e49926fa546e2aafdcb4a86b063d12.webp?v=1772082870"},{"product_id":"dc-5v-12v-micro-stepper-motor-driver-module-2-phase-4-wire-controller","title":"DC 5V-12V Micro Stepper Motor Driver Module 2-Phase 4-Wire Controller","description":"\u003ch1\u003eSPECIFICATIONS\u003c\/h1\u003e\u003cp\u003e\u003cspan\u003eBrand Name\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eKeszoox\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eChoice\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eyes\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eHigh-concerned chemical\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eNone\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eMotor\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eStepper Motor\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eOrigin\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eMainland China\u003c\/span\u003e\u003c\/p\u003e\u003cdiv class=\"detailmodule_html\"\u003e\u003cdiv class=\"detail-desc-decorate-richtext\"\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eSpecifications:\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e\u003cbr\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eVoltage range: DC5V-12V\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e\u003cbr\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eRated current: ≤ 800mA\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e\u003cbr\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003ePower reverse connection protection: yes\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e\u003cbr\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eOvercurrent protection: yes\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e\u003cbr\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eOverheat protection: yes\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e\u003cbr\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eThe drive control board has four working modes: 1. Common mode 1. Common mode 2. Inching mode 4. Automatic round trip mode\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e\u003cbr\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e【1】 Common mode 1: S1 start stop button, S2 forward and reverse button, W2 potentiometer speed regulation. If limit reversal is needed, two limit ses can be connected on P3 pin, and contacts are installed on the motor moving shaft, so that the motor will move back and forth in the stroke between the two limit ses.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e\u003cbr\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e【2】 Normal mode 2: S1 forward start button, S2 reverse start button, press any key to stop. W2 potentiometer speed regulation. If limit stop is needed, two limit ses can be connected on P3 pin, so that the motor will stop moving when it touches the limit s, and the motor will reverse after touching the opposite button.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e\u003cbr\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e【3】 Inching mode: S1 press forward, release stop, S2 press reverse, release stop, W2 potentiometer speed regulation. If limit stop is needed, the upper limit s can be connected to P3.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e\u003cbr\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e【4】 Automatic round trip mode: S1 start stop, S2 forward and reverse, W2 potentiometer speed regulation, W1 potentiometer adjust the number of automatic round trip steps. After starting, the motor will run back and forth automatically within the steps regulated by W1.\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/div\u003e\r\n\u003cdiv class=\"detailmodule_image\"\u003e\n\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S1d42182237f9401384cfcd881b85faf9R.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Sb293d71d6982487a9d1b51c28c36a699l.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Sb8ec029c510741b79a9b279f48b07cd5W.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S778b7f06cc48480e87c517647e37906aW.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Sdfc499f30f034732a92c3a37fab0de20Q.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S017de7bb93a249a1aa7348bdde2d6c34K.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S2ee8ed973fa94a309caae84cbc063721O.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S5d32cf5ff4504de99804f5d8be8db19bi.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S771702a74bc94623bd473fc47d8115acN.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S5d6eb42a9e6f4d7db4691180d12613b1A.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S94428fe8309e42839e411db1226dceaaq.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S95e93370d16f4cdc8589b5a55e054ec4Z.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Se087673c5243439fad4ed64ebe208b25B.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S6d30ed345ea94d1d885c83385c3d67073.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S7d19e9c294ed4d7d98226839f44dbac90.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S2301d7cf8f1e4ace82b34a46f5f59c8aQ.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S692e2e61893f40f88d5cd7e8b42a7f4eM.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S020adc2ec52543fcb1921b09b3a06302R.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Sd95bb85a71b84ff5a0b599aadc3adb0bF.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S5b42aa3e3fdf45e6837d5bfd76c7bb670.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S0da99c46a8074e499c9960e0983b4d2ce.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Sb233a7262ee64a08b02739a43a4629f8Q.jpg\" class=\"detail-desc-decorate-image\"\u003e\n\u003c\/div\u003e\r\n","brand":"Keszoox","offers":[{"title":"one size","offer_id":47873818820843,"sku":"35:201283931#one size","price":26.36,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0677\/1005\/8731\/files\/micro-stepper-motor-driver.webp?v=1772160505"},{"product_id":"1pc-large-torque-speed-reducer-motor-for-smart-car-robot-dc-12v-24v-26rpm-waterproof-full-metal-gearbox-gear-motor-slow-speed","title":"1pc Large Torque Speed Reducer Motor For Smart Car Robot DC 12V-24V 26RPM Waterproof Full Metal Gearbox Gear Motor Slow Speed","description":"\u003ch1\u003eSPECIFICATIONS\u003c\/h1\u003e\u003cp\u003e\u003cspan\u003eBrand Name\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eKeszoox\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eChoice\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eyes\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eHigh-concerned chemical\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eNone\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eMotor\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eAC Motor\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eOrigin\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eMainland China\u003c\/span\u003e\u003c\/p\u003e\u003cdiv class=\"detailmodule_html\"\u003e\u003cdiv class=\"detail-desc-decorate-richtext\"\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003eDescription:\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003e100% new and high quality\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003eMaterial: metal\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003eCable length: Approximately 110 mm\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003eVoltage: DC 12V\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003eNo-load current: 33 mA\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003eNo-load speed: 13 RPM\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003eVoltage: DC 24V (rated voltage)\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003eNo-load current: 40 mA\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003eNo-load speed: 26 RPM\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003eVoltage: DC 30V\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003eNo-load current: 45 mA\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003eNo-load speed: 32 RPM\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003eColor:As Pictures\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003ePackage Included: 1pcs\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003eNotes: \u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003eDue to manual measurement , there may be 5mm deviation exist,hope you can understand.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003eThere are slight difference between the picture and the item caused by light brightness,hope you can understand.\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/div\u003e\u003cdiv class=\"detailmodule_image\"\u003e\n\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/Saae91368ad544026917f86e9386996aez.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/Sd8611e613adc4c84918b10a425e04bc89.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/S44098e148e224decb61ea1a62d27e7a8c.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/S4856648bac584c9abb82b1200f2a578fq.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/S5a83c4ec5a6a42a28b2bdb86e195d655F.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/S090512dd41fa42b2b1cec58ffd7d6046P.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/Sc70910eac8794a369a882a746396b3f88.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/Sd7140924a29441d4804306fe88b5f0ec3.jpg\" slate-data-type=\"image\"\u003e\n\u003c\/div\u003e\u003cbr\u003e","brand":"Keszoox","offers":[{"title":"onesize","offer_id":47878446547179,"sku":"35:201283931#onesize","price":23.45,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0677\/1005\/8731\/files\/Sd8611e613adc4c84918b10a425e04bc89.webp?v=1772169614"},{"product_id":"dc-5v-6v-93rpm-115rpm-slow-speed-micro-gearbox-reduction-motor-diy-robot-car-ga12-n20-mini-12mm-full-metal-gearbox-gear-motor","title":"DC 5V 6V 93RPM-115RPM Slow Speed Micro Gearbox Reduction Motor DIY Robot Car GA12-N20 Mini 12mm Full Metal Gearbox Gear Motor","description":"\u003ch1\u003eSPECIFICATIONS\u003c\/h1\u003e\u003cp\u003e\u003cspan\u003eBrand Name\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eKeszoox\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eChoice\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eyes\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eHigh-concerned chemical\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eNone\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eMotor\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eAC Motor\u003c\/span\u003e\u003c\/p\u003e\u003cp\u003e\u003cspan\u003eOrigin\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003eMainland China\u003c\/span\u003e\u003c\/p\u003e\u003cdiv class=\"detailmodule_html\"\u003e\u003cdiv class=\"detail-desc-decorate-richtext\"\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eSpecification:\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e1.Model: GA12-N20 Gear Motor.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e2.Motor model: Mabuchi FF-N20WA-8Z230.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e3.Output shaft diameter: 3mm(D shaft 2.5mm).\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e4.Output gear diameter: 17.6mm\/20 Teeth.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e5.Weight: 15g.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e6.Gear ratio: 1:150.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e7.Voltage range: DC 5V-6V.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e8.Test data:\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eVoltage:5V No-load current:23mA No-load speed:93RPM\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eVoltage:6V No-load current:25mA No-load speed:115RPM\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e9.Tips: The characteristic of this reducer motor is that the output shaft is also equipped with a metal gear, which is not an ordinary metal gear, but an overload protection slip gear. If the load exceeds a value,the gear will start to slip, playing a protective role.\u003c\/span\u003e\u003c\/p\u003e\n\u003c\/div\u003e\u003c\/div\u003e\r\n\u003cdiv class=\"detailmodule_image\"\u003e\n\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Sf0e03baa202940a5ab8a3c7467499a62d.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S787f591be22e4222af69a214be3c965cC.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S31fe0e6ab37546f1ae67a84cbd9b9ce5M.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S616777680386450ca4c622eef2144088Z.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Sd7b3e41b1c3b4328b0a9a0c664762ccaN.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S0801a8fbce5446d18e23fd216b3a10b2S.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S9c483e1e052644928aca159ee9b3a981T.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S732531414e044f75bde8b38f700369a1i.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Sfab2a2ba077f4b1c83ba2eaf6d8c23d8R.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S275341442b144625bf202a8511c2dc44D.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Se72f6578a53a49e49b8d65f6a4df9f0fr.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S3b4066f18a8344b69efdab6c51e464dae.jpg\" class=\"detail-desc-decorate-image\"\u003e\n\u003c\/div\u003e\r\n","brand":"Keszoox","offers":[{"title":"Onesize","offer_id":47878471680235,"sku":"35:201283931#Onesize","price":17.68,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0677\/1005\/8731\/files\/S787f591be22e4222af69a214be3c965cC.webp?v=1772169826"}],"url":"https:\/\/keszoox.com\/collections\/motor-drivers-stepper-motors.oembed?page=2","provider":"Keszoox","version":"1.0","type":"link"}