12-bit dac (mcp4726) and small amounts of supporting hardware Microcontroller and smoothed PWM.
alt
click/enter