Toolarm assembly

Toolarm mk2 - Tool reminder/alarm

Contents:

Overview:

Do you have a favorite and much-used tool? One which you always keep at hand? One which you reach for automatically and without thinking in a variety of situations? Have you found yourself doing so, only to find an empty space, because you forgot to put it back last time? And discovered that remembering where you used it last was all the harder because this tool has become so much an extension of you, that you use it almost unconsciously?

This description definitely fits me and my Leatherman multi-tool. So much so, that the last time I discovered that empty holster, I decided to do something about it. Thus was born Toolarm. It is a slim box that sits alongside my Leatherman and, if the Leatherman is out of the holster for more than ca. 5 minutes, starts beeping.

Update: The version of Toolarm described here is the mk2. Links to the original circuit diagram and firmware are also provided, for those that may have started construction of that. The improvements of the mk2 are; a) better battery life, mostly because of a bigger battery, but also because of firmware tweaks, and b) user selectable delay before beeping, from 5 to 40 minutes, in 5 minute intervals. Note that the mk2 firmware will only work with the mk2 circuit.

The Toolarm design, circuit diagrams, firmware and other materials provided here are copyright (c)2011, Kári Össurarson. Explicit license is given to everybody to use them for personal, non-profit, and/or educational use.

I would be more than happy to hear from you if you find Toolarm useful. For that matter, I would also be happy to hear from you if you are having problems with it and therefore don't find it useful. Bear in mind though, that all assistance and support that I can provide will be done in my spare time, so you might need to be patient. Also, I cannot provide any parts, kits or complete units.

Circuit diagram

Here is the circuit diagram. Click here for the mk1 version. It's a simple circuit, consisting of a battery, switch, microcontroller, sounder, resistor and a jumper block. Note that the components used were those I had at hand in my parts bin, so some of them might be a bit difficult to get hold of.

The sounder, in particular, may not be all that common. It's a QMB-12 from Star Micronics, and is described as a "magnetic sounder", which means that it is really a miniature speaker, complete with voice coil, but with a narrow frequency response (an online reference suggested 2048Hz for this device, and that was what I went with). If you replace the sounder with a different one, I would recommend a piezo unit and getting rid of the series resistor, which is only there to limit the current draw to what the PIC can handle. Piezo sounders have high impedance and are very efficient, and should give better battery life than this one. Note that some piezo sounders have a built in oscillator and operate from a DC source. Here, you would want the standard AC type, with a resonant frequency close to 2kHz. Other frequencies can be used, but will require firmware modification. If you go with a magnetic sounder/speaker of a different type, be sure to check it's impedance. If it's lower than 80 Ohms, you will either have to increase the value of R1 (wasting more power), or build an amplifier (buffer) for it.

The resistor is there to reduce the current drawn by the sounder to what the PIC can handle. It is a standard 1/4W carbon or metal film type.

The heart and brains of the circuit is a PIC12F683. Of course, this circuit only uses a fraction of the capabilities of the chip, and there is a bit of a "flamethrower to kill a fly" thing going here. On the other hand, it is cheap enough, and while it is of course possible to achieve the basic functionality without any microcontroller, say, with a couple of 555's, the component count would be much higher. Note that you will of course need to program the microcontroller with the firmware to make this a useful circuit. As it happens, this was a trial run for a new programmer I just got from Futurlec, and which I can recommend. (The manual may prompt some head scratching, but I won't be growing caustic about it until I can produce something better in Thai. Besides, the programmer emulates Microchip's own PicKit2, and uses the same software, so the manual isn't really needed.)

The battery is a single "1/2 AA" size lithium primary cell, with a nominal voltage of 3.6V. The mk1 used 2 LR-44 alkaline button cells, which were soon depleted. The 1/2 AA is not a very common size, but other lithium primary cells should work, f.x. "camera batteries" like CR-2 or CR-123. My battery came with solder terminals, so no battery holder was required.

The switch is a bog standard single pole change over microswitch. The only thing special about it, is that this one has fairly long lever, which I bent so that it would be pushed down by the Leatherman (see pictures).

The jumper block is used to set the delay before beeping. With no jumpers present, the delay is 5 minutes; with all three jumpers it is 40 minutes. The formula is 5*(n+1) minutes, where n is set with the jumpers. Jumper at pin 7 has a value of 1 (LSB, Least Significant Bit), jumper at pin 6 has a value of 2, and jumper at pin 5 has a value of 4 (MSB, Most Significant Bit). Add together the values of the jumpers present, and you have the value of n. The jumper block can be implemented in the normal way with a double row pin header and standard jumpers. In my case, I didn't have a header at hand, so I soldered some wire links that I could cut away (see pictures). You could also just use solder bridges.

When Toolarm starts, it will give one short (1/8 of a second) beep. This is repeated every 5 minutes during the delay. When the delay is over, it will give a one second burst of short beeps, pause for one second, and then repeat, ad infinitum. Note that all timing is based on the PIC's internal oscillator, which may have up to 2 % deviation under normal circumstances, and up to 5% in temperature extremes. This should not matter for this application though.

Construction:

Construction will, of course, depend on where and how you are going to use this. The following is just my implementation.

Component arrangement

Here are the innards: Sounder, microcontroller, wire links ("jumper block") at the microcontrollers side and resistor peeping from underneath, battery, switch. The enclosure (see first picture) is one of those pill-organizers that you can get to help you remember whether you have already taken this morning's dose of pharmaceuticals.

Wire links cut

And here two of the wire links have been cut away, leaving the device set to 10 minute delay.

Outer enclosure

Here Toolarm is with the outer enclosure. This was made from a plastic box that used to hold paper clips, and has the purpose of protecting the switch lever and providing it with space to move in the holster. Note that this picture is of the mk1 version, with button cell batteries.

And here you can see how the Leatherman slides down beside Toolarm and holds the lever down. Also notice the hole drilled near the top of the enclosure as a port for the sounder. Don't notice the hole drilled by a mistake at the other end of the enclosure.

Finally, here is everything in my battered old holster. It's a bit of a tight fit, so I will probably be replacing the holster soon, but it works.

Downloads:

  • toolarm2.HEX - This is the firmware you need to program to the microcontroller.
  • toolarm2.asm - This is the firmware source code, in case you want to tinker with it. You can compile it with the Microchip MPLAB software.
  • toolarm.HEX - This is the mk1 firmware. Note that the firmware mark has to match the circuit mark.

(Right-click links and select "Save as..." (or whatever your browser calls it) to download.)

Have fun.