Aunque todavía es un poco pronto, creo que esto te interesa (aunque la carga estará flotando, no conectada a gnd):
Los 0 a 5V los puedes sacar de filtrar una salida de PWM del Arduino aplicandole un filtro, ya sea RC de primer orden o algo más avanzado de segundo orden.
Probablemente tengas que ajustar un poquito el valor de la resistencia para llegar a la máxima corriente (20mA) si el operacional lo tienes alimentado a 5V.