Educational scanning Michelson interferometer

I am setting up an experiment for Physics undergraduates, which is basically a scanning Michelson interferometer as a replica of a gravitational wave detector.
I would like to use Arduino as the core electronics that control all the experiment, both for simplicity, price and for the open-source philosophy behind.
More in details I need:

  1. Optical Detection:
    I will assemble a simple amplification circuit of a silicon photodiode to measure ~1mW of red laser light with a time resolution of ~1 kHz

  2. Simple oscilloscope: a voltage reader to read the signal from the photodiode (I will try the Arduinoscope

  3. Piezo scan: I will glue a mirror on a scanning piezo to change the length of interferometer by 1-2 microns with a resolution of ~50 nm.
    I could use STr25/500/6 (see attached pdf)
    but it needs a voltage amplifier (500V) and a function generator to drive it (a 500 Hz sine wave would do).
    This could be achieved by a commercial piezo driver like the LE150/100 EBW which will cost ~3-4000 euro (see attached pdf)

I guess that 1 and 2 can be done easily with an Arduino, do you think that also 3 can be done?

piezo_based_optomechanics.pdf (972 KB)

electronic_supplies_for_piezomechanics_technical_data.pdf (1.15 MB)

and a function generator to drive it (a 500 Hz sine wave would do).

The basic arduino has no DAC so it cannot create a sine wave itself so you need an external DAC (e.g. from

If you want an arduino to generate a sine wave of 500Hz it needs to send all individual values to the DAC. if you want a smooth sine you need lets say 360 values per wave making 180.000 signals per second!! This is on the edge of what is possible with arduino -> Use lookup tables, no float math etc

I think I will use the Arduino DUE which has two DAC.

Regarding the speed, I should probably settle for 100 Hz then... Instead for the data acquisition I have read that 10kHz are possible, do you agree?

I don't know the specs of the DUE, but an UNO is able to do the 1000 analog reads per second, for a DUE it would be even more possible.

be aware that the DUE does 3.3Volt (IIRC) where the UNO does 5V.

Perfect, so the sinewave and the reading at 1kHz are ok. The Arduino DUE has two DAC, but I cannot find the maximal practical voltage reading speed.

Do you think that it is possible to make a stable voltage amplifier to 500V? as commercial electronic cost various 1000s euros I am wandering if there is something I am neglecting...

Cheers! R.