{"title":"Motor Driver Modules \u0026 Speed Controllers","description":"\u003ch2\u003eMotor Driver Modules \u0026amp; Speed Controllers – Precise Motor Control for Robotics \u0026amp; Automation\u003c\/h2\u003e\u003cp\u003eControl DC, stepper, and brushless motors with precision using our range of \u003cstrong\u003eH-bridge motor driver modules, PWM speed controllers, and SCR voltage regulators\u003c\/strong\u003e – compatible with Arduino, Raspberry Pi, PLC, and smart robot car platforms.\u003c\/p\u003e\u003ch3\u003eWhat's in This Collection\u003c\/h3\u003e\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eH-Bridge Motor Driver Modules\u003c\/strong\u003e – L298N dual H-bridge, L293D, L9110S 4-channel, TB6612FNG, and BTS7960 43A high-power motor drivers\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eMonster Motor Driver Shields\u003c\/strong\u003e – VNH3SP30 dual and VNH2SP30 single monster motor driver shields for Arduino\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePWM DC Motor Speed Controllers\u003c\/strong\u003e – 3V–35V 5A\/10A adjustable PWM regulators, 400W 30A dual MOSFET drive modules\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eSCR AC Motor Speed Controllers\u003c\/strong\u003e – 2000W\/4000W AC 220V SCR voltage regulator modules for dimmer and thermostat control\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eBrushed Motor ESC\u003c\/strong\u003e – Micro 1A RC ESC 5V DC brushed motor speed controller for RC models\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eMotor Driver ICs\u003c\/strong\u003e – MX612E SOP-8 brushed DC motor driver ICs for 1–2S lithium battery applications\u003c\/li\u003e\n\u003c\/ul\u003e\u003ch3\u003eWhy Choose Keszoox?\u003c\/h3\u003e\u003cul\u003e\n\u003cli\u003e✅ Wide voltage range: 1.8V to 220V AC\u003c\/li\u003e\n\u003cli\u003e✅ Arduino, Raspberry Pi, and PLC compatible\u003c\/li\u003e\n\u003cli\u003e✅ High current options up to 43A\u003c\/li\u003e\n\u003cli\u003e✅ Bulk quantities in stock – ready to ship worldwide\u003c\/li\u003e\n\u003c\/ul\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":"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":"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":"2000w-scr-pwm-motor-speed-controller-ac220v","title":"2000W SCR PWM Motor Speed Controller – AC 220V Voltage Regulator for Dimmer \u0026 Thermostat","description":"\u003ch2\u003e2000W SCR PWM Motor Speed Controller – AC 220V Voltage Regulator\u003c\/h2\u003e\u003cp\u003eControl motor speed, lamp brightness, and heating elements with precision using this 2000W SCR-based PWM voltage regulator. Designed for AC 220V systems, it delivers smooth, stepless control via a built-in potentiometer — ideal for DIY electronics, industrial automation, and home appliance modification.\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\u003eInput Voltage\u003c\/td\u003e\n\u003ctd\u003eAC 220V (50\/60Hz)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMax Power\u003c\/td\u003e\n\u003ctd\u003e2000W\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eControl Method\u003c\/td\u003e\n\u003ctd\u003eSCR (Silicon Controlled Rectifier) + PWM\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eOutput\u003c\/td\u003e\n\u003ctd\u003eAdjustable AC voltage\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eControl Range\u003c\/td\u003e\n\u003ctd\u003e~10%–100% of input voltage\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMounting\u003c\/td\u003e\n\u003ctd\u003eScrew terminals, panel-mountable\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/table\u003e\u003ch3\u003eWhy Choose This Controller?\u003c\/h3\u003e\u003cul\u003e\n\u003cli\u003e✅ High-power 2000W capacity — handles motors, heaters, and dimmers\u003c\/li\u003e\n\u003cli\u003e✅ SCR + PWM hybrid control for smooth, stable output\u003c\/li\u003e\n\u003cli\u003e✅ Compact module design — easy to integrate into enclosures\u003c\/li\u003e\n\u003cli\u003e✅ Wide compatibility with resistive and inductive loads\u003c\/li\u003e\n\u003cli\u003e✅ Simple single-knob operation — no programming required\u003c\/li\u003e\n\u003c\/ul\u003e\u003ch3\u003eApplications\u003c\/h3\u003e\u003cul\u003e\n\u003cli\u003eDC\/AC motor speed control (fans, pumps, drills)\u003c\/li\u003e\n\u003cli\u003eLamp and LED dimmer circuits\u003c\/li\u003e\n\u003cli\u003eThermostat and heating element control\u003c\/li\u003e\n\u003cli\u003eDIY power tools and workshop equipment\u003c\/li\u003e\n\u003cli\u003eIndustrial automation prototyping\u003c\/li\u003e\n\u003c\/ul\u003e\u003ch3\u003eCompatible With\u003c\/h3\u003e\u003cp\u003eWorks with most AC 220V resistive and inductive loads including universal motors, incandescent lamps, heating coils, and soldering stations. Compatible with Arduino-based relay control systems for automated switching.\u003c\/p\u003e\u003ch3\u003eFAQ\u003c\/h3\u003e\u003cp\u003e\u003cstrong\u003eQ: Can this control a DC motor?\u003c\/strong\u003e\u003cbr\u003eA: No — this module is designed for AC 220V loads only. For DC motor control, use a PWM DC motor driver module.\u003c\/p\u003e\u003cp\u003e\u003cstrong\u003eQ: Is it safe to use with inductive loads like fans?\u003c\/strong\u003e\u003cbr\u003eA: Yes, but add a snubber circuit for highly inductive loads to protect the SCR from voltage spikes.\u003c\/p\u003e\u003cp\u003e\u003cstrong\u003eQ: What is the minimum load it can control?\u003c\/strong\u003e\u003cbr\u003eA: Minimum recommended load is approximately 100W for stable operation.\u003c\/p\u003e\u003ch3\u003ePackage Contents\u003c\/h3\u003e\u003cul\u003e\u003cli\u003e1× 2000W SCR PWM Motor Speed Controller Module\u003c\/li\u003e\u003c\/ul\u003e","brand":"Keszoox","offers":[{"title":"2000W SCR with Cable","offer_id":46981888409835,"sku":"14:200000195#2000W SCR with Cable","price":10.8,"currency_code":"USD","in_stock":true},{"title":"2000W SCR","offer_id":46981888442603,"sku":"14:350852#2000W SCR","price":9.56,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0677\/1005\/8731\/files\/2000w-ac-pwm-motor-speed-controller-scr-regulator.webp?v=1761116063"},{"product_id":"pwm-dc-motor-speed-controller-6v-28v-3a-80w-adjustable","title":"PWM DC Motor Speed Controller 6V–28V 3A 80W Adjustable 0–100% Duty Cycle with Potentiometer Switch","description":"\u003ch2\u003ePWM DC Motor Speed Controller — 6V–28V 3A 80W Adjustable Duty Cycle\u003c\/h2\u003e\n\n\u003cp\u003eTake precise control of any DC motor, fan, or LED load with this \u003cstrong\u003ePWM (Pulse Width Modulation) speed controller\u003c\/strong\u003e. By adjusting the duty cycle from 0% to 100% via the onboard potentiometer, you can smoothly vary motor speed, fan airflow, or LED brightness without the heat and energy waste of resistive voltage dividers. The wide 6V–28V input range and 3A\/80W capacity make it compatible with a broad range of DC motors and loads.\u003c\/p\u003e\n\n\u003ch3\u003eSpecifications\u003c\/h3\u003e\n\u003ctable\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eInput Voltage\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003eDC 6V – 28V\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eMax Continuous Current\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003e3A\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eMax Output Power\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003e80W\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eDuty Cycle\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003e0% – 100% (fully adjustable)\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eControl Method\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003ePotentiometer (onboard knob)\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eSwitch\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003eBuilt-in on\/off switch\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eOperating Temperature\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003e-40°C to +85°C\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003ePackage\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003eSMD construction\u003c\/td\u003e\n\u003c\/tr\u003e\n    \u003ctr\u003e\n\u003ctd\u003e\u003cstrong\u003eModel\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd\u003e3A 80W PWM\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\u003eHow PWM Speed Control Works\u003c\/h3\u003e\n\u003cp\u003ePWM control rapidly switches the motor power on and off at a fixed frequency. By varying the ratio of on-time to off-time (duty cycle), the average voltage delivered to the motor changes — controlling speed without the energy loss of resistive methods. At 50% duty cycle, the motor receives approximately half voltage; at 100%, full voltage. This method is highly efficient and generates minimal heat in the controller.\u003c\/p\u003e\n\n\u003ch3\u003eWiring Guide\u003c\/h3\u003e\n\u003col\u003e\n  \u003cli\u003e\n\u003cstrong\u003eConnect power supply:\u003c\/strong\u003e Connect your DC power supply positive (+) to the controller’s VIN+ terminal and negative (−) to GND.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eConnect motor\/load:\u003c\/strong\u003e Connect the motor or load positive (+) to the controller’s OUT+ terminal and negative (−) to OUT−.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003ePower on:\u003c\/strong\u003e Toggle the built-in switch to ON.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eAdjust speed:\u003c\/strong\u003e Turn the potentiometer knob clockwise to increase duty cycle (higher speed\/brightness), counter-clockwise to decrease.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eFine-tune:\u003c\/strong\u003e For precise control, use a multimeter to measure output voltage while adjusting the potentiometer.\u003c\/li\u003e\n\u003c\/ol\u003e\n\n\u003ch3\u003eWhy Choose This PWM Controller?\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e✅ \u003cstrong\u003eWide voltage range 6V–28V\u003c\/strong\u003e — compatible with 6V, 12V, 24V DC systems\u003c\/li\u003e\n  \u003cli\u003e✅ \u003cstrong\u003eFull 0–100% duty cycle\u003c\/strong\u003e — complete speed range from stopped to full speed\u003c\/li\u003e\n  \u003cli\u003e✅ \u003cstrong\u003e3A \/ 80W capacity\u003c\/strong\u003e — handles most small to medium DC motors and fan loads\u003c\/li\u003e\n  \u003cli\u003e✅ \u003cstrong\u003eBuilt-in on\/off switch\u003c\/strong\u003e — convenient power control without disconnecting wiring\u003c\/li\u003e\n  \u003cli\u003e✅ \u003cstrong\u003eHigh efficiency\u003c\/strong\u003e — PWM method wastes minimal energy as heat vs. resistive control\u003c\/li\u003e\n  \u003cli\u003e✅ \u003cstrong\u003eWide temperature range\u003c\/strong\u003e — -40°C to +85°C for industrial and outdoor applications\u003c\/li\u003e\n  \u003cli\u003e✅ \u003cstrong\u003eCompact SMD design\u003c\/strong\u003e — small footprint for integration into enclosures and projects\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eCommon Applications\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eDC motor speed control (drills, pumps, conveyor motors)\u003c\/li\u003e\n  \u003cli\u003ePC and industrial fan speed regulation\u003c\/li\u003e\n  \u003cli\u003eLED strip and bulb dimming (DC LED loads)\u003c\/li\u003e\n  \u003cli\u003eArduino and Raspberry Pi motor control projects\u003c\/li\u003e\n  \u003cli\u003e3D printer heated bed power control\u003c\/li\u003e\n  \u003cli\u003eSolar charge controller load management\u003c\/li\u003e\n  \u003cli\u003eElectric bicycle and scooter throttle control\u003c\/li\u003e\n  \u003cli\u003eAquarium pump and aerator speed control\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eFrequently Asked Questions\u003c\/h3\u003e\n\u003cp\u003e\u003cstrong\u003eQ: Can I use this to control an AC motor?\u003c\/strong\u003e\u003cbr\u003eA: No. This controller is designed for DC loads only. Do not connect AC power or AC motors.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eQ: What happens if I exceed the 3A current limit?\u003c\/strong\u003e\u003cbr\u003eA: Exceeding the rated current will cause the controller to overheat and may damage the MOSFET. For loads above 3A, add a heatsink or select a higher-rated controller.\u003c\/p\u003e\n\u003cp\u003e\u003cstrong\u003eQ: Can I use this for LED dimming?\u003c\/strong\u003e\u003cbr\u003eA: Yes. This PWM controller works excellently for dimming DC LED strips and bulbs. Ensure your LED load does not exceed 3A \/ 80W total.\u003c\/p\u003e\n\n\u003ch3\u003ePackage Contents\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e1× PWM DC Motor Speed Controller (6V–28V 3A 80W)\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"Keszoox","offers":[{"title":"1PCS","offer_id":46981888508139,"sku":"14:350852#1PCS","price":5.24,"currency_code":"USD","in_stock":true},{"title":"5PCS","offer_id":46981888540907,"sku":"14:10#5PCS","price":31.52,"currency_code":"USD","in_stock":true},{"title":"10PCS","offer_id":46981888573675,"sku":"14:1254#10PCS","price":52.24,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0677\/1005\/8731\/files\/pwm-dc-motor-speed-controller-regulator.webp?v=1761116011"},{"product_id":"pwm-mini-dc-motor-speed-controller-module-3v-35v-5a-90w-adjustable-regulator-led-dimmer","title":"PWM Mini DC Motor Speed Controller Module 3V-35V 5A 90W Adjustable Regulator \u0026 LED Dimmer","description":"\u003ch2\u003ePWM Mini DC Motor Speed Controller Module — 3V–35V, 5A, 90W, 10kHz\u003c\/h2\u003e\n\n\u003cp\u003eThe ZS-X4A is a compact, high-efficiency PWM DC motor speed controller module for brushed DC motors, LED strips, fans, and resistive loads. Operating from 3V to 35V with up to 5A continuous current (90W max), it covers the full range of 3.7V LiPo, 5V USB, 12V automotive, and 24V industrial supply voltages. The 10kHz switching frequency is above the audible range, eliminating motor whine — a key advantage over lower-frequency controllers.\u003c\/p\u003e\n\n\u003cp\u003eAvailable in 1, 5, or 10-piece packs.\u003c\/p\u003e\n\n\u003ch3\u003eSpecifications\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eModel:\u003c\/strong\u003e ZS-X4A\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eInput Voltage:\u003c\/strong\u003e DC 3V – 35V\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eMaximum Current:\u003c\/strong\u003e 5A continuous\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eMaximum Power:\u003c\/strong\u003e 90W\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePWM Frequency:\u003c\/strong\u003e 10kHz (inaudible, no motor whine)\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePWM Duty Cycle:\u003c\/strong\u003e 1% – 100% (fully adjustable via potentiometer)\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eQuiescent Current:\u003c\/strong\u003e 15mA (standby)\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eControl:\u003c\/strong\u003e Single potentiometer knob\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePCB Size:\u003c\/strong\u003e 24 × 30mm\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003ePackage:\u003c\/strong\u003e SMD components, compact form factor\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eKey Features\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003e10kHz PWM:\u003c\/strong\u003e Silent operation — no audible motor whine at any speed setting\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eWide voltage range:\u003c\/strong\u003e Works with 3.7V LiPo, 5V, 6V, 12V, 24V, and up to 35V systems\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eSimple single-knob control:\u003c\/strong\u003e Turn clockwise to increase speed\/brightness\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eCompact 24×30mm footprint:\u003c\/strong\u003e Fits in tight enclosures and panel cutouts\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eLow standby current:\u003c\/strong\u003e 15mA quiescent — suitable for battery-powered applications\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eWiring\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cstrong\u003eIN+\u003c\/strong\u003e → Positive supply (3–35V DC)\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eIN−\u003c\/strong\u003e → Negative supply (GND)\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eOUT+\u003c\/strong\u003e → Motor\/load positive\u003c\/li\u003e\n\u003cli\u003e\n\u003cstrong\u003eOUT−\u003c\/strong\u003e → Motor\/load negative\u003c\/li\u003e\n\u003cli\u003eTurn potentiometer fully counterclockwise for 0% (off), fully clockwise for 100% (full speed)\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eTypical Applications\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBrushed DC motor speed control (3V–35V)\u003c\/li\u003e\n\u003cli\u003eLED strip brightness dimming (12V\/24V)\u003c\/li\u003e\n\u003cli\u003ePC fan speed control\u003c\/li\u003e\n\u003cli\u003eWater pump flow rate regulation\u003c\/li\u003e\n\u003cli\u003eElectric drill and power tool speed governors\u003c\/li\u003e\n\u003cli\u003eBattery-powered robot drive speed control\u003c\/li\u003e\n\u003cli\u003eHeating element power control (resistive loads)\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003ePackage Contents\u003c\/h3\u003e\n\u003cul\u003e\n\u003cli\u003e1, 5, or 10 × ZS-X4A PWM speed controller module (quantity as selected)\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"Keszoox","offers":[{"title":"5PCS","offer_id":46981889065195,"sku":"14:173#5PCS","price":19.92,"currency_code":"USD","in_stock":true},{"title":"1PCS","offer_id":46981889097963,"sku":"14:350852#1PCS","price":4.0,"currency_code":"USD","in_stock":true},{"title":"10PCS","offer_id":46981889130731,"sku":"14:203008817#10PCS","price":39.64,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0677\/1005\/8731\/files\/pwm-mini-dc-motor-speed-controller-module.webp?v=1761115922"},{"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":"400w-30a-pwm-dc-motor-speed-controller-module-5v-36v-dual-high-power-mosfet-drive","title":"400W 30A PWM DC Motor Speed Controller Module 5V-36V Dual High-Power MOSFET Drive","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\"\u003e15A 400W\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\u003eQuantity\u003c\/span\u003e: \u003cspan style=\"color:#333\"\u003e1\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\"\u003eDC 5V--36V\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_html\"\u003e\u003cdiv class=\"detail-desc-decorate-richtext\"\u003e\n\u003cdiv\u003e\n\u003cdiv\u003e\n\u003cdiv\u003e\n\u003cdiv\u003e\u003cspan style=\"font-family:Arial, Helvetica, sans-serif\"\u003e\u003cspan style=\"font-size:18px\"\u003e\u003cstrong\u003e400W Max 30A PWM Regulator Adjustment Motor DC5V-36V 15A MOSFET Trigger Switch Drive Dual High-Power Speed Control Board Module\u003c\/strong\u003e\u003c\/span\u003e\u003c\/span\u003e\u003c\/div\u003e\n\n\u003cp align=\"start\" style='font-family:\"TT Norms Pro\", \"Open Sans\", Roboto, Arial, Helvetica, sans-serif, SimSun;font-size:14px;font-weight:400;letter-spacing:normal;line-height:inherit;text-align:start;white-space:normal;color:rgb(34, 34, 34);background-color:rgb(255, 255, 255);margin:0px;margin-bottom:0px;margin-top:0px;margin-left:0px;margin-right:0px;padding:0px;padding-bottom:0px;padding-top:0px;padding-left:0px;padding-right:0px;box-sizing:border-box'\u003e\u003cspan style=\"color:red\"\u003e\u003cbr\u003e\n\u003cspan style=\"font-size:16px;\"\u003eModule Highlights:\u003c\/span\u003e\u003c\/span\u003e\u003c\/p\u003e\n\n\u003cp align=\"start\" style='font-family:\"TT Norms Pro\", \"Open Sans\", Roboto, Arial, Helvetica, sans-serif, SimSun;font-size:14px;font-weight:400;letter-spacing:normal;line-height:inherit;text-align:start;white-space:normal;color:rgb(34, 34, 34);background-color:rgb(255, 255, 255);margin:0px;margin-bottom:0px;margin-top:0px;margin-left:0px;margin-right:0px;padding:0px;padding-bottom:0px;padding-top:0px;padding-left:0px;padding-right:0px;box-sizing:border-box'\u003e\u003cspan style=\"font-size:16px;\"\u003e\u003cspan style=\"background-color:yellow;color:blue\"\u003e1. The use of imported dual-MOS parallel active output, lower resistance, more current, strong power. At room temperature to provide current of 15A, 400W power;\u003c\/span\u003e\u003c\/span\u003e\u003c\/p\u003e\n\n\u003cp align=\"start\" style='font-family:\"TT Norms Pro\", \"Open Sans\", Roboto, Arial, Helvetica, sans-serif, SimSun;font-size:14px;font-weight:400;letter-spacing:normal;line-height:inherit;text-align:start;white-space:normal;color:rgb(34, 34, 34);background-color:rgb(255, 255, 255);margin:0px;margin-bottom:0px;margin-top:0px;margin-left:0px;margin-right:0px;padding:0px;padding-bottom:0px;padding-top:0px;padding-left:0px;padding-right:0px;box-sizing:border-box'\u003e\u003cspan style=\"font-size:16px;\"\u003e\u003cspan style=\"background-color:yellow;color:blue\"\u003e2. Wide voltage input, support PWM;\u003c\/span\u003e\u003c\/span\u003e\u003c\/p\u003e\n\n\u003cp align=\"start\" style='font-family:\"TT Norms Pro\", \"Open Sans\", Roboto, Arial, Helvetica, sans-serif, SimSun;font-size:14px;font-weight:400;letter-spacing:normal;line-height:inherit;text-align:start;white-space:normal;color:rgb(34, 34, 34);background-color:rgb(255, 255, 255);margin:0px;margin-bottom:0px;margin-top:0px;margin-left:0px;margin-right:0px;padding:0px;padding-bottom:0px;padding-top:0px;padding-left:0px;padding-right:0px;box-sizing:border-box'\u003e\u003cspan style=\"font-size:16px;\"\u003e\u003cspan style=\"background-color:yellow;color:blue\"\u003e3. Easy to control high power devices.\u003c\/span\u003e\u003c\/span\u003e\u003c\/p\u003e\n\n\u003cdiv\u003e\u003cspan style=\"font-size:16px;\"\u003e\u003c\/span\u003e\u003c\/div\u003e\n\n\u003cp align=\"start\" style='font-family:\"TT Norms Pro\", \"Open Sans\", Roboto, Arial, Helvetica, sans-serif, SimSun;font-size:14px;font-weight:400;letter-spacing:normal;line-height:inherit;text-align:start;white-space:normal;color:rgb(34, 34, 34);background-color:rgb(255, 255, 255);margin:0px;margin-bottom:0px;margin-top:0px;margin-left:0px;margin-right:0px;padding:0px;padding-bottom:0px;padding-top:0px;padding-left:0px;padding-right:0px;box-sizing:border-box'\u003e\u003cspan style=\"font-size:16px;\"\u003e\u003cspan style=\"color:red\"\u003eProduct specifications and applications:\u003c\/span\u003e\u003c\/span\u003e\u003c\/p\u003e\n\n\u003cp align=\"start\" style='font-family:\"TT Norms Pro\", \"Open Sans\", Roboto, Arial, Helvetica, sans-serif, SimSun;font-size:14px;font-weight:400;letter-spacing:normal;line-height:inherit;text-align:start;white-space:normal;color:rgb(34, 34, 34);background-color:rgb(255, 255, 255);margin:0px;margin-bottom:0px;margin-top:0px;margin-left:0px;margin-right:0px;padding:0px;padding-bottom:0px;padding-top:0px;padding-left:0px;padding-right:0px;box-sizing:border-box'\u003e\u003cspan style=\"font-size:16px;\"\u003e1. Working voltage: DC 5V - 36V;\u003c\/span\u003e\u003c\/p\u003e\n\n\u003cp align=\"start\" style='font-family:\"TT Norms Pro\", \"Open Sans\", Roboto, Arial, Helvetica, sans-serif, SimSun;font-size:14px;font-weight:400;letter-spacing:normal;line-height:inherit;text-align:start;white-space:normal;color:rgb(34, 34, 34);background-color:rgb(255, 255, 255);margin:0px;margin-bottom:0px;margin-top:0px;margin-left:0px;margin-right:0px;padding:0px;padding-bottom:0px;padding-top:0px;padding-left:0px;padding-right:0px;box-sizing:border-box'\u003e\u003cspan style=\"font-size:16px;\"\u003e2. The trigger source: Digital high-low (DC3.3V - 20V), can be connected microcontroller IO port, PLC interfaces, DC power, you can access the PWM signal, the signal can be supported frequency range 0--20KHZ.\u003c\/span\u003e\u003c\/p\u003e\n\n\u003cp align=\"start\" style='font-family:\"TT Norms Pro\", \"Open Sans\", Roboto, Arial, Helvetica, sans-serif, SimSun;font-size:14px;font-weight:400;letter-spacing:normal;line-height:inherit;text-align:start;white-space:normal;color:rgb(34, 34, 34);background-color:rgb(255, 255, 255);margin:0px;margin-bottom:0px;margin-top:0px;margin-left:0px;margin-right:0px;padding:0px;padding-bottom:0px;padding-top:0px;padding-left:0px;padding-right:0px;box-sizing:border-box'\u003e\u003cspan style=\"font-size:16px;\"\u003e3. Output capacity: DC 5V - 36V, at room temperature, continuous current 15A, power 400W!\u003c\/span\u003e\u003c\/p\u003e\n\n\u003cp align=\"start\" style='font-family:\"TT Norms Pro\", \"Open Sans\", Roboto, Arial, Helvetica, sans-serif, SimSun;font-size:14px;font-weight:400;letter-spacing:normal;line-height:inherit;text-align:start;white-space:normal;color:rgb(34, 34, 34);background-color:rgb(255, 255, 255);margin:0px;margin-bottom:0px;margin-top:0px;margin-left:0px;margin-right:0px;padding:0px;padding-bottom:0px;padding-top:0px;padding-left:0px;padding-right:0px;box-sizing:border-box'\u003e\u003cspan style=\"font-size:16px;\"\u003e4. Application: High Power equipment, motors, light bulbs, LED lights, DC motors, micro-pumps, solenoid valve; motor speed control, lamp brightness.\u003c\/span\u003e\u003c\/p\u003e\n\n\u003cp align=\"start\" style='font-family:\"TT Norms Pro\", \"Open Sans\", Roboto, Arial, Helvetica, sans-serif, SimSun;font-size:14px;font-weight:400;letter-spacing:normal;line-height:inherit;text-align:start;white-space:normal;color:rgb(34, 34, 34);background-color:rgb(255, 255, 255);margin:0px;margin-bottom:0px;margin-top:0px;margin-left:0px;margin-right:0px;padding:0px;padding-bottom:0px;padding-top:0px;padding-left:0px;padding-right:0px;box-sizing:border-box'\u003e\u003cspan style=\"font-size:16px;\"\u003e5. Service life: unlimited-off;\u003c\/span\u003e\u003c\/p\u003e\n\n\u003cp align=\"start\" style='font-family:\"TT Norms Pro\", \"Open Sans\", Roboto, Arial, Helvetica, sans-serif, SimSun;font-size:14px;font-weight:400;letter-spacing:normal;line-height:inherit;text-align:start;white-space:normal;color:rgb(34, 34, 34);background-color:rgb(255, 255, 255);margin:0px;margin-bottom:0px;margin-top:0px;margin-left:0px;margin-right:0px;padding:0px;padding-bottom:0px;padding-top:0px;padding-left:0px;padding-right:0px;box-sizing:border-box'\u003e\u003cspan style=\"font-size:16px;\"\u003e6. Working temperature: -40-85 ℃;\u003c\/span\u003e\u003c\/p\u003e\n\n\u003cp align=\"start\" style='font-family:\"TT Norms Pro\", \"Open Sans\", Roboto, Arial, Helvetica, sans-serif, SimSun;font-size:14px;font-weight:400;letter-spacing:normal;line-height:inherit;text-align:start;white-space:normal;color:rgb(34, 34, 34);background-color:rgb(255, 255, 255);margin:0px;margin-bottom:0px;margin-top:0px;margin-left:0px;margin-right:0px;padding:0px;padding-bottom:0px;padding-top:0px;padding-left:0px;padding-right:0px;box-sizing:border-box'\u003e\u003cspan style=\"font-size:16px;\"\u003e7. Size: 34 * 17 * 12mm.\u003cbr\u003e\n8. Quantity: 1 PCS \/ 3 PCS\u003c\/span\u003e\u003c\/p\u003e\n\n\u003cp style=\"margin:0px;margin-bottom:0px;margin-top:0px;margin-left:0px;margin-right:0px;display:block;width:100%\"\u003e\u003cimg referrerpolicy=\"no-referrer\" slate-data-type=\"image\" src=\"https:\/\/ae01.alicdn.com\/kf\/S2502598ada184027a900023d24d95c75J.jpg\"\u003e\u003cimg referrerpolicy=\"no-referrer\" slate-data-type=\"image\" src=\"https:\/\/ae01.alicdn.com\/kf\/S5a2cc4bb39cf4ca596dc34ce06238702T.jpg\"\u003e\u003cimg referrerpolicy=\"no-referrer\" slate-data-type=\"image\" src=\"https:\/\/ae01.alicdn.com\/kf\/S768ddeb7d24740c984cd03f4e71a1330o.jpg\"\u003e\u003cimg referrerpolicy=\"no-referrer\" slate-data-type=\"image\" src=\"https:\/\/ae01.alicdn.com\/kf\/S46fefaf9d2ff4115b9ba6b7a7a751750T.jpg\"\u003e\u003cimg referrerpolicy=\"no-referrer\" slate-data-type=\"image\" src=\"https:\/\/ae01.alicdn.com\/kf\/Sa7a8e1c0dfbf4b8aa2fc1430fd429447A.jpg\"\u003e\u003cimg referrerpolicy=\"no-referrer\" slate-data-type=\"image\" src=\"https:\/\/ae01.alicdn.com\/kf\/Sdd5833e0486b4946b8b4d2089a973c43I.jpg\"\u003e\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\n\u003cp\u003e \u003c\/p\u003e\n\u003c\/div\u003e\u003c\/div\u003e\r\n","brand":"Keszoox","offers":[{"title":"3 PCS","offer_id":46981893587179,"sku":"3:1981284404#3 PCS","price":6.32,"currency_code":"USD","in_stock":true},{"title":"1 PCS","offer_id":46981893619947,"sku":"3:201010228#1 PCS","price":3.6,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0677\/1005\/8731\/files\/400w-30a-pwm-dc-motor-speed-controller-mosfet.webp?v=1761113302"},{"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":"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":"pwm-dc-motor-speed-controller-1-8-15v-2a-adjustable-arduino","title":"PWM DC Motor Speed Controller Module — 1.8–15V, 2A, Adjustable, -40°C to 80°C","description":"\u003ch2\u003ePWM DC Motor Speed Controller Module — 1.8–15V, 2A, Adjustable Duty Cycle\u003c\/h2\u003e\u003cp\u003eThis \u003cstrong\u003ePWM DC motor speed controller module\u003c\/strong\u003e provides smooth, stepless speed control for DC motors from 1.8V to 15V at up to 2A continuous current. Using pulse-width modulation (PWM), it adjusts motor speed by varying the duty cycle via an onboard potentiometer — maintaining full motor torque at low speeds unlike resistive voltage divider controllers. Operating from -40°C to +80°C, it is suitable for indoor and outdoor applications.\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\u003eInput Voltage\u003c\/td\u003e\n\u003ctd\u003e1.8V – 15V DC\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMax Output Current\u003c\/td\u003e\n\u003ctd\u003e2A continuous\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eControl Method\u003c\/td\u003e\n\u003ctd\u003ePWM (pulse-width modulation)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSpeed Adjustment\u003c\/td\u003e\n\u003ctd\u003eOnboard potentiometer (0–100% duty cycle)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003ePWM Frequency\u003c\/td\u003e\n\u003ctd\u003eFixed (internal oscillator)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eOperating Temperature\u003c\/td\u003e\n\u003ctd\u003e-40°C to +80°C\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\u003ch3\u003ePWM Speed Control vs Resistive Voltage Divider\u003c\/h3\u003e\u003ctable\u003e\n\u003cthead\u003e\u003ctr\u003e\n\u003cth\u003eFeature\u003c\/th\u003e\n\u003cth\u003ePWM Controller (This Module)\u003c\/th\u003e\n\u003cth\u003eResistive Divider\u003c\/th\u003e\n\u003c\/tr\u003e\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eTorque at Low Speed\u003c\/td\u003e\n\u003ctd\u003eFull torque maintained\u003c\/td\u003e\n\u003ctd\u003eReduced torque\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eEfficiency\u003c\/td\u003e\n\u003ctd\u003eHigh (\u0026gt;90%)\u003c\/td\u003e\n\u003ctd\u003eLow (heat loss)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eHeat Generation\u003c\/td\u003e\n\u003ctd\u003eMinimal\u003c\/td\u003e\n\u003ctd\u003eSignificant\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSpeed Range\u003c\/td\u003e\n\u003ctd\u003e0–100% smooth\u003c\/td\u003e\n\u003ctd\u003eLimited range\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\u003ch3\u003eWhy Choose This PWM Controller?\u003c\/h3\u003e\u003cul\u003e\n\u003cli\u003e✅ \u003cstrong\u003e1.8–15V wide input\u003c\/strong\u003e — compatible with 3.7V LiPo, 5V USB, 9V, and 12V supplies\u003c\/li\u003e\n\u003cli\u003e✅ \u003cstrong\u003eFull torque at low speed\u003c\/strong\u003e — PWM maintains motor torque unlike resistive control\u003c\/li\u003e\n\u003cli\u003e✅ \u003cstrong\u003e2A continuous\u003c\/strong\u003e — drives small to medium DC motors and fans\u003c\/li\u003e\n\u003cli\u003e✅ \u003cstrong\u003e-40°C to +80°C\u003c\/strong\u003e — reliable in outdoor and automotive environments\u003c\/li\u003e\n\u003cli\u003e✅ \u003cstrong\u003eSimple potentiometer control\u003c\/strong\u003e — no programming required\u003c\/li\u003e\n\u003c\/ul\u003e\u003ch3\u003eTypical Applications\u003c\/h3\u003e\u003cul\u003e\n\u003cli\u003eDC motor speed control for robots and smart cars\u003c\/li\u003e\n\u003cli\u003eFan speed regulation for cooling systems\u003c\/li\u003e\n\u003cli\u003eArduino motor speed control (external PWM module)\u003c\/li\u003e\n\u003cli\u003eDIY electric vehicle speed controller\u003c\/li\u003e\n\u003cli\u003ePump and conveyor belt speed regulation\u003c\/li\u003e\n\u003cli\u003eLED brightness control (resistive LED loads)\u003c\/li\u003e\n\u003c\/ul\u003e\u003ch3\u003ePackage Contents\u003c\/h3\u003e\u003cul\u003e\u003cli\u003e1 × PWM DC Motor Speed Controller Module (1.8–15V, 2A)\u003c\/li\u003e\u003c\/ul\u003e","brand":"Keszoox","offers":[{"title":"Default Title","offer_id":46991450177771,"sku":"\u003cnone\u003e","price":9.24,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0677\/1005\/8731\/files\/pwm-dc-motor-speed-controller-1-8v-15v-2a-adjustable-regulator.webp?v=1761801446"},{"product_id":"pwm-dc-motor-speed-controller-module-4-5-35v-12v-24v-adjustable-speed-regulator","title":"PWM DC Motor Speed Controller Module — 4.5–35V, 12V \/ 24V, Adjustable Speed Regulator","description":"\u003ch2\u003ePWM DC Motor Speed Controller Module — 4.5–35V, 12V \/ 24V, Adjustable Speed Regulator\u003c\/h2\u003e\u003cp\u003eThis \u003cstrong\u003ePWM DC motor speed controller module\u003c\/strong\u003e provides smooth, stepless speed regulation for DC motors operating from 4.5V to 35V, covering the most common 12V and 24V DC motor systems. Using pulse-width modulation (PWM), it maintains full motor torque across the entire speed range — unlike resistive voltage dividers that lose torque at low speeds. The onboard potentiometer provides direct manual speed adjustment from 0% to 100% duty cycle.\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\u003eInput Voltage\u003c\/td\u003e\n\u003ctd\u003e4.5V – 35V DC\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMax Output Current\u003c\/td\u003e\n\u003ctd\u003eRated current (see variant)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eControl Method\u003c\/td\u003e\n\u003ctd\u003ePWM (pulse-width modulation)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSpeed Adjustment\u003c\/td\u003e\n\u003ctd\u003eOnboard potentiometer (0–100% duty cycle)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eCompatible Voltages\u003c\/td\u003e\n\u003ctd\u003e5V, 6V, 9V, 12V, 24V, 36V systems\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMotor Type\u003c\/td\u003e\n\u003ctd\u003eBrushed DC motor, fan, pump\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\u003ch3\u003ePWM Speed Control vs Resistive Control\u003c\/h3\u003e\u003ctable\u003e\n\u003cthead\u003e\u003ctr\u003e\n\u003cth\u003eFeature\u003c\/th\u003e\n\u003cth\u003ePWM Controller (This Module)\u003c\/th\u003e\n\u003cth\u003eResistive Divider\u003c\/th\u003e\n\u003c\/tr\u003e\u003c\/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd\u003eTorque at Low Speed\u003c\/td\u003e\n\u003ctd\u003e✅ Full torque maintained\u003c\/td\u003e\n\u003ctd\u003e❌ Reduced torque\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eEfficiency\u003c\/td\u003e\n\u003ctd\u003e✅ High (\u0026gt;90%)\u003c\/td\u003e\n\u003ctd\u003e❌ Low (heat loss)\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eHeat Generation\u003c\/td\u003e\n\u003ctd\u003e✅ Minimal\u003c\/td\u003e\n\u003ctd\u003e❌ Significant\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eSpeed Range\u003c\/td\u003e\n\u003ctd\u003e✅ 0–100% smooth\u003c\/td\u003e\n\u003ctd\u003e❌ Limited range\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\u003ch3\u003eWhy Choose This PWM Controller?\u003c\/h3\u003e\u003cul\u003e\n\u003cli\u003e✅ \u003cstrong\u003e4.5–35V wide input\u003c\/strong\u003e — covers 5V, 12V, 24V, and 36V DC motor systems\u003c\/li\u003e\n\u003cli\u003e✅ \u003cstrong\u003eFull torque at low speed\u003c\/strong\u003e — PWM maintains motor torque unlike resistive control\u003c\/li\u003e\n\u003cli\u003e✅ \u003cstrong\u003e12V \/ 24V compatible\u003c\/strong\u003e — ideal for automotive, industrial, and DIY applications\u003c\/li\u003e\n\u003cli\u003e✅ \u003cstrong\u003eSimple potentiometer control\u003c\/strong\u003e — no programming or MCU required\u003c\/li\u003e\n\u003cli\u003e✅ \u003cstrong\u003eCompact module\u003c\/strong\u003e — easy to integrate into control panels and enclosures\u003c\/li\u003e\n\u003c\/ul\u003e\u003ch3\u003eTypical Applications\u003c\/h3\u003e\u003cul\u003e\n\u003cli\u003e12V \/ 24V DC motor speed control for robots and automation\u003c\/li\u003e\n\u003cli\u003eFan and blower speed regulation\u003c\/li\u003e\n\u003cli\u003eWater pump flow rate control\u003c\/li\u003e\n\u003cli\u003eElectric vehicle throttle controller\u003c\/li\u003e\n\u003cli\u003eConveyor belt and actuator speed control\u003c\/li\u003e\n\u003cli\u003eLED brightness control (resistive LED loads)\u003c\/li\u003e\n\u003c\/ul\u003e\u003ch3\u003ePackage Contents\u003c\/h3\u003e\u003cul\u003e\u003cli\u003e1 × PWM DC Motor Speed Controller Module (4.5–35V)\u003c\/li\u003e\u003c\/ul\u003e","brand":"Keszoox","offers":[{"title":"3-35V","offer_id":46991450374379,"sku":"14:1202#3-35V","price":5.8,"currency_code":"USD","in_stock":true},{"title":"4.5-35V","offer_id":46991450407147,"sku":"14:350852#4.5-35V","price":5.4,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0677\/1005\/8731\/files\/pwm-dc-motor-speed-controller-4-5-35v-12v-24v-adjustable-speed-regulator.webp?v=1761801323"},{"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":"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":"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":"50w-motor-controller-versatile-dc-motor-controller-with-speed-control-timer-memory-function-for-small-fans-toy-car-models","title":"50W Motor Controller Versatile DC Motor Controller With Speed Control Timer \u0026 Memory Function For Small Fans Toy Car Models","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\u003cstrong\u003e\u003cspan style='font-size:20px;font-family:\"times new roman\"'\u003eFeatures:\u003c\/span\u003e\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style='font-size:20px;font-family:\"times new roman\"'\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 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-size:20px;font-family:\"times new roman\"'\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-size:20px;font-family:\"times new roman\"'\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-size:20px;font-family:\"times new roman\"'\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-size:20px;font-family:\"times new roman\"'\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-size:20px;font-family:\"times new roman\"'\u003eSpecifications:\u003c\/span\u003e\u003c\/strong\u003e\u003c\/p\u003e\n\u003cbr\u003e\u003cp\u003e\u003cspan style='font-size:20px;font-family:\"times new roman\"'\u003e*Part Name: Motor Controller\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style='font-size:20px;font-family:\"times new roman\"'\u003e*Material: None\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style='font-size:20px;font-family:\"times new roman\"'\u003e*Size: 60*34*12mm\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*Motor Controller\u003c\/span\u003e\u003c\/strong\u003e\u003c\/p\u003e\n\u003cbr\u003e\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 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\/S5d7a8d705bec4f048aa91140de1de6375.jpeg\" slate-data-type=\"image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Sdcd2e2dcbdf54a8db48c83567fcbc280H.jpeg\" slate-data-type=\"image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S92817ab36d944c2c82043f33301ef56aQ.jpeg\" slate-data-type=\"image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S6c6c99399aa64b9a8682735c3c5ef049I.jpeg\" slate-data-type=\"image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S85f33e4eb31a43e98cc4cb8317cf36daQ.jpeg\" slate-data-type=\"image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Sa349b6babfdc4be1b94e3ec35c63edb7O.jpeg\" slate-data-type=\"image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Sba3ecadfebb94d458add83476808e30dA.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":47798438265067,"sku":"200007763:201336100","price":16.24,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0677\/1005\/8731\/files\/Se344fb6bd91240b491aa00b590382833M.webp?v=1770565074"},{"product_id":"high-power-forward-and-reverse-motor-speed-regulator-40a-forward-and-reverse-motor-speed-controller-for-brushed-motors","title":"High Power Forward And Reverse Motor Speed Regulator 40A Forward And Reverse Motor Speed Controller For Brushed Motors","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\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*Efficient Speed Control: This motor speed controller utilizes a current control speed regulation , allowing for precise adjustments in motor speed with a duty cycle range of 0-100%, catering to various application needs.  \u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-family: times new roman; font-size: 20px;\"\u003e*ForwardReverse Functionality: Designed with an integrated forwardreverse switch, this controller enables seamless switching between motor directions, making it for \u003cspan style=\"color: rgb(0, 0, 0);\"\u003eIDEAL\u003c\/span\u003e for applications requiring both functionalities.  \u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-family: times new roman; font-size: 20px;\"\u003e*Robust Power Handling: Capable of handling a maximum output current of 40A (20A for continuous use), this controller is built to manage substantial loads while effective heat dissipation to prevent overheating.  \u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-family: times new roman; font-size: 20px;\"\u003e*User-Friendly Interface: Featuring a potentiometer knob that integrates an onoff switch, users can easily adjust the speed settings with a simple turn, enhancing the overall control experience.  \u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-family: times new roman; font-size: 20px;\"\u003e*Versatile Voltage Compatibility: This controller supports a wide input voltage range from DC10-50V, making it suitable for various brushed motors and flexible application across different projects.\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;\"\u003e*Part Name:speed controller\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-family: times new roman; font-size: 20px;\"\u003e*Material:Metal\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-family: times new roman; font-size: 20px;\"\u003e*Size:100MM*76MM*28MM\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-family: times new roman; font-size: 20px;\"\u003e*Color: green\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*speed controller\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 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\/Sa8182f8508b54dd2b2dfa072a71d3e67b.jpeg\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S51817ea3dcc24b149bb0fc87567f05c6l.jpeg\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Sfbc121e4755440e8aa6bf5d40d647a6aS.jpeg\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S4ca6f445c88b493495633b805a85f3bd4.jpeg\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Se2e0ac0b6bb145fbbd78fb1f544bed5dM.jpeg\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003c\/div\u003e\r\n","brand":"Keszoox","offers":[{"title":"China Mainland","offer_id":47798477750507,"sku":"200007763:201336100","price":98.52,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0677\/1005\/8731\/files\/Sa8182f8508b54dd2b2dfa072a71d3e67b.webp?v=1770565269"},{"product_id":"ac-220v-4000w-scr-motor-speed-controller-voltage-regulator-module-with-high-power-control-and-surge-absorption","title":"AC 220V 4000W SCR Motor Speed Controller Voltage Regulator Module with High Power Control and Surge Absorption","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\u003cp\u003e\u003cspan style='font-family: \"times new roman\"; font-size: 20px;'\u003e\u003cstrong\u003e\u003cspan style='font-family: \"times new roman\"; text-wrap: nowrap;'\u003eFeatures:\u003c\/span\u003e\u003c\/strong\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style='text-wrap: nowrap; font-family: \"times new roman\"; font-size: 20px;'\u003e*Brand new and high quality.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style='text-wrap: nowrap; font-family: \"times new roman\"; font-size: 20px;'\u003e*High Power Control: This 4000W electronic voltage regulator offers high power control for a range of electrical appliances, including speed, temperature, and light adjustments.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style='text-wrap: nowrap; font-family: \"times new roman\"; font-size: 20px;'\u003e*Surge  for Protection: Equipped with a dual capacitor design (safety capacitor + metal film capacitor), this SCR Voltage regulator effectively absorbs surges and voltage spikes, protecting the controllable silicon and increasing efficiency.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style='text-wrap: nowrap; font-family: \"times new roman\"; font-size: 20px;'\u003e*The circuit has undergone many technical improvements, and each accessory is now fully technologically mature.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style='text-wrap: nowrap; font-family: \"times new roman\"; font-size: 20px;'\u003e*Thyristor is mainly used for resistive loads (electric heating wire incandescent lamps, .), and most of the single-phase AC motors can also be used, but they are not guaranteed.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style='text-wrap: nowrap; 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\u003e\u003cspan style='font-size: 20px; font-family: \"times new roman\"; text-wrap: nowrap;'\u003eSpecifications:\u003c\/span\u003e\u003c\/strong\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style='text-wrap: nowrap; font-family: \"times new roman\"; font-size: 20px;'\u003eProduct name: 4000W AC regulator\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style='text-wrap: nowrap; font-family: \"times new roman\"; font-size: 20px;'\u003eSize: 85*55*38mm\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style='text-wrap: nowrap; font-family: \"times new roman\"; font-size: 20px;'\u003eKnob hole: 6mm\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style='text-wrap: nowrap; font-family: \"times new roman\"; font-size: 20px;'\u003eHigh power: 4000W(resistive load power limit), long time should reduce the power use.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style='text-wrap: nowrap; font-family: \"times new roman\"; font-size: 20px;'\u003eEfficiency: more than 90%\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style='text-wrap: nowrap; font-family: \"times new roman\"; font-size: 20px;'\u003eWorking voltage: AC 220V\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style='text-wrap: nowrap; font-family: \"times new roman\"; font-size: 20px;'\u003eRegulating voltage: AC 10-220V\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style='text-wrap: nowrap; 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\u003e\u003cspan style='font-size: 20px; font-family: \"times new roman\"; text-wrap: nowrap;'\u003ePackage Included:\u003c\/span\u003e\u003c\/strong\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style='text-wrap: nowrap; font-family: \"times new roman\"; font-size: 20px;'\u003e1 x Volt Regulator\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cbr\u003e\u003cspan style='font-family: \"times new roman\"; font-size: 20px;'\u003e\u003cstrong\u003eNote:\u003cbr\u003e\u003c\/strong\u003e\u003cspan style='color: rgb(17, 31, 44); font-family: \"Microsoft YaHei\", \"Segoe UI\", system-ui, Roboto, \"Droid Sans\", \"Helvetica Neue\", sans-serif, Tahoma, \"Segoe UI SymbolMyanmar Text\", 微软雅黑; font-size: 14px; white-space: pre-wrap; background-color: rgb(255, 255, 255);'\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='color: rgb(17, 31, 44); font-family: \"Microsoft YaHei\", \"Segoe UI\", system-ui, Roboto, \"Droid Sans\", \"Helvetica Neue\", sans-serif, Tahoma, \"Segoe UI SymbolMyanmar Text\", 微软雅黑; font-size: 14px; white-space: pre-wrap; background-color: rgb(255, 255, 255);'\u003e2. Please allow slight manual measurement deviation for the data.\u003c\/span\u003e\u003cbr\u003e\u003c\/span\u003e\u003c\/p\u003e\n\u003cdiv\u003e\n\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Sffe51f9fe9eb4d3cbb9fd455fa067ae8d.jpeg\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S42f1ef8851a64210b048d1d6e65574979.jpeg\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S22c8447136a844bfb749dac1615d39des.jpeg\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S11c6169d944044979d49b9c9393b0243T.jpeg\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S88d2bb870ad14ab093f956a708f9d1c5x.jpeg\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Sb781f96728f94a2cadf99ede0f9a3b33H.jpeg\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S02f0b1a7eac8425793f32863a4b2df26w.jpeg\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Se2ba3e407ea2495e97bfe98363b7fda6e.jpeg\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Sb11b64295f1549868c94d6ca00383ab7E.jpeg\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Sadfa3b7efd9d471d963d462e2ef26426D.jpeg\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S72b03e5387d94248a550cef583b70826u.jpeg\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S98c01e263afc43a397e1b3aedd1d4b946.jpeg\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Sec4a022cdec3492dbf19f62f14268096d.jpeg\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S1659ae16e869499c930031e6dc6b9323X.jpeg\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S98c01e263afc43a397e1b3aedd1d4b946.jpeg\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S22c8447136a844bfb749dac1615d39des.jpeg\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Sadfa3b7efd9d471d963d462e2ef26426D.jpeg\"\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\u003c\/div\u003e\r\n","brand":"Keszoox","offers":[{"title":"China Mainland","offer_id":47798483517675,"sku":"200007763:201336100","price":10.44,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0677\/1005\/8731\/files\/S02f0b1a7eac8425793f32863a4b2df26w.webp?v=1770565428"},{"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":"micro-1a-rc-esc-diy-5v-dc-brushed-motor-speed-controller-motor-reducer-micro-motor-drive-module-two-wire-brush-controller-esc","title":"Micro 1A RC ESC DIY 5V DC Brushed Motor Speed Controller Motor Reducer Micro Motor Drive Module Two Wire Brush Controller ESC","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;\"\u003eSpecifications:\u003c\/span\u003e\u003c\/p\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;\"\u003eModule Size:12*9mm\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eVoltage: 3.5-6v\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eContinuous current: 1A, maximum current 1.5A\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003ePWM range: 1000~2000US\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eWire length: 200mm\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eMotor cable length: 20mm\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;\"\u003eUse:\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eMini car, mini model aircraft, mini drone, mini multi-rotor ESC, 360 degree continuous rotation servo, RC car winch control circuit, etc.Used for 360-degree continuous rotation of servos, digital circuits, no need for potentiometer adjustment, worry-free and labor-saving\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\/Sd1ca2d15584d4735a3b73a6df22a453cF.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S30b27319717f4049b66df6eee99da1543.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S81043894ae684e0da7f014611c3cd9afX.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S7a37dbf0153e4648986d4c0a894ea7544.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S6b20059fab5444f6b02811168ecd27160.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S1dce06d46f7943bfbd0899c3147f1294N.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Sb503a1fd7d1a477b8679b9412cec0328m.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Sb306293257164518aec28be739efdb6cC.jpg\" class=\"detail-desc-decorate-image\"\u003e\n\u003c\/div\u003e\r\n","brand":"Keszoox","offers":[{"title":"with cable","offer_id":47815524483307,"sku":"14:350850#with cable","price":12.88,"currency_code":"USD","in_stock":true},{"title":"without cable","offer_id":47815524516075,"sku":"14:350686#without cable","price":12.85,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0677\/1005\/8731\/files\/S81043894ae684e0da7f014611c3cd9afX.webp?v=1771212981"},{"product_id":"dc-motor-speed-regulator-1-8v-12v-2a-speed-control-switch","title":"DC Motor Speed Regulator 1.8V-12V 2A Speed Control Switch","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\"\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\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003e*100% Brand New and high quality.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003eStyle: DC motor speed regulator\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\"\u003eColor: As shown in the picture\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003eSize: As shown in the picture Length and width 32mm*32mm Height about 14mm\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003ePackage: OPP bag\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003eUse: Daily practical tools\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003ePackage includes: 1PC**According to the picture you choose\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\"\u003e1.Please allow slight differences due to manual measurement. The above size is for reference only.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003e2.Please note that the color tone of the on-site color photos may be slightly different from the actual item due to lighting effects, brightness, display setting contrast, etc.\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\/S170eaa1517034e37bd52fee943117da68.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/S4fee4a09f1a04593a6f25f841d8eb034d.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/S14cdc718784a4a90b5a26d06fdf21883o.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/S659fd21501984f22bdd7a2d24c5571c2L.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/S10d912570f914839b7b621c8712d98c0n.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/Sdcffdffb2a874b9bb6c6b496e08516a2p.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/Sa9388ecb0c9f46c49379d28ad7a14111W.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/S5a8efb23cbf848adb9c14ff343136df7N.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/Sfdf4c4437ec642a2aae003e34f984588v.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/Sa4c5815238b24b3580fab4f51a205b69p.jpg\" slate-data-type=\"image\"\u003e\n\u003c\/div\u003e\u003cbr\u003e","brand":"Keszoox","offers":[{"title":"Default Title","offer_id":47857214062827,"sku":"\u003cnone\u003e","price":9.94,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0677\/1005\/8731\/files\/dc-motor-speed-regulator-2a.webp?v=1771758321"},{"product_id":"dc-dc-5v-16v-pwm-motor-speed-controller-10a-adjustable-module","title":"DC-DC 5V-16V PWM Motor Speed Controller 10A Adjustable Module","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\"\u003eVoltage:DC 5V-16V\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003eContinuous Current: 10A\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003eShort maximum current: 20A (less than 10 seconds)\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003eSpeed control mode: PWM stepless speed regulation, can also be used to adjust the light\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003eControl mode: speed control potentiometer (clockwise clicked open, continue to rotate clockwise from 1% to 99% speed)\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003eDuty cycle: 0%-99% (0% position is the state of the switch off when the potentiometer is most on the left).\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003eWhen the current is switched on, the 0.002A (long time no need to switch off the governor is no current).\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003eEfficiency: the maximum efficiency is as high as 98%.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003eVolume: long 3cm (excluding potentiometer), wide 2cm, high 1.4cm\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\/Sc3d57db92d6046018d8122c4f5e83c380.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/Sb8aab381db184792b2275c6052c79f20t.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/Sf881676bb9ea467199d87b958f57c79fC.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/S8461560d51844bc4b5db5d9d9ed4bf9dl.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/S03c9446dc7f943e98921263ffdff272fT.jpg\" slate-data-type=\"image\"\u003e\n\u003c\/div\u003e\u003cbr\u003e","brand":"Keszoox","offers":[{"title":"1pc","offer_id":47857218683115,"sku":"35:201283931#1pc","price":10.47,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0677\/1005\/8731\/files\/dc-dc-pwm-motor-speed-controller-10a.webp?v=1771756107"},{"product_id":"pwm-dc-motor-speed-controller-6v-12v-24v-28v-3a-speed-regulator-switch","title":"PWM DC Motor Speed Controller 6V 12V 24V 28V 3A Speed Regulator Switch","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\"\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\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eVoltage Range: DC 6V-28V\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eCurrent range: \u0026lt; 3A\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eSwitch function: Yes\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eSpeed range: 0-100%\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eSize: 32mm*50mm*15mm\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003ePackage Includes：1PC\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\/Sdab8bb9da80848fb864fbb0122423cacz.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S08b6498ab19d4c2c9ca3b97160f1ddefR.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S6507dd4dd1fb4f52abef0cf5fb8f4dffZ.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S3f7e777d629947438b44066d6f113d361.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Sf1879075b3df4add84d61db78bcc198df.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S709ad2f3af9a435196d18dda16f316b1J.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S1bc2ed6c2758440fbe07833c6a4c7297r.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Sa130aa7c12dc4f989ec7ecf44d33b3716.jpg\" class=\"detail-desc-decorate-image\"\u003e\n\u003c\/div\u003e\r\n","brand":"Keszoox","offers":[{"title":"Default Title","offer_id":47860396982507,"sku":"\u003cnone\u003e","price":10.22,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0677\/1005\/8731\/files\/S6507dd4dd1fb4f52abef0cf5fb8f4dffZ.webp?v=1771814679"},{"product_id":"1pc-dc-dc-4-5v-35v-low-voltage-motor-speed-controller-5a-90w-pwm-12v-dc-motor-speed-controller-module-adjustable-drive-module","title":"1PC DC-DC 4.5V-35V Low Voltage Motor Speed Controller 5A 90W PWM 12V DC Motor Speed Controller Module Adjustable Drive Module","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\"\u003e1. High-precision control: PWM DC motor speed regulator adopts pulse width modulation technology, which can accurately control the speed of DC motor, so that the product has excellent stability and accuracy.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003e2. Wide applicability: This product can be widely used in the speed regulation needs of various DC motors, such as industrial automation equipment, electric tools, electric models, etc., to meet different needs.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003e3. Easy to operate: PWM DC motor governor is humanized in design and simple to operate. Easy for users to set speed, current and voltage parameters.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003e4. Powerful load capacity: The governor has good heat dissipation performance and high load capacity, which can ensure stable operation under full load and meet industrial-grade application standards.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003e5. Community support: Customers who buy this product can get our technical support, if there is any problem, our professional team can provide you with consultation and solution.\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003eWorking voltage: DC4.5V-35V\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003eOutput current: 0-5A\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003eOutput power: 90W (maximum limit)\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003eQuiescent current: 70uA (standby state)\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003ePWM duty cycle: 1%-100%\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003ePWM frequency: 20khz\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size:16px;font-family:Verdana\"\u003ePackage Includes：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. 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=\"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\u003cdiv class=\"detailmodule_image\"\u003e\n\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/S828a3ce8ade04a669190a8cfc4f28ce8E.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/S93dbe9bd411c4bb1bf14d573fa07d60bv.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/S0879772360dc4424b536904a8eb6ec8ci.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/S92a1c605d47341e9b072299a123f0bdao.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/S959aa2a98bd54222b2981f97eb2acd84A.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/S73eebfffef3c4de0b942829855c64db5S.jpg\" slate-data-type=\"image\"\u003e\u003cimg class=\"detail-desc-decorate-image\" src=\"https:\/\/ae01.alicdn.com\/kf\/S103d13f77abf4155acd5fb895d627195s.jpg\" slate-data-type=\"image\"\u003e\n\u003c\/div\u003e\u003cbr\u003e","brand":"Keszoox","offers":[{"title":"One Size","offer_id":47867977203947,"sku":"35:201283931#One Size","price":11.13,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0677\/1005\/8731\/files\/S92a1c605d47341e9b072299a123f0bdao.webp?v=1771994493"},{"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":"new-12v-24v-36v-48v-pwm-dc-motor-speed-controller-reversible-switch-6a-regulator","title":"New 12V 24V 36V 48V PWM DC Motor Speed Controller Reversible Switch 6A 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\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\"\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\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eParameter\r\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eInput voltage: DC 10V-60V\r\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eRated current: Continuous working current 6A or less\r\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003eFunction: Speed adjustment, Forward , Stop , Revers\r\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003ePackage Included:\r\u003c\/span\u003e\u003c\/p\u003e\n\u003cp\u003e\u003cspan style=\"font-size: 16px; font-family: Verdana;\"\u003e1 * 12V 24V 36V 48V PWM DC Motor Speed Controller Reversible Switch 6A Regulator\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\/Sd4a84167f9ac4188be2b81ecda8f1f41S.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S3de7b14066334d46bddbfc2c7d017180e.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S189a815f1db24899afa0354e81c2c5282.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S0c6e259e94494fc188077ac6ce6db95fM.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S684be295fb474a2fa0f72fb3c5756b6dI.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S1bb16fc9abd342c792b4f4a1727062ddP.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S99866d2a5d45445690e5f0a0664f82abH.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S47de4c0b8e8c402d89ed1bfca3edec5aS.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/Sf5458c3801f3484a90054c5c8f72ffc2Q.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S1169a8ced62e4c3dbfe3e901071c8ea5Z.jpg\" class=\"detail-desc-decorate-image\"\u003e\u003cimg src=\"https:\/\/ae01.alicdn.com\/kf\/S7f4062da89f4473e87710b162cedcfa0a.jpg\" class=\"detail-desc-decorate-image\"\u003e\n\u003c\/div\u003e\r\n","brand":"Keszoox","offers":[{"title":"Default Title","offer_id":47883097866475,"sku":"\u003cnone\u003e","price":30.59,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0677\/1005\/8731\/files\/S0c6e259e94494fc188077ac6ce6db95fM.webp?v=1772423478"}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0677\/1005\/8731\/collections\/image_2ce358da-2549-46d7-bc7e-0331fd12c008.png?v=1776148234","url":"https:\/\/keszoox.com\/collections\/motor-driver-modules-speed-controllers.oembed?page=2","provider":"Keszoox","version":"1.0","type":"link"}