Relay / Solenoid IO Driver:

Low voltage supply with higher voltage relay coil

Jinx says:

...you might like this little "junk box" circuit that's helped me out a couple of times when I've had only a 5V supply and only a 12V relay.

Relays will hold at a substantially lower voltage than it takes to energise them. The circuit shown uses a cap to initially supply the relay with twice the 5V. When the transistor turns on, -5V appears at the bottom of the coil, which thus sees 10V across it. This is enough to energise the relay and once the cap has discharged, the "5V in" will hold it. Relays have such a wide operating voltage for the coil that a 12V should work in this circuit (the ones I had were quite sensitive), as its actuating range could be 8.5V to 15V. Apart from needing only a 5V supply the other advantage is that the holding current is much lower than the nominal actuating current at 12V that most of us would power a 12V relay with.

Once you've determined what the hold current is, it's more than likely that the "5V in" could be just one or two PIC o/p pins. That was the case for the 68HC705K1's I tried this on. Note that "5V" is the supply. Some components may need to be altered to suit, but this seems to be a pretty average circuit. The "off" current is mainly leakage, a few uA.

Perhaps the only situation this circuit couldn't be used in is one that has a LOT of vibration or shock, as the hold magnetism is weaker than when the relay is actuated by its nominal voltage.