I would use a cheap voltage output audio I2S stereo 24 bit DAC with a small 16bit or 32bit DSPic, using the PICs ADC if you want to sync to an external source reference sine wave. Search on this forum, we have already discussed making a true perfect sine and cosine waveform using only integer math available in any microcontroller with a 16 bit adder and 16 bit multiplier with access to the top additional 16 bits. Using a 24 bit stereo audio DAC running at 96Khz, you have no excuse about synthesizing a waveform which should roast anything under the sun well in-between 1Hz and 3KHz with only 2 ICs, 3.3v supply, for less than 4$ in parts. The circuit should perform well up to 20KHz.
However, you need to be able to program for microcontrollers in 'C'.
Perfect sine generator example using all integer math: (It will need adjustments for 3Hz and 24 bit amplitude)
https://www.eevblog.com/forum/microcontrollers/code-used-for-sine-table/msg1108123/#msg1108123
You wont need to store this table, just generate it on the fly...
Just 1 note, is you only need 3Hz, just use the simple floating point Sin() and Cos(), the MCUs are plenty fast today if you are only generating 2 sines with a minimum 32khz sample rate.
As for the Audio DACs, a stereo thru 8 channels I2S DAC from TI is only around 4$ today, and it internally up-samples as low as 32k source audio samples to 384k meaning less MCU processing clock cycles and no output filters.
With 24 bits, you plenty room to run a 10 to 16 bit sine with another 8-14 bits for digitally controlled deflection position alignment and amplitude. With this depth, you can also add a look-up table to correct linearity in your display/electronics.
Though, with some larger MCUs which can drive 1080p panels / or HDMI, add a 24bit ADC and you can make an all digital display curve tracer with on screen display.