The Adafruit MCP4728 breakout board has four 12-bit DACs with internal EEPROM. The non-volatile memory enables the DAC settings to be saved permanently and loaded immediately after switching on. With the help of the MCP4728, two sources can be used for the reference voltage: the input voltage at VCC or the internal 2.048V reference. The internal reference voltage can optionally be increased by a factor of 2, so that the output voltage range is between 0 and 2.048V or 4.096V. The default is to use the input voltage as a reference, for which the output voltage can be set between 0 and VCC. The board is controlled via the I2C bus and can be done with any microcontroller. The SparkFun Qwiic resp. STEMMA QT compatible JST-SH connectors make it easy to connect the MCP4728 to your project and all.