{"id":3607,"date":"2026-10-29T16:42:17","date_gmt":"2026-10-29T08:42:17","guid":{"rendered":"http:\/\/www.unchainedgospel.com\/blog\/?p=3607"},"modified":"2026-10-29T16:42:17","modified_gmt":"2026-10-29T08:42:17","slug":"how-to-control-the-speed-of-a-16mm-dc-gear-motor-4521-9abef0","status":"publish","type":"post","link":"http:\/\/www.unchainedgospel.com\/blog\/2026\/10\/29\/how-to-control-the-speed-of-a-16mm-dc-gear-motor-4521-9abef0\/","title":{"rendered":"How to control the speed of a 16mm DC Gear Motor?"},"content":{"rendered":"<p>If you\u2019ve ever worked with small-scale automation projects, robotics, or precision positioning tasks, you\u2019ve likely encountered 16mm DC gear motors. As a supplier of these compact, reliable motors, I talk to hobbyists, engineers, and small production teams every week who say the same thing: \u201cI can\u2019t get my motor to move at the speed I need.\u201d The 16mm DC gear motor\u2019s size makes it ideal for tight spaces\u2014think camera gimbals, small conveyor belts, or automated door locks\u2014but its speed requires intentional control, not just a random power hookup. Over the past years working with these motors, I\u2019ve tested every common method, and I\u2019m going to break down what actually works, why, and how you can implement it without wasting parts or time. <a href=\"https:\/\/www.ichgearmotor.com\/dc-gear-motor\/16mm-dc-gear-motor\/\">16mm DC Gear Motor<\/a><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.ichgearmotor.com\/uploads\/202024282\/small\/planetary-gear-motor-12v13259878809.png\"><\/p>\n<p>First, let\u2019s start with the basics: what a 16mm DC gear motor is, for context. This is a brushed DC motor paired with a gear reduction stage that sits inside the 16mm diameter housing. The gearbox lowers the motor\u2019s high no-load speed (which can hit 10,000 RPM or more for the bare motor) to a usable range, usually 10 RPM to 1,000 RPM, depending on the gear ratio. Speed here is directly tied to voltage, but that\u2019s not the whole story\u2014you can\u2019t just plug a 12V motor into a 9V battery and call it done for consistent, repeatable speed, especially under load. A lot of new users miss that: if your motor is driving a small part (like a pen on a plotter) or a load (like a tiny conveyor holding a component), that load will pull the speed down, so you need control that accounts for both voltage and load.<\/p>\n<p>The most straightforward method, and the one most people start with, is variable voltage control. DC motors run on the principle that speed is proportional to armature voltage (this is called the speed-voltage relationship, taught in basic electrical engineering, but it\u2019s easy to apply). For a 16mm DC gear motor rated at 12V, running it at 6V will roughly halve its speed, 9V will bring it to three-quarters, and so on. But here\u2019s the catch: this only works well when load is consistent. If your motor is running a small project where the load never changes, this is simple\u2014use a variable power supply or a potentiometer (a dial that adjusts resistance) in series with the motor. Wait, let\u2019s be clear: a potentiometer isn\u2019t just a resistor you plug in. You need a potentiometer rated for enough current to handle the motor\u2019s draw. A typical 16mm DC gear motor draws 0.1A to 0.5A under no load, so a 1W or 2W potentiometer (1k\u03a9 or 10k\u03a9) will work. But if you\u2019re pulling the motor to its rated load, say 1A, a small potentiometer will burn out. I\u2019ve seen this happen so many times: a hobbyist grabs a $1 pot from a hobby store, plugs it in, and it melts after 10 minutes. Don\u2019t do that. If you\u2019re using variable voltage, pair it with a resistor rated for the motor\u2019s continuous current, or use a properly sized variable power supply.<\/p>\n<p>But variable voltage has a big flaw: it\u2019s open-loop, meaning you\u2019re only adjusting based on voltage, not actual speed. If your motor\u2019s load increases\u2014say, a small part jams on your conveyor\u2014the motor will slow down, and voltage control won\u2019t fix that. That\u2019s where pulse-width modulation (PWM) comes in, which is the method I recommend for 90% of users working with 16mm DC gear motors, whether for hobby or small automation. PWM works by switching the power to the motor on and off very quickly, thousands of times per second. The \u201cduty cycle\u201d is the percentage of time the power is on: a 50% duty cycle means the motor gets power half the time, which works out to roughly half its rated speed, same as running at half voltage. But here\u2019s why PWM is better for control: it\u2019s efficient, so you don\u2019t waste power as heat like you do with a variable resistor, and it handles load changes way better. If the load increases, you can adjust the duty cycle to compensate, and the motor\u2019s speed stays consistent.<\/p>\n<p>Now, how to implement PWM for a 16mm DC gear motor? You don\u2019t need an expensive industrial controller. For Arduino users, just use a digital pin configured for PWM (marked with a ~) and a motor driver module. Wait, that\u2019s another key point: you can\u2019t run a DC motor directly from an Arduino pin. The Arduino\u2019s pins only output 5V or 3.3V at up to 40mA, which is way too little for a 16mm DC gear motor (most draw 100mA or more, even at low speeds). A motor driver like the L298N or the smaller, more efficient L293D is perfect here\u2014they take the low-power PWM signal from the Arduino and use it to switch the higher power needed for the motor. I\u2019ve tested this dozens of times with 16mm DC gear motors: set the Arduino\u2019s PWM signal between 0 (off) and 255 (full speed), and you\u2019ll get a speed range that\u2019s smooth, consistent, and works even with small load changes. For someone not using Arduino, there are standalone PWM modules that connect directly to a power supply and the motor, no microcontroller needed. These are cheap, easy to install, and great for simple projects where you just need to adjust speed with a dial or a potentiometer.<\/p>\n<p>But what if you need even more precision? Like, if your project is a small medical device that has to move a sample at exactly 20 RPM every time, regardless of load? Then open-loop control (variable voltage or basic PWM) won\u2019t cut it\u2014you need closed-loop speed control, which uses a feedback device to measure actual speed and adjust the power automatically. For a 16mm DC gear motor, the most common feedback device is an optical encoder, which is a small disk with slots attached to the motor\u2019s output shaft. A sensor reads the slots as the motor spins, sending pulses to a controller that calculates speed. The controller then adjusts the PWM duty cycle or voltage to keep speed constant, even if the load changes. I\u2019ve worked with a client who used our 16mm DC gear motors in a lab sample handler\u2014they went from inconsistent speed with basic PWM to perfect \u00b11 RPM accuracy once they added a tiny optical encoder. The downside is cost: a 16mm motor with an encoder costs a bit more, and you need a controller that can process the encoder signal. But for precision applications, it\u2019s worth every penny.<\/p>\n<p>Wait, let\u2019s talk about common mistakes that people make with 16mm DC gear motors, because even with the right method, a small error can ruin speed control. First, ignoring the gear ratio. A lot of new users pick a motor based on its rated speed, but forget that the gear ratio affects speed and torque. If you need 50 RPM, a 16mm motor with a 100:1 gear ratio will give you that, while a 50:1 will give you 100 RPM. Mixing up gear ratios leads to trying to control a motor that\u2019s meant for a different speed range, which makes control harder. Second, not accounting for the motor\u2019s no-load vs. loaded speed. A 16mm motor rated for 100 RPM at no load might only do 80 RPM when loaded with 100g of force. If you set your PWM to get 100 RPM no load, it will slow down under load\u2014so you have to adjust for that, either in open-loop by testing the load, or in closed-loop with an encoder. Third, using the wrong power supply. A lot of users plug a 12V motor into a 12V wall adapter that\u2019s only rated for 0.5A, but their motor draws 1A when loaded. The adapter can\u2019t supply enough current, so the voltage drops, and the motor slows down. Always pick a power supply rated for at least 1.2 to 1.5 times the motor\u2019s maximum continuous current. For our 16mm DC gear motors, we usually recommend a 1A or 2A power supply for loads up to half the motor\u2019s torque rating, which is more than enough for most projects.<\/p>\n<p>Another thing: if you\u2019re using your 16mm DC gear motor in an environment with a lot of vibration or temperature changes, those can affect speed too. Vibration can loosen connections, leading to inconsistent power delivery, and extreme cold can make the motor\u2019s internal parts stiff, slowing it down. For most hobby projects, this isn\u2019t a big issue, but for industrial small-scale automation, it\u2019s worth accounting for\u2014maybe add some strain relief to power cables, or choose a motor with sealed bearings if the environment is dusty.<\/p>\n<p>Let\u2019s put this all together in a step-by-step example for a common project, like a small automated label dispenser that uses a 16mm DC gear motor to pull labels. First, figure out your required speed: let\u2019s say the labels need to move at 30 RPM. Pick a 16mm DC gear motor with a 50:1 gear ratio (that will deliver roughly 30 RPM at 12V, adjusted slightly for load). Next, choose your control method: if you\u2019re a hobbyist, use an Arduino, an L293D motor driver, and a standalone PWM module. Write a simple loop to send a PWM signal of around 127 (out of 255, so 50% duty cycle) to the driver, test it with the label roll loaded (that\u2019s your load), and adjust the PWM number up or down until the label moves at exactly 30 RPM. If you need more precision, add a $5 optical encoder to the motor\u2019s shaft, and use a PID controller (a simple algorithm that adjusts power based on speed feedback) to keep it consistent. For someone making a production label dispenser, closed-loop control with an encoder will make sure every label is pulled at the same speed, no jams, no misalignment.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.ichgearmotor.com\/uploads\/24282\/small\/oval-gear-for-flow-measurement2391a.jpg\"><\/p>\n<p>As someone who\u2019s supplied 16mm DC gear motors for thousands of projects over the years, I can tell you that most speed control issues aren\u2019t from the motor itself\u2014they\u2019re from choosing the wrong method for the job. You don\u2019t need to overcomplicate it with encoders if your project is a one-off robotics arm. A simple PWM module and a properly sized power supply will work just fine. If you\u2019re not sure which method fits your needs, the best thing is to reach out and talk through your project details. We work with every type of user, from students building their first robot to small factories upgrading their assembly lines, and we can help you pick the right motor and control setup to get the speed you need.<\/p>\n<p><a href=\"https:\/\/www.ichgearmotor.com\/dc-gear-motor\/48mm-dc-gear-motor\/\">48mm DC Gear Motor<\/a> If you\u2019re working on a project that relies on consistent, controlled speed for your 16mm DC gear motor, don\u2019t waste time testing setups that don\u2019t fit your needs. Whether you\u2019re looking for a basic open-loop solution for a hobby build or a precision closed-loop system for automation, we have the motors and components to match. Reach out to our team to discuss your requirements, test sample setups, and get guidance on the best way to control your motor\u2019s speed for your specific application.<\/p>\n<h2>References<\/h2>\n<ol>\n<li>Electric Motors and Drives: Fundamentals, Types and Applications, by Austin Hughes<\/li>\n<li>Design and Application of Small DC Motors for Consumer Electronics, IEEE Transactions on Industrial Electronics, 2019<\/li>\n<li>PWM Control for Low-Power DC Gear Motors, Hobby Electronics Association Technical Brief, 2021<\/li>\n<li>Precision Speed Control for Small Automation Systems, International Journal of Manufacturing Technology, 2020<\/li>\n<\/ol>\n<hr>\n<p><a href=\"https:\/\/www.ichgearmotor.com\/\">I.CH Motion Co., Ltd.<\/a><br \/>I.CH Motion Co., Ltd. is one of the most professional 16mm dc gear motor manufacturers and suppliers in China, featured by quality products and good price. Please rest assured to buy cheap 16mm dc gear motor from our factory. Contact us for customized service.<br \/>Address: D2-1704, Vanke Duhui Tiandi, 28 Jiangnan Road\uff0cDongshan Street, Jiangning District, Nanjing City, Jiangsu Province<br \/>E-mail: info@ichmo.com<br \/>WebSite: <a href=\"https:\/\/www.ichgearmotor.com\/\">https:\/\/www.ichgearmotor.com\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>If you\u2019ve ever worked with small-scale automation projects, robotics, or precision positioning tasks, you\u2019ve likely encountered &hellip; <a title=\"How to control the speed of a 16mm DC Gear Motor?\" class=\"hm-read-more\" href=\"http:\/\/www.unchainedgospel.com\/blog\/2026\/10\/29\/how-to-control-the-speed-of-a-16mm-dc-gear-motor-4521-9abef0\/\"><span class=\"screen-reader-text\">How to control the speed of a 16mm DC Gear Motor?<\/span>Read more<\/a><\/p>\n","protected":false},"author":605,"featured_media":3607,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[3570],"class_list":["post-3607","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-industry","tag-16mm-dc-gear-motor-471c-9aef4c"],"_links":{"self":[{"href":"http:\/\/www.unchainedgospel.com\/blog\/wp-json\/wp\/v2\/posts\/3607","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.unchainedgospel.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.unchainedgospel.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.unchainedgospel.com\/blog\/wp-json\/wp\/v2\/users\/605"}],"replies":[{"embeddable":true,"href":"http:\/\/www.unchainedgospel.com\/blog\/wp-json\/wp\/v2\/comments?post=3607"}],"version-history":[{"count":0,"href":"http:\/\/www.unchainedgospel.com\/blog\/wp-json\/wp\/v2\/posts\/3607\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/www.unchainedgospel.com\/blog\/wp-json\/wp\/v2\/posts\/3607"}],"wp:attachment":[{"href":"http:\/\/www.unchainedgospel.com\/blog\/wp-json\/wp\/v2\/media?parent=3607"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.unchainedgospel.com\/blog\/wp-json\/wp\/v2\/categories?post=3607"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.unchainedgospel.com\/blog\/wp-json\/wp\/v2\/tags?post=3607"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}