Go Down

Topic: Singe to dual level translation (Read 398 times) previous topic - next topic


Dear all, good day,

In my project I have a dual +-2.5V supply for the analog part that I am willing to use as I am space constrained. I will be using also Mega2560, which is operating on 5V. As the net difference of the dual supply is also 5V, I will connect the arduino GND to the -2.5V rail and VCC to the +2.5V rail. AREF could be to -2.5V rail as well, because all my analog signals will be +-1V max in reference to the ground rail. So far looks fine, but when I try to use the digital pins for I2C communication or relevant, it will go HIGH=+2.5V and LOW=-2.5V. Problem is that all the rest of the devices are operating on a single supply +2.5V and will accept HIGH=+2.5V and LOW=0V, cannot accept -2.5V. This could be overcome by using a resistor, connecting the digital pin of the Mega2560 to 0V. Do I need to change any fuses? Any suggestions on another way to shift the level of the ground? All level shifters seams to assume the ground is common between the input and output...


I would use an opamp with the -2.5 and +5 rails as its supply as a level shifter. One per analog input.
"The problem is in the code you didn't post."


If your requirements are really so strange, then you need level shifters.

Else you could use 2.5V or 5V for the entire digital part, and -2.5V for the anlog part or your project.

A Pro Mini is perfect for restricted voltage and space.

Go Up