He hecho una prueba de concepto para un microcontrolador ATtiny13 una vez. Puede encontrar el código aquí .
Básicamente, lo que hace el programa es leer los ocho bits superiores del ADC (pin 3) y convertirlo en una señal PWM (pin 6). Todo lo que necesita es un microcontrolador (ATtiny13 o AVR similar), una fuente de alimentación de 5V, un condensador para desacoplar la fuente de alimentación y un programador ... Para el programador, personalmente uso un Arduino de repuesto, lo que me lleva a la otra opción: usar un Arduino pequeño.