In this chapter we will explore the use of a single DAC channel. We will start with the simplest case – direct software control of a analog output – which is useful for creating slow moving signals that do not have to be synchronized in time. We will then explore the generation of time-synchronized signals; first with DAC module provided triangle wave generator, and then interrupt driven code to produce a sine wave. Interrupt driven operation does not scale well to high update rates – eventually, all of the processor cycles are required just to service the interrupt. Thus, we will examine the use of DMA to “feed” the DAC, with a lower frequency interrupt used to update the DMA buffer. Finally, we will define an exercise to read audio files from an SD card and play them, via DMA, to an external audio amplifier driven by the DAC.