Algunos de los AVR tienen DAC de 12 bits bastante decentes. Simplemente puedes cambiar el cero usando un amplificador operacional. Digamos que su referencia de DAC es de 2.5V, entonces usted podría cambiar la salida por una entrada de -1.25V referida para obtener una señal de salida bipolar con salida de 0V a 0x800.
El enfoque general sería algo como esto:
simular este circuito : esquema creado usando CircuitLab
Simplemente lance un poco de álgebra, por ejemplo, para Vref = 2.5V y la salida deseada de -4.0V a + 4.0V puede seleccionar Rf = 10.0K, luego R1 = 6.25K y R2 = 16.67K.
El circuito anterior no carga la salida DAC, pero presenta alguna carga al Vref. Si no es una impedancia muy baja, podría usar otro amplificador operacional en un dual como un búfer de ganancia unitaria por lo que Vref tampoco está cargado.
Por supuesto, su amplificador operacional requiere suministros bipolares o no le dará una salida bipolar.