1

I am planning to use several Arduino to produce audio range analog signals. I need to use custom waveshapes generated on the fly. As far as I understand, there are two paths:

  1. Aquiring a DAC, but can I send instructions fast enough (the Arduino needs to process the waveshape table) for audio rate signals? On a DAC like this one, I see that it supports a 100kb/s standard I2C and a 12 bit precision, so my guess is I will have 100kb/s / 12b / 10kHz = 0.8 input/period at 10kHz... Will this suffice? Or will it creates compression artefacts?
  2. Using the Mozzi library, but it seems to me it outputs through a PWM digital IO pin. As I have a lot of Arduino to process, I would like to limit the number of RC circuitry I have to solder. Moreover, can Mozzi use custom waveshapes?

If you see any other solution, you are very welcome !

Thanks in advance

asked Mar 24, 2022 at 14:36
3
  • 2
    and I2S DAC ? . Commented Mar 24, 2022 at 15:34
  • Keep in mind the nyquist rate: You need at very least 2 samples per period to make sure the resulting wave has anything to do with the real target wave. And when you want to represent the shape of the wave correctly, then you will need significantly more samples. What is the highest frequency signal part, that you need to represent? Commented Mar 25, 2022 at 9:21
  • I need to go up to 20 kHz. I will investigate the I2S path. Thanks ! Commented Mar 25, 2022 at 17:38

0

Know someone who can answer? Share a link to this question via email, Twitter, or Facebook.

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.