Many DSOs make fairly lousy display devices for a curve tracer - for three terminal active components, one often needs to step one parameter to display a family of curves on the screen, which was reasonably simple to display on a CRO in XY mode, if each curve could be swept fast enough for phosphor persistence to eliminate flicker, but on a DSO the trace intensity is usually *NOT* related to the sweep speed so the fast retrace from the end of one curve to the start of the next becomes visible. *IF* the scope has a Z (intensity) input, the curve tracer can be designed to provide a blanking pulse to eliminate this problem, but DSOs with Z inputs are fairly rare and typically expensive.
OTOH Arduinos are dirt cheap, and its fairly simple to hook a couple of DACs and >12 bit ADCs (with PGAs so they can range shift) to one. That also brings the benefit of being able to do low duty cycle pulsed measurements e.g. turn on for one ms in a second so the effect of self-heating of the device under test can be minimised, so if I was 'rolling my own' curve tracer and I wanted something better than the classic 'Octopus' type (or
variations of it), I'd almost certainly go for an Arduino based one, logging to the bench PC for display and analysis.