Controlling internal DAC AT90PWM3
Digital voltage control GND to Vcc with 10-bit resolution displayed on two SLO2016 alphanumeric LED displays
Download the AT90PWM3 datasheet.
Download the SLO2016 datasheet.
Part list

1x AT90PWM3-16SQ
2x SLO2016 LED display
1x 22uF/25V elco SMD
2x 0.1uF/16V tant. 1206
2x 10 kOhm 1206
3x 100n multilayer 1206
1x coil 10uH SMD
1x rotary encoder (Sharp)
Digital voltage control unit

This is how a value is stored into
the DAC registers.
First you have to set the voltage
reference (REFS0=1 and REFS1=0
means internal reference), which is
the same as the ADC reference,
and then enable the DAC and the
DAC output.

ldi temp, (1<<REFS0)
sts ADMUX, temp
ldi temp, (1<<DAEN)|(1<<DAOE)
sts DACON, temp

Now you can set a 10-bit value in
e.g. the Y registers and output on
pin D2A of the AT90PWM3.

sts DACL, YL
sts DACH, YH



1. etched and tinned pcb 2. solderside with AT90PWM3 3. the assembled unit


Controlling the DAC of an AT90PWM3