I found a little safe box in the garbage some time ago and I would really like to open it. The box features some dents and scratches that show some people tried to open it in the past but did not succeed. Also, when shaken, it produces some interesting noises that indicate it is not empty and may contain a valuable treasure some cool junk.
Of course, there are many ways of achieving this (e.g. cutting holes into its walls, removing the hinges, hiring a locksmith) but I do not want to break the safe, nor do I want to hire anyone to do it in my place. Inspired by so many movies, the first thing I tried was to listen to the (nonexistent) clicking of the dial as it turns: it did not work at all.
Very quickly, I decided that the appropriate way of doing it (given my set of skills) was to have a machine do it in my place. So, I decided to build a little manipulator that will test all possible combinations of the safe until it opens up.
Since this requires precise positioning, I thought a servo motor would be the best choice of actuator (and also because I have some other project ideas involving servos).
- Pololu Micro Serial Servo Controller
- Hitec HS-425BB Servo Motor
- Male and female headers
- Power adaptor (4 to 6 VDC)
- Heat shrink tubing
- USB to Serial cable
- 2 gears and a spindle (one four times larger than the other, I got mine from an old photocopier)
- A project box (in my case, an old computer power supply case)
- A bottle cap and an old heat sink
- Steel wire (e.g. form an old coat hanger)
- Magnets (the stronger the better)
- Various screws
- Rotary tool (Dremel)
The How and the Why:
I chose the Pololu servo controller since it is easy to interface by either using a computer or a simple microcontroller. Also, I already own a USB-to-serial cable (that I normally use to program the Arduino) that I can use to send commands to the controller.
The choice of the servo motor was based in getting the maximum torque at a reasonable price.
Since, usually, servo motors have a motion range slightly greater than 180 deg, I decided to use gears to be able to produce a motion range large enough to operate the safe (at least two full turns).
I used an old heat sink and cut it with the Dremel in order to produce a bracket for the servo and a mounting hole for the secondary (smallest) gear axle.
I attached the larger gear to the servo directly using the brackets and screws that came bundled with the motor. Also, in order to hold the shaft in place, I used e-style retaining rings and spacers (other dummy gears and shoulder washers) in order to match the grooves already present in the shaft. Of course, I got all these handy mechanical parts from an old photocopier I found in the garbage.
In order to couple the small gear to the safe dial, I used a bottle cap which fitted perfectly over it. The cap has some child proofing which provided a firm grip for the dial.
Once the assembly was done, I mounted it into an old power supply box. Although the box required some drilling and cutting, it was very easy to adapt. I would recommend using this type of boxes for other projects since they are sturdy and easy to machine.
So to include the electronic parts into the box, I used a small plastic capsule (that must come from the time when my young brother liked those little toys they sell in a dispensing machine). In the capsule, I placed the Pololu servo controller, the USB to serial cable and the servo motor cable, and the power supply cable.
I needed to adapt the USB to serial cable in order to match the pin-out on the controller. For this, I used a male and a female header, and some wire. I connected the GND and the V+ pins to their respective counterparts, and the TX pin to the Serial-in pin.
In order to supply the appropriate power, I used an old cellphone charger and I replaced its original connector with a female header. As always, it is good practise to isolate the electrical connections with some heat-shrink tubing.
The (disappointing) outcome
Once everything was done, I fixed the new little machine to the safe and got ready to get it trying codes. I used a coat hanger and some rare earth magnets in order to hold the cracker firmly in place.
To my great disappointment, I realized that the gears I used provoked a (much expected) torque reduction. This meant that the system is not strong enough for turning the dial to a set position reliably. No matter how much lubricant I used, the dial was too stiff for the little robot.
This represents a (temporary) victory for the safe, but the war is far from being over.
I decided to publish these results in spite of my failure since too often we read reports of success (notably in science) and often forget that we can learn from failures as well. Never do we read about scientits proving their original hypothesis wrong, but very often, documenting those mistakes could prevent others from doing the same.
Finally, for those wondering how I was planning to pull on the safe lids so it opens, it is remarkably simple: since the safe does not have any handle to latch it closed, I merely need to hang it from its handle and try the codes until it opens and the bottom part goes down.
Finally (this time for real), I cannot say too much about my next plans on attacking the safe, but be sure that they involve a stepper motor.
I would like to thank the great people at RobotShop for providing the Pololu Micro Serial Servo Controller and the Hitec HS-425BB Servo Motor. As I mentioned before, they will be sponsoring a set of projects here at Carlitos’ Contraptions in the foreseeable future.
They were also kind enough to quickly ship a replacement gear set when I ruined the original one on the servo motor by hand forcing it to turn (I know, I sound brilliant).