Wednesday, 17 February 2016

DIY Mini Drill Controller

Scene-1: The Cause

I was using a small MiniCraft drill machine for drilling holes into my home made PCBs and also for some cutting activity with some attachments. The problem that I had was that when I bought the drill it didn't come with any sort of controller. I used to use it with direct connection to battery.

It was difficult to every time remove the drill once it got stuck, because there was no way to reverse.

Scene-2: The Idea

So one fine Sunday I thought of building this drill controller.

The basic concept was that I have to build a controller circuit for :

  1. Speed Control; so that if there is any delicate job to be done then I can start slowly and increase the speed as and when reuired.
  2. Direction Control; for when the drill would get stuck/jammed I could reverse easily by the push of button.
  3. It should have a Power ON-OFF control.
  4. And finally everything should fit into a Compact box and all the controls should be user friendly and easily accessible. (don't want any tricky controls when you are handling a high speed sharp tool right :D )

Scene-3: Component Selection

To achieve this I thought of a simple idea which is to use motor-driver IC for reversing the direction and controlling the speed and a microcontroller to control the motor-driver.

I initially thought of using relays to control the direction, but then it could have become bulky and speed control would anyhow raise the need of some linear components.

Finally I ended up with L293D, which has 4 individual PUSH-PULL driver and every two of them can be paired to form a H-Bridge channel. It has a current capacity of 600mA per channel with in SOA (Safe Operating Area), beyond which it would require a heatsink (which I don't intend to provide, lack of space).

So I coupled 2 channels which would effectively double the current capacity now to 1.2A. 

The goal was to control the direction of the motor by Input signals of L293D  and speed by providing PWM to L293D input. Both of which would be from a simple low cost microcontroller, and nowadays we can pick up a cheap arduino-pro mini clone for around 200 INR, which is relatively cheap.

The advantage of using a pro-mini kind of board is that all the essential circuity for the microcontroller like clock, power are already present on board and it is quite sleek to fit into my box, and why not go for a pro-micro-328p board for 200 INR when a DIP atmega328p would cost 150 INR.

For speed control I used a 10k POT generally available in market.

I also used two tactile switches:
  1. For toggling direction.
  2. For turning it ON or OFF.
Other components used are a couple of leds, resistors, a plastic knob for POT and a DC barrel Jack.

Scene-4: Realization and Testing

The schematic of the circuit is shown below:

I have added a mechanism to detect Over-current, by which I can prevent L293D from Over-heating, if the motor really gets jammed.

Since it is a brushed motor if the rotor gets stuck then current starts continuously flowing from the same part of the coil which eventually heats-up the armature and reduces its life, and also the Motor-driver can get damaged because of high-current flow, remember the peak limit is 1.2A even when both channels are combined.

So for that I used a shunt resistor of 0.08Ohm and used to measure the voltage drop across it using ADC of atmega328p. So when voltage across it reaches 96mV (1.2A x 0.08Ohm) then we should disable the L293D in the program.

I also added a functionality to prevent transients which is called Soft-start (mostly used for powering high-current loads), which is basically slowly increasing speed (using PWM) during POWER-UP instead of instantly supplying full power.

All these and other features are present in the program.

Click the link below to get the design files (schematic) and program for it.
Code and Schematic

I have written the program using Atmel Studio, however it can be easily adapted for use with Arduino.

The programming is almost complete however there are a few glitches which I am not getting time to resolve (documented in the Readme file). Feel free to make any changes and customize according to your needs.

Scene-END: Result

Below is the result of what I built :)

The demo can be seen in the video below :


Unknown An Electronics and Tech Enthusiast

I am a Tech enthusiast who loves to build stuff like new gadgets and tinker around with electronic devices doing some DIY stuff, writing some code and in the process providing something back to the community.


  1. You make so many great points here that I read your article a couple of times. Your views are in accordance with my own for the most part. This is great content for your readers. Magnetic Drill Press Finder

    1. The effectiveness of IEEE Project Domains depends very much on the situation in which they are applied. In order to further improve IEEE Final Year Project Domains practices we need to explicitly describe and utilise our knowledge about software domains of software engineering Final Year Project Domains for CSE technologies. This paper suggests a modelling formalism for supporting systematic reuse of software engineering technologies during planning of software projects and improvement programmes in Final Year Projects for CSE.

      Software management seeks for decision support to identify technologies like JavaScript that meet best the goals and characteristics of a software project or improvement programme. JavaScript Training in Chennai Accessible experiences and repositories that effectively guide that technology selection are still lacking.

      Aim of technology domain analysis is to describe the class of context situations (e.g., kinds of JavaScript software projects) in which a software engineering technology JavaScript Training in Chennai can be applied successfully

      The Angular Training covers a wide range of topics including Components, Angular Directives, Angular Services, Pipes, security fundamentals, Routing, and Angular programmability. The new Angular TRaining will lay the foundation you need to specialise in Single Page Application developer. Angular Training

  2. After reading your article I was amazed. I know that you explain it very well. And I hope that other readers will also experience how I feel after reading your article. best impact driver

  3. This comment has been removed by the author.

  4. We have transformed ourselves from the era of knowledge scarcity to era of knowledge abundance. We have hundreds of thousands of pages for each and every product we search for, Suncoast Precision Tools in Google or Yahoo. But the real talent lies in choosing the best product from the variety of choices. The same concept applies for cordless drills.

  5. I love the way you write and share your niche! Very interesting and different! Keep it coming! footcare drill equipment

  6. It's very useful blog post with inforamtive and insightful content and i had good experience with this information. We, at the CRS info solutions ,help candidates in acquiring certificates, master interview questions, and prepare brilliant resumes.Find top Salesforce admin interview questions in 2020.
    These Salesforce developer interview questions are highly helpful in 2020. You can read these Salesforce lightning interview questions and Salesforce integration interview questions which are prepared by industry experts.

  7. Thanks for taking the time to discuss this, I feel strongly about it and love learning more on this topic. If possible, as you gain expertise, would you mind updating your blog with extra information? It is extremely helpful for me. podiatry drill

  8. Wow i can say that this is another great article as expected of this blog.Bookmarked this site.. best impact wrench for cars

  9. With Dewalt DC618KA, the temporary worker can play out all the completion works that require nailing on the agreement easily and proficiency. It produces quality work inside a brief period.

  10. It has headlights that gives expanded perceivability where there are low light conditions and in bound zones that have low light flexibly.