Correcting Waveform Centre

Hi All,

This is my first post, so first let me start by saying hello, and thanks in advance for any help.

My problem is, I am very new to arduino and I have created a simple DDS signal using my Arduino Uno, the signal works great and it currently connected to a cheap 0.5w speaker.

However, as all of my DDS reference values range from 0-255, and because my speakers ground is 0v. I assume that my waveform is positive only (and not very healthy for the speaker).

I would like to centre the AC/waveform around 0v, can anyone recommend an op-amp circuit that would achieve this (op-amps are not my strong point).

Thanks for any help.
James

Scale your DDS around 128, with positive +127 and negative -127. Than put a cap to eliminate DC offset, about 2.5V

You add 127 to all the values going to analogue write.
You did not mention analogue write in your original question.

A capicitor shifts the referance. An arduino can o ly supply voltages between it's rails directly but there is no reasion to have the gignal ground and the analogue ground at the same level.

Dodo that the arduino would have to handle voltages below its ground potential and it can not do that.
Welcome to the real world.