Robotic Auto Dialer

I have a question about creating a topic name for a project based on the following project requirements.

  • Using an Ardino Nano or other model or a Raspberry Pi controller.

  • Would like to use a 12 volt battery if a monitoring device is available to monitor and record and apply the data taken from the load from a stepper motor which is being controlled by the ardino nano other models or a Rasberry Pi model.

  • Need to have readings taken near or close to 500,000 every 1/10 of a second and monitor voltage & amperage use as small as the lowest possible changes in both voltage and amperage changes of the load of stepper motor as it runs a program that rotates a dial on a combination safe dial project to prevent destroying a lock like a regular safe combination auto dialer does.

  • If I can locate the device that can read the changes of any friction and or loose torque detected as the dial is rotated clockwise and counterclockwise then I would be able to get started.

  • If I need to use an AC based stepper motor that has a device available that will also work provided that a filter will be in place to eliminate all harmonic distortion coming in to ensure that the voltage used by the stepper motor has a pure sine wave and voltage input.

Please let me know what your suggestion would be for a topic to locate a device which may help me to create this project using either an Ardino or Rasberry micro controller to run the stepper motor program.

Hello @zsaa2025,

Your project sound similar to this:

Please help me understand the design challenge you are attempting to solve. As I understand your description, you are attempting to add a responsive smooth-as-silk motor to the design.

As a general comment, you will likely need a quality encoder to accurately track the position of the motor. While this can be done, the complexity and cost are orders of magnitude more expensive than the traditional stepper motor.

Looking forward to your response.

Sincerely,

Aaron

Thank you for the Reply Aaron.
I am not a locksmith either but I purchased $6,000 dollars worth of large safes and have had ongoing problems with the safes combination safe lock dials loosing the combination I entered.
I viewed several safe combination auto dialers on YouTube and those auto dialers tear up a lock. I watched several individual manually crack the exact brand of combination locks that are installed on the safes I purchased.
If an individual can manually rotate and detect the friction increases at a certain digit and know that is either the gate of the combination or the third number of the combination code.
Then my thoughts were to use a stepper motor similar to the one they are using but instead of programming the Ardino or Rasberry Pi to try each and every combination possible and tearing up the lock which is rated for no more than 20hours of use.
I would think that by detecting the rotation friction increases and drop in the voltage and amperage use on the load of the stepper motor as it rotates each digit and have the controller record any changes in voltage and amperage use as the stepper motor runs through the programmed rotation based on the lock requirements.
A sensitive voltage & amperage detection circuit based on taking readings on the load of a small stepper motor should easily detect each digit that a trained safe cracker can detect based on the input voltage and amps to the load of the stepper motor.
This should help explain the issues that I need to overcome. I am aware of using an encoder to detect the digits, I need your advice on which type of accessories may be available to work with an Ardino or Rasberry Pi to detect and use the various increases and decreases in voltage and amperage loads going to the stepper motor that is running the program to know how many turns each way as well as the digits it cannot pass and upon finalizing the program run enable the user to open or try to open the safe after detecting the various defects in the lock itself after turning it to know what defects are in a mass produced or older safe lock which will be also programmed into the operating of the program itself within the Ardino micro controller.
Any assistance would be greatly appreciated.

Best Regards

Lance Ledet

Hello @zsaa2025,

My initial reaction is that this is a graduate level combination EE and ME project.

Like you, I’m no locksmith. However, I am certain that the human hand and ear are wonderfully complex sensing devices capable of detecting tiny differences in torque.

Let me riff on the idea in the hope that part of this note will be useful to you and other DigiKey community members.

  • The stepper motor is out. It’s too crude and nonlinear making it difficult to corelate torque with current.

  • A smooth-as-silk DC or BLDC motor with sinusoidal drive may be better. A top quality planetary geartrain would be required to differentiate between the combo and the stiction in the geartrain. An encoder becomes a must have with this setup.

  • I’m not sure a current sensor would be sensitive enough. It may be necessary to suspend the motor assembly at the end of a torsion spring or related mechanism. But then, we have the complexity of measuring small twisting in the spring e.g. strain gauge.

Wish I had better news for you. Let me tag fellow DigiKey engineer @David_1528 for a second opinion.

Sincerely,

Aaron

