I’m trying to sample an AC signal on the Arduino Due. The AC signal will never exceed +-80mv across a frequency range of 6-833Hz. Current is negligible.

I believe there are clamping diodes to protect from this but cannot find any datasheets for the Due.

I understand that the Due cannot read negative voltage but can a negative voltage damage the ADC or it’s accuracy?

  • 2
    Add a DC offset to your signal. Make it all positive.
    – Majenko
    Commented Sep 16, 2018 at 9:49
  • or add a diode to cut away the negative part
    – Juraj
    Commented Sep 16, 2018 at 10:09
  • Can’t use a diode because I’ll lose 0.7v. I could add a DC offset but I need high accuracy, I’d like to avoid adding any extra noise. Commented Sep 16, 2018 at 10:19
  • It's not a datasheet for the Due you need, but a datasheet for the ATSAM3X8E microcontroller on the Due, which you can download here: microchip.com/wwwproducts/en/ATSAM3X8E
    – per1234
    Commented Sep 16, 2018 at 11:08

1 Answer 1


The best thing you can do is to simply add a DC offset to your signal. Instead of having it be 0V ±80mV, have it 1.65V ±80mv. All you need is a capacitor and two resistors:


simulate this circuit – Schematic created using CircuitLab

However, 80mV is not going to have much resolution unless you reduce your reference voltage considerably, and in that case you'd need to reduce the 3.3 down to the same (or around) the reference voltage you use.

But, just feeding your signal directly into the ADC will give you the positive 80mV signal which you can use a smaller reference voltage with directly with no problem - after all, the datasheet shows:

Voltage on Input Pins with Respect to Ground (except VBUS)...............-0.3V to +4.0V

So you can provide down to -300mV on an analog input before it potentially becomes a problem.

This is because all the IO pins have ESD protection diodes, which look like this:


simulate this circuit

Those diodes have a forward voltage of about 300mV, and so anything below -300mV will cause the lower diode to start conducting. When that happens too much current can flow and the diode risks burning out. But you can add further protection by simply adding a small resistor (1kΩ is good) in series with the IO pin to limit the current in the case that the voltage goes below -300mV and protect the internal circuitry.

  • Probably leaving the scope of this question but is the 3v3 pin noise free? Obviously any noise on the DC offset voltage will add noise to the AD conversion. Also, If I use say 1v as Vref, where is the best source for a noise free voltage... the DAC? Or external? Commented Sep 16, 2018 at 10:57
  • The 3.3V can be noisy, yes, since the main MCU is being powered from it. For low-noise operation you need a low noise "precision voltage reference" chip.
    – Majenko
    Commented Sep 16, 2018 at 10:58

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.