MRK WiFi 1010 DAC Usage

I need to know how to use the DAC A0 Pin. What I need to do is read in an analog and scale it and then output on the DAC A0 pin. I have been unable to find any information on how to set it up.

You can use the analogWrite function. Here is a simple example. The signal level change at a rate of around 10kHz. Without delay you get 350kHz. I used the Arduino Nano 33 IoT which is the little version of your board.

/*
  Simple DAC example

  The sketch demonstrates the use of the SAM21 Digital-to-Analog converter. 

  The circuit:
  - Arduino Nano 33 IoT

  This example code is in the public domain.
*/


#define DAC_ANALOG_RESOLUTION 10


void setup()
{
  Serial.begin( 9600 );
  while ( !Serial );
  
  Serial.println( "Arduino Nano 33 IoT - DAC example" );

  pinMode( DAC0, OUTPUT );

  analogWriteResolution( DAC_ANALOG_RESOLUTION );
}

void loop()
{
  static uint32_t loopCount = 0;

  loopCount = loopCount + ( 1u << ( DAC_ANALOG_RESOLUTION - 2 ) ) % ( 1u << DAC_ANALOG_RESOLUTION );

  analogWrite( DAC0, loopCount );

  delayMicroseconds( 100 );
}

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.