Hi Arron,
When you read the comments on that YouTube video. See (To start, I need a motor that can turn the dial as quickly as possible and try all the ‎combinations. I have a few options here. )
My goal is to turn the dial slowly while detecting the various input of voltage and amperage increases and decreases in order to detect the 3rd, 2nd and 1st combination settings of a safe combination.
The video shows a different type of safe and different type of lock. I don’t want to have the motor turn as fast as it can trying out the total amount of combinations available or even using basic numbers normally used, the method used in the video is called a Brute Force attack and it will ruin a safe lock after it completes the programmed process in the video.
It is a similar method of detecting a couple of things like the gate of the combination lock and possibly one or more of the combination numbers out of the three digits used, and it will work on this safe in the video it shows.
Each safes lock has different parameters and a different amount of wheels that in the lock mechanism. I will have to program the auto dialer motor controller differently on my safe using different parameters as well as the data from the various current input detected for the third, second and first combination codes after locating the gate as well as in a certain order and by rotating the dial to various digits for each.
If there is a circuit available that can detect the incoming load current to provide the data I need to be able to program the motor to detect the various gates and defects within the lock mechanism as well as each digit based on the very simple current provided to the motor load while rotating then I will be ready to begin and can move forward with creating a different lock auto dialer which will not tear the lock up and should be able to open the safe in under 5 - 7 minutes at the most.

I used a Fluke 43B years ago on a similar project using a very similar motor that is shown in this video. The data I was able to read allowed me the ability to unlock and maintain the safes I worked on in 2001.
If I can locate a circuit that is can detect the same or better quality voltage changes and provide the same data that can be used and applied to this project to detect the load used and the voltage and amp changes during the lock rotation as the motor rotates each wheel until acquiring the change in the load at which ever digit the load finds the programmed signal it is looking for.
I hope a circuit or accessory is available to use with an Ardino or Rasberry Pi or a simple Motor Controller to utilize the data necessary to have a built in single system that can detect and locate the combination and be built within a contained single unit. Preventing the need to use separate power quality analyzer to hook up to the motor while the motor controller begins running a separate program based on the lock you are working on.

@zsaa2025

I have seen enough lockpicking lawyer to know that some of the more fancy locks will have false gates. If yours does not have that then you may be fine overall. Even with that said, I would recommend that in your quest to find the items to build the Auto-Dialer you are wanting that you find a tester lock that mimics either the lock you have on hand or one that is of a higher difficulty. As you would be able to not damage the one you are caring about and can write the program to detect the false gates.
It maybe that end device does not do the final unlocking. But rather would give you a readout of the gates and the relative gate feed back strengths. Then you can do the final unlock.

Unfortunately no my lock does not have the fancy false gate. I am looking at other locks to change it to that has those type features.
.

Best Regards

Lance Ledet

Hello Lance,

As I understand:

  • Operate the lock in slow motion
  • Use minimal number of turns to preserve lock integrity
  • Detect tiny changes in torque as the lock’s internal member interact

You are asking for recommendations to:

  • Detect the torque based on motor current
  • Correlate the changes in torque with a dial position

As a starting point, let’s assume this DC motor is used:

  1. We need to verify the motor has sufficient power to direct drive the safe.

  2. We need to verify that the lock members could be detected as a change in current.

  3. Since efficiency isn’t critical, recommend using a shunt resistor in the motor’s return leg and direct measurement to the microcontroller’s ADC (Microcontroller and power supply share common ground). Note that there will be challenges with start-up current and stiction in the motor’s geartrain. Also note that is a direct corollary with you Fluke experement.

  4. At this point we can use a bench DC power supply to run the motor. We can use the Arduino serial monitor to observe the current.

  5. Assuming the lock’s rotating members can be detected, the remainder of the project is constructed. This would include integrating the quadrature sensor and inclusion of a motor driver (linear?) to replace the power supply.

Estimated time to construct project is 6 to 12 months for a beginner and 3 weeks for an experienced embedded engineer.

Sincerely,

Aaron

Hi Arron,
I understand everything you. Yes it’s a DC motor preferably 12V unless you have a reason I would need to go up to 24v or otherwise?

About about using a:
quadrature sensor,
inclusion of a motor driver (linear?) to replace the power supply.

Hoping to locate a motor driver circuit that can accept the input from the quadrature sensor and as long as I can maintain a very low rpm and be able to detect the variations in current input and other variables to try to detect the changes in friction or frictionless movement changes.

Do you have any recommendations for a small linear DC motor, a driver circuit, and what type of sensor quadrature do you recommend to detect any other changes in the friction as it is rotating during a run?

Best Regards

Lance Ledet

Hello @zsaa2025,

Note that we split the thread as this is an interesting conversation all to itself.

This chicken scratch drawing captures my thinking about this project.

  • We start with an analogWrite PWM signal. It is low passed filtered and sent to an audio amplifier which drives the motor. Note that you will need to add a relay to reverse the motor (not shown).

  • The motor’s return current is passed through a shunt resistor. This voltage is monitored by the microcontrollers ADC.

  • The quadrature encoder monitors the motor’s position.

Once again, I’m not convinced that this will work. The human hand is wonderfully sensitive and capable of making fast tiny movements. The motor system may not be sensitive enough and it will be slow. The added current to accelerate the motor and overcome gearbox stiction will always haunt the programmer.

I wish you well in this project. My hope is that you or other readers will overcome by pessimism or come up with a better system - perhaps a sensitive microphone on the safe to detect the click of striking lock members.

Best Wishes,

Aaron