Stabilize position of laser beam in real time

Hi all

I'm new to Arduino and digital real time control so, apologies in advance in case I write anything odd/wrong.

We have an analog control system that we use to stabilize the position of a laser beam. Briefly, it works as follows:
we split part of the beam and image it onto a quadrant array with 4 detectors located at the corners or a square.
Each detector outputs a signal proportional to the light intensity impinging on it. The 4 signals, one from each of the 4 detectors, are fed to a compensating board that computes the difference of signals from 2 non-adjacent detectors, normalized to their sum. The two resulting signals, indicating how far the beam moved from the center of the square along two orthogonal directions, are fed to appropriate drivers that drive two galvo-mirrors that rotate along those two directions and which, in turn, steer the beam bringing it back to the center of the square.

We'd like to make more complicated mathematical operations than a normalized difference, so we're looking into the possibility to upgrade our analog control system to a digital one.
The galvo-mirrors do not respond at frequencies larger than 1kHz or so, while the detector's bandwidth is a few hundreds of the mirrors set the fastest response.
Which board would you recommend? Do we need a RTOS?

Any advice is appreciated


No OS of any kind is required. Gorget that they exist!

Any of the Arduinos should be able to do the job, start with the Uno.


You didn't mention spec. for sensors, are there amplifiers? What is the voltage? How do you drive mirrors, H-brisge? Current, voltage?

I would always recommend a Uno to start with, unless you know it's capabilities are going to be exceeded. It sounds like it is straight forward. The two analogue readings can be done at a rate of 5KHz leaving you 0.5 mS to do the sums.

Thank you all for your answers, we'll start with the UNO and see how that goes.

@Magician. We currently do not have amps for the sensor as its output voltage is large enough. The mirrors are driven by GSI AX-200, the compensation circuit works within 10V.