So let's say I use a store-bought TENS unit for liability. I want to make a challenge where you need to hold on to the TENS unit for 10 seconds before it activates a solenoid. How can I have an Arduino detect if someone is touching some metal posts connected to the unit? Would I need to measure the current for the tens unit or something? Any ideas/suggestions? Thanks!

Edit- Not sure if this should be in Arduino or Electrical Engineering, feel free to move it.

  • @jstola one of those things you connect to your body with sticky pads that shocks you and contracts your muscles. They are supposed to help with muscle pain and such. So basically it shocks you safely.
    – Randomaker
    Commented Feb 22, 2021 at 16:25

1 Answer 1


I think the main problem here is that you want to measure in the presence of high voltage from the TENS. Not having experience with TENS circuits, I would suppose that their contact pins are connected to the high voltage source through resistors to limit the current. (Or some equivalent current-limiting scheme.) If so, the voltage between the contacts should drop when there is a person connected. You should be able to detect that drop with the Arduino. The "obvious" approach would be to use voltage dividers to reduce the no-load voltage to less than 5V so the Arduino ADCs can handle it. You'd need high-value resistors in the dividers so they don't load the TENS... maybe 1 Megohm or more for each divider. One problem with this simplistic approach is that the TENS is putting out its stimulus using brief pulses, which may be too quick to catch with the ADCs. To get around that, you'd feed the output of each divider through a diode to an R-C filter. (Note that you need the diode anyway, since the TENS output is probably AC and the Arduino ADCS only want DC.) This may take a fair amount of experimentation to get the values right, which you should do without the Arduino... just a DVM or scope that you can start at a high-voltage range until you sure you have everything worked out to 0-5V.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.