Solenoids are basically electromagnets: they are made of a big coil of copper wire with an armature (a slug of metal) in the middle. When the coil is energized, the slug is pulled into the center of the coil. This makes the solenoid able to pull (from one end) or push (from the other). This solenoid in particular is fairly small, with a 30mm long body and a 'captive' armature with a return spring. This means that when activated with up to 12VDC, the solenoid moves and when the voltage is removed it springs back to the original position, which is quite handy. Many lower cost solenoids are only push type or only pull type and may not have a captive armature (it'll fall out!) or don't have a return spring. This one even has nice mounting holes, its a great all-purpose solenoid. To drive a solenoid from an Arduino or any other microcontroller, you will need a power transistor and a diode. You can also use our relay boards to control the solenoid from an Arduino. You will need a fairly good power supply to drive a solenoid, as a lot of current will rush into the solenoid to charge up the electro-magnet, about 100mA, so don't try to power it with a 9V battery!