Arduino Uni-Polar Parametric Switch

  • Topic Is Sticky
  • Last Post 30 July 2018
Chris posted this 04 September 2017

NOTE: This Experiment and the contents of this post comes from the: Parametric Excitations of Electric Oscillations Thread.

For those that don't know already, way back on: 10/01/2014 I published an article:

and even earlier: 17/12/2013 an Experiment:

I have researched this technology for many years.

This is very closely related, as stated above, to an AC "Generator". The AC "Generator" is a dynamic System, changing in Time, not Static.

Some simple work to try to make simple the requirements:

"***   Arduino Uni-Polar Parametric Switch V 1.0   ***"

I am using a few simple and very cheap components to detect peak current and trigger an On Pulse with in this time frame.

Early tests show some progress:



There will be limits to my work, Read Time on the Analog Sensor will restrict the upper most frequency. 

Arduino is a great platform to experiment with, it is powerful and it is cheap. One could do this for only a few dollars!

Very simple Circuits:


The Push Button is an Automatic Calibration, a 10 second sampling of the Current Waveform, finding the Peak Current and Switching in just after that. So device On, push button, 10 seconds of Current Sampling, then the Parametric Switch will activate after that.


  • Arduino Uno/Duemilanove Board
  • ACS712 Current Sensor Module
  • Push to Connect Button
  • 10K ohm Resistor


A Circuit I am playing with, Low Frequency:

Its worth noting that this is almost exactly the same as the Graham Gunderson MIT, in the way it works.

The Arduino Sketch is attached below. Please beware, this is early work and may change at anytime.


Attached Files

  • Liked by
  • Zanzal
  • cd_sharp
Order By: Standard | Newest | Votes
cd_sharp posted this 28 July 2018

I've just found this post. Thanks for sharing. This is amazing work.

Can it be used to switch on 2 MOSFETs one at a time with let's say 0 - +/-20 V at the gate?

  • Liked by
  • Chris
Chris posted this 29 July 2018

Hey CD,

Arduino is 5V out max, so no to the 20V question. Extra Circuitry will be required.

I am glad your'e finding this helpful, it was posted here for a very good reason. Revisiting the Graham Gunderson MIT, the best Above Unity Demonstration I have ever seen, this can give some insight to detecting and switching at maximum Current.


cd_sharp posted this 29 July 2018

Hey, Chris,

I have no experience with Microchips. After a quick read I understood that Arduino boards can be programmed to output even 3 or 4 voltage traces if needed, on separate pins. Is this correct?

The 5V output can be easily raised with a voltage multiplier circuit from what I read.

This entire solution does not look hard or expensive at all. Maybe I don't see all the drawbacks yet.

Vidura posted this 29 July 2018

Hi cd The arduino as other microcontrollers can provide various different output signals and process varios input signals, the requirements are only to learn some basic programming, the hardware is ceap. Regarding the output when using mosfets it is recommended to use mosfet driver IC , its simple and more effective , for example the1407 ic works up to 18v input and has good frequency response. One drawback of the arduino is the time delay of the A/D converter. It converts your analog inputs in digital format and operation frequency is limited.

cd_sharp posted this 29 July 2018

Hi, Vidura!

I don't have an electronics background, but I'm willing to learn. What Graham Gunderson did requires electronics skills. I thought that by using Arduino board would be much easier than using an IC.

I don't know how to use an IC with an ACS712 module to switch a MOSFET on at peak current. If you or anyone else here have the electronics knowledge to achieve that, please guide.


Vidura posted this 30 July 2018

Cdsharp, The acs712 is a current sensing module for the arduino ,which provides the signal for the timing of the output pulse. The 1407 chip is a dedicated mosfet driver (there are many others available for different applications), which you can connect to the output of the arduino board or use in any other circuit you are building.It will improve the switching performance of the mosfet, specially In high frequency operation,or when the signal have a too low voltage.